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
54d76506a7
Fix member not initialized in constructor.
...
Was init soon after anyway, but FWIW...
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
a056a87c8e
Coding style fixes for async song load.
2014-04-07 15:27:47 +02:00
Alexander Bikadorov
0d199be5a7
Load all songs that require disc-read non-blocking.
2014-04-02 15:57:01 +02: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
71893e4847
Use nullptr instead of NULL everywhere.
2014-02-06 17:29:59 +01:00
Mladen Pejaković
033d266fe9
Add contexts to some translation strings
2014-02-03 21:54:02 +01:00
David Sansome
f816a47ad9
Make SongLoader add URLs as raw streams if there exists a URL handler
...
for that scheme. This fixes a bug where sky:// URLs couldn't be added
with MPRIS.
2014-01-24 23:54:38 +11:00
Andreas
2c0b505b7b
Append playlist id to new playlists.
2013-08-17 15:54:39 +02: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
a5e6c3273c
Delete a playlist when unstaring it from the left 'Playlists' panel and when it's not opened
2013-06-29 16:16:52 +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
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
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
Arnaud Bienner
88918d45c5
Update issue 1175:
...
Save rating and statistics in two distinct ways, and let users activate them separately in preferences.
2013-03-30 23:42:29 +01: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
David Sansome
63fdf11cd8
Keep the playlist column alignment setting in PlaylistView instead of in each individual Playlist, ensuring all playlists share the same column alignments and there's only one place to save/restore them.
...
Fixes issue 1795
2011-11-12 16:12:51 +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
Andrea Decorte
a88e02c452
Added right-click menu option to copy track to specific playlist. Fixes issue 1289
2011-03-20 17:38:15 +00:00
Paweł Bara
823f798451
new option for greying out deleted songs on startup
2011-03-19 09:41:00 +00:00
Paweł Bara
a4bf317f33
minor deleted items handling fixes
2011-03-18 21:54:22 +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
9a1dad3490
Fix the selected track length display. Fixes issue #1488
2011-03-04 21:10:06 +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
David Sansome
507c5e2632
Change the fields in Song from seconds to nanoseconds
2011-02-13 18:34:30 +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
David Sansome
85d1f16c5e
Fix a crash when removing the active playlist when it is the first playlist. Fixes issue #1097
2010-12-18 19:37:29 +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
David Sansome
08b2bcc816
Always write URLs in XML based playlists, instead of URLs of relative paths. Also load playlist items from the library if possible. Fixes issue #1054
2010-12-11 10:35:07 +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