John Maguire
341dc7326f
Reformat all C++
2020-09-22 14:56:06 +01:00
Jim Broadus
bc99ff80a9
Move LibraryDirectoryModel out of LibraryModel.
...
There are several instances of the LibraryModel class used in the system. Each
of these creates a LibraryDirectoryModel instance, but only the instance held
by the main library is every used. Move this out of the LibraryModel class and
into the Library class.
2020-02-11 08:09:22 +00:00
Jim Broadus
6a9276ec0a
Fix LibraryModel async query crash.
...
A LibraryBackend may be deleted while an associated LibraryModel object is using
it. An example is an async query running while a connected device is removed.
To prevent this, use a share pointer for the LibraryBackend.
This fixes one case where LibraryBackend is used after deletion. However, the
raw pointer is still passed around in several other places. These should be
evaluated on a case-by-case basis to insure that circular depencencies aren't
introduced.
2020-01-14 21:47:31 -08:00
Arnaud Bienner
946c0381d1
Don't set thread priority in LibraryWatcher constructor, as this is executed in the main thread.
...
Do it when thread actually starts (create a new Thread class for this purpose).
Fixes #4523 .
2015-02-28 16:44:32 +01:00
David Sansome
01ae151f8a
Delay writing WMA ratings and play counts until playback has finished. Fixes #3593
2014-06-07 15:29:23 +10:00
David Sansome
f6a72828a9
Write statistics and ratings in Library, not LibraryBackend.
2014-06-07 15:19:43 +10:00
John Maguire
bebd781fdf
Reformat all non-3rd-party C/C++/Objective-C++.
...
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
-style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire
d309d4ab27
Use c++11 instead of boost where possible.
2014-02-06 16:51:39 +01:00
Arnaud Bienner
db5fbe2059
Update issue 1175:
...
Add an option in preferences to save all ratings/statistics into files, for all songs
2013-03-26 23:56:46 +01:00
David Sansome
21fbd40f9f
Don't try to initialise the library model until after the grouping settings have been read from the config. Fixes issue 3005
2012-06-16 20:54:08 +01:00
David Sansome
ab5ccf69da
Refactoring: remove BackgroundThread
2012-02-26 15:05:46 +00:00
David Sansome
48f15c9fc7
Refactoring: instead of passing individual pointers to useful core classes (like TaskManager or LibraryBackend) to each class that uses them, pass one singleton-like Application instance everywhere.
2012-02-26 14:40:51 +00:00
David Sansome
9be641ee87
The external tagreader mostly works now:
...
* Make TagReaderClient a singleton until it's easier to pass dependencies around
* Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted
* Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore
* Add blocking versions of all TagReaderClient methods
* Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before
2012-01-07 00:26:07 +00:00
Paweł Bara
aa6c3ab35b
a way to mark DB schema versions as requiring a full library rescan
...
message dialog for a user when he's reached a full library rescan requiring schema version (like the final one of CUE sheet support)
2011-02-25 20:10:41 +00:00
Paweł Bara
20658989c3
full library rescan feature - should already work as expected
2011-02-17 19:57:14 +00:00
David Sansome
ed1a25693c
Add missing licenses to debian/copyright, and add copyright information to each source file
2010-11-20 13:27:10 +00:00
David Sansome
d620779696
Add an option to disable directory watchers
2010-07-10 17:03:28 +00:00
David Sansome
05b6c8fe71
Allow organising of whole directories, and pause the library watcher while organising is in progress.
2010-06-24 21:46:18 +00:00
David Sansome
f808591ec7
Refactor the loading indicator widget into a seperate TaskManager class that can handle tasks with progress
2010-06-23 13:21:30 +00:00
David Sansome
492d8fec87
Use sqlite's Full Text Search on the songs table
2010-06-20 16:30:10 +00:00
David Sansome
03d876a599
Put the Database object in its own thread, and create the Library and Playlist backends in that database thread. The database calls don't happen in the database thread yet, but this is the first step towards making sure sqlite access is thread safe.
2010-06-02 15:58:07 +00:00
David Sansome
0021e5f7e4
Make library scanning on startup optional, and add a menu item to update the library. Fixes issue #341
2010-05-25 20:40:45 +00:00
David Sansome
b116d4a306
First go at a UI for playlist search and multiple playlists. Nothing works yet.
2010-05-20 14:12:15 +00:00
David Sansome
1aee5e4667
Split all the source files up into seven new directories.
2010-05-10 21:50:31 +00:00