John Maguire
341dc7326f
Reformat all C++
2020-09-22 14:56:06 +01:00
Chocobozzz
8b226c2171
Update non optionnals sources to qt5
2015-04-11 23:24:07 +02:00
Simeon Bird
09e839353e
Speed up playlist restoring by moving sqlite query off main thread
...
The playlist fetching uses QtConcurrent to make the playlist on a
different thread (possibly concurrently for each item).
However, profiling reveals that the slow operation is fetching
the rows from the SQLite database, making this redundant.
Instead move the whole playlist loading, including the database access,
into a single function, and call that function in a different thread via
QtConcurrent::run.
This has the side effect of moving all the concurrent stuff from
PlaylistBackend into the callers.
kstartperf measures:
Before: 7.5s cold
3.6 s warm
After: ~4.0 s cold
3.5 s warm
2014-12-09 12:47:37 -05:00
Alexander Bikadorov
27e1c16e8a
Debug logging when saving a playlist.
2014-03-18 16:14:12 +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
John Maguire
d309d4ab27
Use c++11 instead of boost where possible.
2014-02-06 16:51:39 +01:00
Arnaud Bienner
253a8ffde4
Add save action from playlistlist tab, so we can save favorite playlists without opening them.
...
Remove unnecessary/duplicate actions from playlistlist tab.
2013-05-23 20:09:35 +02:00
Arnaud Bienner
94a70d61b9
Save playlist' id instead of tab's id in favorite widget, so we don't have to update it when tab are moved
2013-05-12 23:36:32 +02:00
Arnaud Bienner
e9f14d9f8a
Fix GetPlaylist and update network remote
2013-05-11 23:59:51 +02:00
Arnaud Bienner
5e6821dead
Add a 'favorite' widget to playlist tab, and keep in playlistlist container only favorite playlists, instead of all playlists.
2013-05-11 23:18:03 +02:00
Alexey Bo
c7be61f11d
Compare encoded urls. Fixes issue 2842. Some random tracks are not properly read from the cue sheet after clementine restart
2012-11-26 19:59:05 +01:00
David Sansome
9fae3881ed
Add a new "Playlists" tab to the sidebar that contains all the playlists created by or imported into Clementine. The tab bar now contains only "open" playlists - closing a tab closes the playlist without deleting it.
...
Update issue 1811
Added a Playlists tree view to the sidebar.
2012-10-30 23:04:22 -07: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
06852aaeb7
Show spotify search results in a separate playlist tab rather than in a tree in the sidebar.
2011-04-28 17:50:45 +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
3d6677fe6d
Allow radio services (Spotify) to store whole songs in playlist items
2011-04-26 22:06:58 +00:00
David Sansome
507c5e2632
Change the fields in Song from seconds to nanoseconds
2011-02-13 18:34:30 +00:00
Arnaud Bienner
0544cfa90a
Sort playlist by ui_order, to keep playlist ordered even if the user re-order them. Most of the code was written, I can't figure out why this code was missing... Anyway, fixes issue 1068
2011-02-10 20:50:57 +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
Paweł Bara
a575dac451
restoring CUE related files in playlist after Clementine's restart (fixes issue #68 )
2011-01-19 15:36:40 +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
b1bf95a668
Remember which library a dynamic playlist was using when you restart clementine
2010-11-27 19:11:36 +00:00
David Sansome
b85ddbb380
Put the Jamendo songs in a separate database that gets attached to the main database. "Reload" it by deleting the file, which is much faster than DELETEing all the songs inside. Make reloading the Jamendo, Icecast and Magnatune databases always bypass the network cache. Store the Jamendo track IDs in a separate table - for some reason this makes inserts faster. Fix the Jamendo model after the inital database load. Make the Jamendo dymanic playlist use the entries that are already in the local database rather than fetching the song metadata again.
2010-11-27 16:14:09 +00:00
David Sansome
927937e236
Save and restore Jamendo playlist items properly. Add a Jamendo context menu.
2010-11-25 22:04:23 +00:00
David Sansome
5969e2b3d7
Remember whether a dynamic playlist was active between restarts
2010-11-20 20:30:21 +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
87ce2f6ee2
Use the PlaylistItemPtr typedef in more places
2010-10-24 15:34:47 +00:00
John Maguire
e67f9a66c8
Load playlist in separate threads on startup.
2010-08-03 18:57:17 +00:00
David Sansome
c834a5f31f
Do the compilation processing in the database thread, and make everything lock on the database to ensure two threads don't access it at once.
2010-06-02 16:22:20 +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
98235eea03
Remember the ordering of playlists
2010-05-21 10:37:24 +00:00
David Sansome
1572124962
Seperate last played values for each playlist
2010-05-20 22:30:55 +00:00
David Sansome
e515724bf7
Basic support for multiple playlists. Not everything works yet
2010-05-20 21:21:55 +00:00
David Sansome
1aee5e4667
Split all the source files up into seven new directories.
2010-05-10 21:50:31 +00:00