- Nov 23, 2020
-
-
Romain Vimont authored
This avoids small freezes of the UI thread.
-
Romain Vimont authored
Make the list cache use an async task for executing the count() call.
-
Romain Vimont authored
Make the list cache use async tasks to load the data asynchronously (and notify data changes once available).
-
Romain Vimont authored
This helper will help implementing asynchronous database queries initiated on the UI thread by list models.
-
Romain Vimont authored
The database queries, initiated by list models, must be executed asynchronously (on a thread different from the UI thread). When a list model is destroyed (from the UI thread), some database queries might still be executing. It would be incorrect for the list model to wait for them (it would block the UI thread), so they must be executed on an external thread pool. Since the queries themselves require the medialib to be executed, they must not outlive it (or the asynchronous code might crash). Therefore, the right scope for executing asynchronous queries is the MediaLib instance.
-
Romain Vimont authored
When the database queries are executed asynchronously, we must still be able to delete a list model from the main thread without blocking. As a consequence, the data loader must be able to outlive the list model instance; this implies that loading data must not involve calling methods on the list model itself (fetch() and countTotalElements()). Nevertheless, the actual data to load depends on the list model (the content is not the same between a list of videos and a list of albums). To be able to detach the lifetime of the data loader from the one of the list model, make the list models provide loader instances on demand, instead of implementing the loading methods directly.
-
Romain Vimont authored
Currently, the loader is owned by MLModelCache, but in the future it might outlive it: database queries will be executed from a separate thread, and MLModelCache could be deleted while an asynchronous request is running. To prepare for this change, do not require to receive the loader via a std::unique_ptr (let the cache wrap it).
-
Romain Vimont authored
Use the new list cache. For now, the cache loader just delegates calls to the model.
-
Romain Vimont authored
Add a separate class to provide local data caching, independant of the MLBaseModel implementation. It will be used in further commits.
-
Romain Vimont authored
MLSlidingWindowModel declares two pure virtual methods to be implemented by subclasses: - countTotalElements() - fetch() The query parameters to use were implicitly defined by the class fields. Instead, pass them explicitly. This paves the way to implement a separate cache and execute queries from a separate thread.
-
Romain Vimont authored
The count is initialized by a call to rowCount(), which must be called before calling item().
-
Romain Vimont authored
-
Romain Vimont authored
The fetch() methods returns the data it loads, it does not need access (except possibly to mutable fields for caching). This makes it consistent with countTotalElements().
-
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
this fixes the animation issue that occurs when Qt 5.15 is used Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
set '_colors' property when forcing colors Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
due to an incident, a preliminary and incomplete version of "enable aligned player controlbar customization" patch was merged. this update ensures that the latest and the most tested version of the patch is available. Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Steve Lhomme authored
The has_deint value can never be true at this point. This code is even dead in 3.0 as DeinterlaceCallback was not called in the init either.
-
Steve Lhomme authored
It's not used by anyone and doesn't match the string of the same core variable.
-
Steve Lhomme authored
-
Steve Lhomme authored
There doesn't seem to be any display module that transforms these J4xx chromas into I4xx chromas for their input format. So we don't need 2 filters for this.
-
- Nov 22, 2020
-
-
Tristan Matthews authored
-
Rémi Denis-Courmont authored
Integers 2...512 use the old scale (mostly fixes #25143). Floating point values are taken as is.
-
Rémi Denis-Courmont authored
-
- Nov 21, 2020
-
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
This invokes each and every autorun module before instantiating the main interface.
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
(Fix assertion failures.)
-
- Nov 20, 2020
-
-
Rémi Denis-Courmont authored
This reverts commit 9708665a, broken by 3159dad5.
-