machinewrapped / gpt-subtrans

Open Source project using LLMs to translate SRT subtitles
Other
310 stars 36 forks source link

Rework of the command queue and project actions structure #184

Closed machinewrapped closed 3 weeks ago

machinewrapped commented 3 weeks ago

Lots of organisational changes - commands now run in parallel by default, with a new StartTranslationCommand to provide a sync point and manage the scheduling of individual TranslateScene commands. Providers can now indicate whether they support multithreaded translation (with their current settings).

Removed the PerformModelAction mechanism and let UI components interact directly with ProjectActions, which can in turn interact directly with the command queue. Signals are used to report activity to the UI to update the toolbar and status bar, etc. The status bar is now more verbose about what is happening on the command queue.

Lots of extra locks to protect against concurrent access of the project / subtitles... translation flow is still not strongly protected.

Removed the background save thread, which never actually worked and wasn't a very good idea. Schedule explicit save commands regularly instead.