Commit Graph

473 Commits

Author SHA1 Message Date
Simeon Bird 401f07c7cb Avoid db commits during startup
When starting clementine, each playlist is loaded in turn.
When loading a playlist, the new tab order is committed to the db,
but we don't need to do that here because we know that once all the
playlists are loaded the tab order will be the same as it was initially.

This speeds startup substantially.
kstartperf:
Before: 3.5s
After: 1.5s
2014-12-09 12:48:53 -05: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
Juan Luis Boya García 292fff7e3a Fix #4420: Previous track in dynamic random mix 2014-11-29 19:34:31 +01:00
John Maguire 4f4c8f6894 Merge pull request #4580 from Chocobozzz/hide_internet_services
Hide internet services
2014-10-31 12:02:29 +01:00
Arnaud Bienner 2208fa7d13 Add a source icon for CD tracks 2014-10-26 18:45:48 +01:00
Arnaud Bienner 7ac9e4c6d1 Fix a bug in InsertItems functions that makes Cdda tracks to not be saved/restored correctly when restarting Clementine 2014-10-26 17:08:12 +01:00
Arnaud Bienner dc0d3436c8 Finish CD integration update to Gstreamer 1.0
Move everything related to CDDA to a seperate class, so we can more easily reuse it in SongLoader
2014-10-26 03:32:37 +01: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
Alan Briolat c69f2e5561 Reuse some work from Alan from pull request #4484 2014-10-07 00:29:46 +02:00
Arnaud Bienner c35e573637 Missing things from previous commit 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
Arnaud Bienner f7d2dd94f9 Revert "Add a quick change menu to the playlist container."
This reverts commit 1cddc696ae.

Conflicts:
	src/ui/behavioursettingspage.ui
2014-10-07 00:29:46 +02:00
Arnaud Bienner 37a6c125c0 Consider some more things as text (like numbers) when deciding if we should focus on the search bar 2014-10-04 18:08:53 +02:00
Arnaud Bienner 631c120515 Allow to change rating when "inline" editing is not enabled 2014-09-06 17:54:50 +02:00
ppkt 43a6740b48 Remove unavailable items from playlist 2014-08-24 10:44:27 +02:00
Gavin Howard 9141cd65bc Fixes requested by ArnaudBienner. 2014-08-19 13:26:00 -06:00
Gavin Howard f41bebbeb2 Ran 'make format' on my patch. 2014-08-18 09:56:01 -06:00
Gavin Howard d8ba0c4f91 Minor changes requested by hatstand. 2014-08-18 08:08:14 -06:00
Gavin Howard a468085c3a Finished the changes to the quick change menu. Everything should work. 2014-08-15 18:52:01 -06:00
Gavin Howard 1cddc696ae Add a quick change menu to the playlist container. 2014-08-15 15:37:31 -06:00
Gavin Howard 5b7819f14d Added UI and QSettings support for playlist metadata and path types. 2014-08-13 22:47:25 -06:00
Helder Martins e4054fad5e Clarified comment to be more accurate of what it does 2014-08-03 10:48:01 +01:00
Helder Martins 56fc242520 complemented condition inside reshuffleindices function to take into account the selected track 2014-07-27 23:07:50 +01:00
Arnaud Bienner 0976cc7e5c Give Clementine the answer to the ultimate question of life, the universe and everything
Probably my most valuable contribution so far
2014-07-24 23:48:45 +02:00
Helder Martins cbfd3218f2 Cleaning unnecessary code 2014-07-23 23:47:12 +01:00
Helder Martins 0c2d4e9f1c Fixed a minor issue where the playlist wasnt updating the queue order, when a track was dequeued using the ctrl-d shortcut 2014-07-23 00:15:06 +01:00
Gu1 62ecfe19f7 Add an option to disable inline song metadata editing through click 2014-06-23 18:40:00 +02:00
David Sansome c8625deffb Update persistent model indexes properly when sorting the playlist. Fixes #4358 2014-06-07 13:31:25 +10:00
David Sansome 53be1e1f65 Revert "Use guaranteed random number generator." Fixes #4400
This reverts commit 9f6899ac82.
2014-06-07 12:12:08 +10:00
Arnaud Bienner 134b617ec4 Emit dataChanged when changing skip track state.
Otherwise, when changing this for the currently playing track, the "strike out" change wasn't visible.
2014-05-25 18:44:54 +02:00
David Sansome f65c48ef9c Fix the rendering of the little numbers in the boxes on queued items in the playlist 2014-05-24 14:05:21 +10:00
John Maguire 9f6899ac82 Use guaranteed random number generator.
Fixes #4352
2014-05-20 17:03:04 +02:00
John Maguire 24a4cff807 Merge pull request #4288 from sundrythoughts/rating-optimization
Increase performance of mass rating changes.
2014-05-20 12:42:39 +01:00
David Sansome 98b6b6f906 Don't use italic text anywhere - Arabic text doesn't have italics. Fixes #4329 2014-05-11 20:42:49 +10:00
David Sansome 4e9a7ca7f3 Load all the metadata for the first song, so the duration will appear properly when it starts playing. 2014-05-11 17:35:23 +10:00
Mark Furneaux d0ca2cef6c Comment remove 2014-04-25 23:02:42 -04:00
Mark Furneaux ce8b7303c0 Formatting 2014-04-25 22:50:52 -04:00
Mark Furneaux c890af6306 More elegant solution to last commit
set_current_row now takes optional parameter "is_stopping" for when auto stop
is enabled.
2014-04-25 22:45:25 -04:00
Joseph Freeman fe4a80b2d5 Removed commented-out code and ran make format. 2014-04-25 19:41:04 -04:00
Joseph Freeman 156728390d Increase performance of mass rating changes. 2014-04-25 19:37:46 -04:00
Mark Furneaux 416d06bb06 Fix stop after track
Stop after track would cause now playing widget, OSD, and last.fm
scrobbler to change to next track after stopping. This patch prevents
set_current_row() from firing an event which triggers the track change.
2014-04-25 14:30:31 -04: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
Alexander Bikadorov 27e1c16e8a Debug logging when saving a playlist. 2014-03-18 16:14:12 +01:00
Alexander Bikadorov d023b56cea Avoid saving the playlist multiple times. 2014-03-18 16:13:38 +01:00
John Maguire 5146bcdebc Some more NULL -> nullptr conversions. 2014-02-21 17:30:46 +01:00