Commit Graph

55 Commits

Author SHA1 Message Date
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
John Maguire 3323c2d094 Convert all instances of foreach() to a C++11 for
find ext src -name '*.cpp' -exec \
    sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01: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
David Sansome eaf182a59a Merge pull request #4161 from BrummbQ/master
don't rescan unchanged files if library has been unavailable.  Fixes #3032
2014-02-07 22:45:55 +11:00
John Maguire 71893e4847 Use nullptr instead of NULL everywhere. 2014-02-06 17:29:59 +01:00
Gregor Tätzner 7317b6792e don't rescan unchanged files if library has been unavailable 2014-02-01 20:21:28 +01:00
David Sansome e3c8caa613 Preserve user stats like play/skip counts when reloading song metadata when opening the edit tag dialog. Fixes issue 3359. 2012-12-26 00:50:32 +11:00
David Sansome f95afa4cb3 Check whether .cue files exist instead of assuming Qt will return an invalid datetime for non-existent files. 2012-06-19 20:28:10 +01:00
Norman Back 704c87b267 Use hidden album art images when scanning the library
Fixes issue 2973
2012-06-05 18:42:11 +01:00
David Sansome ab5ccf69da Refactoring: remove BackgroundThread 2012-02-26 15:05:46 +00:00
David Sansome facb366017 Remove subdirectory watches after a directory is removed from the library. Otherwise subdirectories that changed after the directory was removed would be re-scanned and re-added. 2012-01-29 17:39:28 +00:00
David Sansome 626ce20ec0 Merge branch 'external-tagreader' 2012-01-08 18:38:48 +00:00
David Sansome d4b4606068 Create the FilesystemWatcherInterface directly in the LibraryWatcher, fixing a crash when trying to add a new device. 2012-01-08 18:37:46 +00:00
David Sansome 2e49e89e7b Fix a crash on startup after disabling watching the library for changes. Fixes issue 2585 2012-01-08 12:55:06 +00:00
David Sansome 4618651cf4 Merge branch 'master' into external-tagreader 2012-01-07 22:52:18 +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
John Maguire 483c36748e const& and tweaks to Mac directory canonicalisation. 2012-01-05 16:11:39 +00:00
John Maguire 761737eb4d Add more robust subdirectory detection in LibraryWatcher. 2012-01-05 15:56:46 +00:00
John Maguire 55e9fd8dc3 Disable watching for FS updates when requested. 2012-01-05 15:01:43 +00:00
John Maguire 9fdfb52225 Use FSEvent-based filesystem watcher on Mac. 2012-01-05 14:51:23 +00:00
David Sansome 9306efef99 Fix compilation on windows due to #defines leaking out of windows headers 2011-11-28 19:13:01 +00:00
David Sansome e6b2e5bcae Make the DeleteSongs function actually delete songs again, and make a new MarkUnavailable function that is called when songs are deleted from disk (and stop it from removing the song from the search index). 2011-07-06 20:07:56 +00:00
David Sansome 792352be3b When songs disappear from the filesystem (either they're deleted or are on a removable media that was unmounted), mark them as unavailable instead of removing them from the database. Thanks google@robbertkrebbers.nl. Fixes issue 401 2011-05-14 13:43:57 +00:00
John Maguire c9a0318553 Revert to not scanning hidden directories. 2011-05-13 16:56:42 +00:00
David Sansome ccb9f8cf94 Use URLs everywhere instead of filenames. Move the URL parsing and song loading code out of individual playlist parsers and into the base class. Fix the playlist parser unit tests. 2011-04-28 12:27:53 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
David Sansome d91aaa880c Make the library watcher pick up hidden files too. 2011-03-23 16:50:19 +00:00
Paweł Bara 20658989c3 full library rescan feature - should already work as expected 2011-02-17 19:57:14 +00:00
David Sansome 507c5e2632 Change the fields in Song from seconds to nanoseconds 2011-02-13 18:34:30 +00:00
Paweł Bara 9a9d8ad177 don't let invalid CUE related media files into library (invalid == those which were not recognized by TagLib)
better logging of erroneous DB queries (error + query + bound values instead of just error)
2011-02-05 13:43:04 +00:00
John Maguire 084b9a2fe3 Remove taglib prefix from includes as the taglib include path contains it already. 2011-02-04 12:36:56 +00:00
Paweł Bara 7bdac8fba6 when loading playlist, take only it's valid songs (+ force validity of CUE and PLS related songs) 2011-02-03 17:47:32 +00:00
Paweł Bara 77151d7ebd Hiding some of Song's cover art logic complexity in Song's API (namely: embedded and manually unset covers). 2011-02-02 21:01:08 +00:00
David Sansome fe818e5597 Don't drop the embedded art indicator from songs when updating the library. Thanks markwatkinson 2011-01-23 15:36:09 +00:00
Paweł Bara ddd3f119d3 CUE songs are now properly updated in library - you can delete a CUE sheet, add it, you can change section markers in it etc. and everything should work as expected
Song now knows it's cue path (if any)
2011-01-15 18:46:23 +00:00
Paweł Bara 4f7e804638 library: watcher now updates CUE associated songs + ignores the not-CUE-associated songs in a CUE sheet
CueParser: properly update length for the last song from every FILE in multifile CUE sheet
new 'playlist_path' argument in the 'Load' part of PlaylistParser's API
2011-01-11 23:09:59 +00:00
Paweł Bara da5f941333 consider .cues when scanning the library
persist the new 'beginning' marker of songs
fixed a bug where %allsongstables script would not update the attached databases
2010-12-28 15:36:01 +00:00
David Sansome 1362809b5d Make the library scanner use filter words for selecting cover art. Thanks markwatkinson. Fixes issue #634 2010-12-28 12:52:58 +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 9e20ef13bc Automatic scoring. Thanks Arnaud Bienner. Fixes issue #141 2010-11-01 21:15:52 +00:00
David Sansome a13e0ba3f3 Increment play and skip counts when playing or skipping songs from the library 2010-10-17 19:27:31 +00:00
David Sansome 87b8c3ce69 Detect symlinks in music library. Patch by Knuckster 2010-07-29 18:40:10 +00:00
David Sansome f64cdb23e9 Make the AlbumCoverLoader read embedded album cover art when it's available. Fixes issue #516 2010-07-19 17:55:02 +00:00
David Sansome d620779696 Add an option to disable directory watchers 2010-07-10 17:03:28 +00:00
David Sansome 2762d80722 Show the scanning progress in the device view 2010-07-04 15:56:08 +00:00
David Sansome 2deca7fd61 Add a DeviceManager which holds all the listers and connected devices. Make FilesystemDevices use their own LibraryWatcher. 2010-06-26 12:41:18 +00:00
David Sansome 2b17a8ee1f Revert r1344 (the timer tracing), it didn't help 2010-06-25 22:04:24 +00:00
David Sansome cc6413ab0e Add tracing to every timer event, might help track down CPU usage... 2010-06-25 08:46:03 +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 44d58482f0 Make the LibraryWatcher report on its progresss. Fixes issue #436 2010-06-23 14:00:18 +00:00