Commit Graph
25 Commits
Author SHA1 Message Date
itsmattkc 02909c6ba9 statusbar: added basic task UI feedback without requiring the task
manager to be open
2020-03-03 01:50:51 +11:00
itsmattkc 866db58965 taskmanager: use deleteLater rather than delete
This doesn't solve a known issue, but is probably cleaner/more robust code
regardless.
2020-02-23 11:45:16 +11:00
itsmattkc f769e88e6d taskmanager: restore one task per thread at idlepriority 2020-02-21 14:21:32 +11:00
itsmattkc 5a070f14de general: use IdlePriority rather than LowPriority
Fixes a number of playback stuttering and general UI lag issues by setting all
background tasks to IdlePriority rather than LowPriority. While it was assumed
LowPriority tasks would always get scheduled below NormalPriority (e.g. main
thread) tasks, it turns out this is not always the case. If the background tasks
start consuming a lot of CPU cycles, the scheduler may use "dynamic scheduling"
to schedule them above the main thread regardless leading to UI lag. This is
apparently the case for all thread priorities apart from IdlePriority, which
is allegedly a special case where threads are *only* scheduled when other
threads aren't busy ensuring the main thread stays responsive.
2020-02-20 17:48:50 +11:00
itsmattkc e68e89c40b renderer/decoder: use same background mechanism to conform audio as well 2020-02-19 16:45:34 +11:00
itsmattkc c0d42c4fda taskmanager: fixed typo and restricted taskmanager to one task at a time for now 2020-02-17 02:11:04 +11:00
itsmattkc 21755c7f20 taskmanager: ensure task is finished before deleting it
Fixes race condition that could result in a segfault if a Task hadn't emitted
Finished() before it was destroyed by TaskManager.
2020-02-16 13:01:38 +11:00
itsmattkc e93c3d4ce4 taskmanager: try to start next waiting tasks when a task finishes
Fixes bug where tasks would get stuck indefinitely.
2020-02-16 10:28:34 +11:00
itsmattkc 3efbcc28ef ffmpegdecoder: improved index reliability 2020-02-15 23:39:33 +11:00
itsmattkc 653709dc84 try to index media immediately on import
Since indexing is supplemental, it can be made a background task that can occur
at more or less any time. So we run it as soon as possible.
2020-01-17 03:58:29 +11:00
itsmattkc 61c60e00d6 various small code cleanups and improvements
Largely refactoring work to make the code somewhat nicer to work with.
2019-12-26 19:00:08 +11:00
itsmattkc c0f6ee534a minor code cleanups 2019-08-09 10:43:14 +10:00
itsmattkc a9ff2389e6 minor code cleanup 2019-07-06 21:17:19 -05:00
itsmattkc 3038af3482 tasks are shared ptrs that can be cancelled and undone 2019-07-06 13:22:47 -05:00
itsmattkc 0966b62f29 various improvements to import process and project management 2019-07-01 15:40:09 -07:00
itsmattkc 026c500802 minor improvements to css 2019-07-01 11:08:14 -07:00
itsmattkc 8e006f3883 automatically delete tasks that have completed successfully 2019-06-30 12:28:40 -07:00
itsmattkc 2e6b36b2ae remove UI objects when a task is deleted 2019-06-29 02:30:42 -07:00
itsmattkc 84720b39cb simple UI for tasks 2019-06-29 01:42:07 -07:00
itsmattkc 1a25a14a61 tasks have dependencies 2019-06-28 10:57:25 -07:00
itsmattkc 76eaee65e0 documented task manager 2019-06-27 11:23:17 -07:00
itsmattkc bf9dd68d58 task manager will trigger new tasks as old tasks end 2019-06-27 11:11:49 -07:00
itsmattkc 8117e13c15 base task and taskmanager class 2019-06-27 11:03:08 -07:00
itsmattkc e435f6ee83 licenses for task source files 2019-06-27 09:46:29 -07:00
itsmattkc f0f74e0f3b created task manager classes 2019-06-27 09:45:45 -07:00