Commit Graph

54 Commits

Author SHA1 Message Date
Andreas 0abdf545a0 Network remote: Insert Song as well as urls. Is used for global search to add metadata for non library tracks. 2015-06-13 16:00:15 +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
Chocobozzz 50b7b7d889 Make format after update to avoid conflicts 2014-10-15 21:57:57 +02:00
Chocobozzz 8279f21251 Revert "Make format"
This reverts commit 17b1e9fbe6.
2014-10-15 21:55:03 +02:00
Chocobozzz 17b1e9fbe6 Make format 2014-10-15 20:55:24 +02:00
Arnaud Bienner 78804b12c6 Use a save dialog option instead of quick change menu.
This is less confusing IMO. The dialog will shown up only if users decided to in the preferences, so that will not bother users who don't need this.
This reuses lot of things from Alan contribution from #4484
2014-10-07 00:29:46 +02:00
Arnaud Bienner f6e6d3b937 Revert "Finished the changes to the quick change menu. Everything should work."
This reverts commit a468085c3a.

Conflicts:
	src/playlist/playlistcontainer.cpp
	src/playlist/playlistcontainer.h
	src/ui/behavioursettingspage.cpp
2014-10-07 00:29:46 +02:00
ppkt 43a6740b48 Remove unavailable items from playlist 2014-08-24 10:44:27 +02:00
Alexander Bikadorov 0d199be5a7 Load all songs that require disc-read non-blocking. 2014-04-02 15:57:01 +02:00
John Maguire 5146bcdebc Some more NULL -> nullptr conversions. 2014-02-21 17:30:46 +01:00
John Maguire 192b60d965 Use nullptr as parent parameter default everywhere 2014-02-10 16:03:54 +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
Andreas 4fe293b6d0 The insert and remove signal for a playlist was not correct. 2013-07-31 19:06:29 +02:00
Arnaud Bienner b53e58d407 Ask user for confirmation before closing a non-favorite playlist, as it will be deleted. Don't ask if middle-clicked 2013-07-18 00:37:31 +02: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 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
Andreas 8888cc410a Send closed playlists too if requested. 2013-04-16 13:57:04 +02:00
Andreas 329a91c265 SetActiveToCurrent: Check if the playlist changed. If not, then do not call SetActivePlaylist(). 2013-03-20 15:33:53 +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 885d98b5f0 Remove the SpecialPlaylistType class, it hasn't been used since Spotify and Grooveshark search results went into the sidebar tree. 2012-10-30 22:53:09 -07:00
cornicis dcab14e5fe added removeDuplicateSongs() function to playlist.cpp and added this action to the playlist-menu
Fixes issue #21
2012-07-06 11:46:04 +02: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
John Maguire 16b57935a9 Rename PlaylistManager.name(id) to PlaylistManager.GetPlaylistName(id) so that it doesn't clash with QObject::name() for Python scripts.
Thanks to Cristian Beskid
2011-07-13 18:14:14 +00:00
David Sansome 6dd1634946 Add Python bindings for Playlists, port the rainbowizer plugin to PythonQt and make its colours a bit more tasteful 2011-05-29 12:55:18 +00:00
David Sansome b20d280156 Add a "Did you mean ...?" widget when searching on spotify 2011-04-28 20:48:53 +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
Paweł Bara b8e1880854 "remove deleted songs from playlists" action in the 'deleted songs invalidator' plugin (fixes issue #1594) 2011-04-21 21:56:37 +00:00
Andrea Decorte ecda0ada4a Playlists get an automatic name, no more prompts. Fixes issue #423 2011-03-25 19:16:12 +00:00
Paweł Bara 823f798451 new option for greying out deleted songs on startup 2011-03-19 09:41:00 +00:00
Paweł Bara ad7223f8b3 code review 2011-03-13 13:02:48 +00:00
Paweł Bara ce17d5f1c9 API for coloring rows in playlist view
graying out of broken songs on playback

David's POT?
2011-03-13 11:43:44 +00:00
Paweł Bara 8722e00103 Clementine now skips songs that don't exist anymore (updates issue #250) 2011-03-10 18:01:35 +00:00
David Sansome f801252e3d Refactor Player and PlaylistManagers to have interfaces and add more MPRIS1 tests 2011-02-13 18:37:45 +00:00
John Maguire c680c55379 Fix a couple of warnings found by Clang. 2011-02-04 11:17:31 +00:00
Paweł Bara a883630ab3 duplicate remover script (fixes #21)
fix a scripting crash when one native object was registered more than once
veto mechanism for inserting songs into playlist
2011-01-16 23:46:58 +00:00
Paweł Bara 32f9825794 global shortcuts for rating songs (Fixes issue #1089)
renaming *index* methods in Playlist to *row*
2010-12-17 00:21:20 +00:00
Paweł Bara 49f46bced8 playlists now emit PlaylistChanged also when their ordering changes (Updates issue #374) 2010-12-09 20:43:06 +00:00
Paweł Bara 04bbf73cff MPRIS' TracklistChanged event now contains the length of the playlist that has actually changed (Update issue #374)
the PlaylistChanged event now shows which playlist has changed
2010-12-08 00:09:17 +00:00
Paweł Bara 6bf3162449 some MPRIS 1 bugfixes (Updates issue #374)
also:
- PlaylistSequence: RepeatMode and ShuffleMode are changed before change event is emitted
- PlaylistManager: emits an event after it has been initialized (which, for example, indicates that it's PlaylistSequence is now in place)
2010-12-07 21:14:40 +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 1f267881fe Put all smart playlist classes in their own namespace 2010-11-18 20:19:33 +00:00
David Sansome 30afc130a4 Start of some work for smart/dynamic playlists. Only simple generators based on sql queries are supported, and the UI still needs polish. 2010-10-24 15:38:12 +00:00
David Sansome 7a681c1198 Remember the selected playlist items when switching between playlist tabs. Fixes issue #758 2010-09-25 15:30:47 +00:00
John Maguire f5449b9f8d Move playlist loading off the GUI thread. 2010-08-03 14:59: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 8dd0b9902b When album cover art changes, update songs matching those albums in the playlist 2010-06-18 14:26:46 +00:00
David Sansome f162d9d620 Add a SongLoaderInserter that loads a list of URLs and inserts them into a playlist when it's done. Wire up everything in the GUI that loads URLs or filenames to use the new SongLoader. 2010-06-15 18:24:08 +00:00
David Sansome e46d93b599 Move the track length indicator to the right, and add information about the selected tracks 2010-06-13 12:45:05 +00:00
David Sansome a8d79582c1 Add a status bar indicator to tell the user how many tracks are loaded. Fixes issue #155 2010-06-12 21:20:53 +00:00
David Sansome b487ec00ef GUI for saving playlists 2010-05-22 22:20:00 +00:00