Subtl is a powerful, modern desktop application designed to help you edit and manipulate subtitle files with ease. This project is a complete architectural rewrite of the original Subtl, built from the ground up with Python and PySide6 to provide a more flexible, robust, and user-friendly experience.
The new Subtl features a sleek, Chrome-inspired tabbed interface, allowing you to work on multiple subtitle tasks simultaneously in a clean and organized workspace.
This rewrite introduces a completely new architecture focused on usability and extensibility:
- Modern Tab-Based Workflow: Open multiple tools at once in separate tabs. Each tab manages its own context and navigation history.
- Custom Frameless UI: A polished, custom-drawn interface, including a draggable title bar and window resizing, provides a seamless, modern look and feel.
- Integrated Tool Dashboard: New tabs open to a central "Dashboard" where you can easily browse and launch any of the available subtitle tools.
- Per-Tab Navigation: Each tab has its own back and forward navigation history, allowing you to move between the dashboard and your opened tool effortlessly.
- Extensible Tool Architecture: Tools are managed centrally, making it simple for developers to add new subtitle manipulation utilities to the application.
- Customizable Theming: Easily switch between different visual themes (e.g., Dark, Light) to suit your preference.
Subtl provides a suite of tools to handle your subtitle editing needs.
- 📏 Minimum Length: Adjust the minimum display time of subtitles.
- 📏 Maximum Length: Adjust the maximum display time of subtitles. (Placeholder)
- 🔗 Merge Lines: Combine multiple subtitle lines into one. (Placeholder)
- ✂️ Split Lines: Split long subtitle lines into two. (Placeholder)
- ⏰ Subtitle Shifter: Shift subtitle timings forwards or backwards. (Placeholder)
- 🔄 Subtitle Converter: Convert subtitles to various formats. (Placeholder)
- 🌍 Multilingual Merge: Merge subtitles from different languages. (Placeholder)
(Note: While the framework is complete, many tools from the original application are currently implemented as placeholders and will be developed in future updates.)
Installers for Windows, macOS, and Linux are coming soon. In the meantime, you can run the application from the source code.
- Clone the repository:
git clone https://github.com/your-username/Subtl.git cd Subtl - Install the required dependencies:
pip install PySide6 qtawesome
- Run the application:
python main.py
- Launch Subtl: An initial window will open with a single "Dashboard" tab.
- Open a Tool: From the Dashboard, click on the button for the tool you wish to use. The tool's interface will load within the current tab.
- Navigate: Use the Back (
<) and Forward (>) buttons in the top-left to navigate between the Dashboard and the tool within the active tab. - Work with Multiple Tools: Click the Add Tab (
+) button to open a new Dashboard tab. You can then launch another tool, allowing you to work on different tasks in parallel. - Manage Tabs: Switch between tools by clicking on the corresponding tab. Close a tab by clicking the
xicon on the tab itself.
We welcome contributions from the community! The new modular architecture makes it easy to add new tools or improve existing ones.
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeatureName). - Implement your feature or bug fix. To add a new tool, create a new
QWidgetclass for its UI and register it intool_manager.py. - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeatureName). - Open a Pull Request.
Subtl is licensed under the MIT License. See the LICENSE file for more details.
- Built with the amazing PySide6 (Qt for Python) framework.
- Icons provided by the QtAwesome library.
- Thanks to all future contributors who will help make Subtl even better.
Subtl is developed with ❤️ by SubtlDevTeams. Happy editing