ELITE EDITOR is a professional desktop video editor built with Python, PySide6 (Qt Widgets), and MoviePy. It aims to provide a real, production-grade editing experience with a modern UI, signature-driven effect controls, real drag-and-drop, integrated preview and render pipelines, and AI-assisted features. Status: โ๏ธ Active development (dev)
- Real MoviePy-based effects and composition (no placeholders) ๐๏ธ
- QGraphicsView-based timeline with draggable/resizable clips and snapping โ๏ธ
- Signature-driven Properties Panel that auto-generates controls from MoviePy callables ๐งฉ
- Low-res preview renderer (fast iterations) + subprocess renderer for full exports โฑ๏ธ
- Theming and persistent project format (.eep) for portability ๐พ
- Planned & partial AI integration using Gemini for timeline insights and generation ๐ง
Quick Start (Windows) ๐
Prerequisites:
- Python 3.11+ (recommended)
- FFmpeg (installed and discoverable via PATH)
Clone the repo and prepare a Python virtual environment:
git clone https://github.com/pro-grammer-SD/EliteEditor.git
cd EliteEditor
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
Run the app:
If you see a splash and a window, the app is running โ welcome! ๐
Development (for devs) ๐ ๏ธ
This project is actively in development. Follow these steps to contribute or run locally:
- Create a virtual environment and install dependencies (see Quick Start).
- Use a code formatter and linter before committing (e.g. black, ruff).
- Run the application from the repository root using python run.py.
- Unit tests (when available):
# Example (if tests exist)
pytest -q
Dev notes:
- Config, cache, and projects are stored under your user folder (e.g. %USERPROFILE%/.eliteeditor/).
- The bundled font is located at font/font.ttf and the app attempts to load it at startup.
- The main application entrypoint is run.py.
Architecture & Key Files ๐๏ธ
- core/ โ core data models, project & registry systems (MoviePy reflection, timeline markers)
- ui/ โ all Qt widgets (timeline view, panels, main window, style files)
- rendering/ โ preview & subprocess renderers
- ai/ โ Gemini integration scaffolding and AI helpers
- timeline/ โ timeline & clip models used by the UI
- requirements.txt โ pinned Python dependencies
Configuration & AI Key ๐
- The app reads configuration from the project-specific files and a global config under ~/.eliteeditor.
- To enable Gemini AI features, set an environment variable named ELITE_EDITOR_GEMINI_API_KEY or enter your key in the Settings โ AI panel at runtime.
Note: Gemini integration requires the official client and an enabled API key โ the app will gracefully disable AI features if no key is present.
- The UI styling is loaded exclusively from ui/style.qss (or ui/style_light.qss for light theme). The stylesheet should be the single source of truth for look-and-feel.
- The bundled font is at font/font.ttf. The app attempts to load this font at startup; if it fails it falls back to the system default.
We welcome PRs and issues. Please follow these guidelines for contributions:
- Open an issue describing the bug, enhancement, or feature idea.
- Create a topic branch off main named like feat/some-feature or fix/issue-xyz.
- Write tests for new behavior when applicable; keep changes focused.
- Run linters and formatters, then open a PR and reference the issue.
Be civil and constructive โ we prefer clear, respectful communication. ๐ค
Troubleshooting & Tips ๐
- If the custom font doesn't appear, check the logs for font loading messages and confirm font/font.ttf exists.
- If styles appear missing, ensure ui/style.qss is present and readable; the app reads the QSS file at startup and applies it globally.
- For render/export issues, verify FFmpeg is installed and reachable via PATH.
License & Code of Conduct ๐
This repository uses an open-source license (update as needed). Please include a short LICENSE file in the root.
We expect contributors to follow a respectful Code of Conduct.
If you need help or want to request features, please open an issue on this repository. For quick dev questions, add a note to the issue and tag maintainers.
Thanks for checking out Elite Editor โ contributions are welcome and appreciated! ๐