Commit Graph

5721 Commits

Author SHA1 Message Date
John Maguire fb5181a6e9 Tidy up locking usage around FFTW.
* Move QMutex into the class instead of static.
* Use QMutexLocker
* Only lock around FFTW plan & destroy functions.
2014-12-10 18:57:35 +01:00
John Maguire fdd669360f Merge pull request #4644 from sbird/fasterstartup
Patches to start clementine faster
2014-12-09 20:02:51 +01:00
Simeon Bird 3f9b5f4663 Do Podcast updates on song change off main thread
Each time the song is changed, the podcast backend checks whether the
new song is a podcast and, if so, mark it as listened to. This requires
1-2 db queries, so do it off the main thread.

Time to change song before: 300 ms
                    after: 50 ms usually, 80 ms sometimes
2014-12-09 12:49:24 -05:00
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
Clementine Buildbot 8e0952e0b1 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2014-12-08 10:01:25 +01:00
Andreas b5567a7b27 Try fixing race condition in fftw by adding mutex for fftw_* function calls suggested here: http://www.fftw.org/fftw3_doc/Thread-safety.html. Updates #4643. 2014-12-07 14:07:53 +01:00
Andreas 0f1b29a523 Make sure SongSender is deleted when client disconnects. 2014-12-07 13:54:18 +01:00
Arnaud Bienner 16b2ac547c Sort music brainz releases according to status 2014-12-06 17:54:13 +01:00
Arnaud Bienner f34f868c0f Add Spotify tracks to Spotify playlists by drag and drop 2014-12-03 23:58:09 +01:00
Arnaud Bienner f7924905d2 Also add internet_service method for other search providers which have a internet services.
Shouldn't change anything in practice, but better to have items correctly inserted as Internet items FWIW. And will avoid other "custom context menu not working" issues if one day we implement one for
these services.
2014-12-03 22:33:29 +01:00
Arnaud Bienner 05d43e27a9 Add internet_service to SpotifySearchProvider so custom context menu is correctly shown on playlist items created from the global search 2014-12-03 22:27:43 +01:00
John Maguire 20e626a9ab Merge pull request #4626 from ntrrgc/master
Fix #4420: Previous track in dynamic random mix
2014-12-02 13:56:55 +00:00
John Maguire f79b0c867c Merge pull request #4628 from sobkas/master
Fixes for copyright notices, cpplint.py errors and misc.
2014-12-01 10:55:41 +00:00
Clementine Buildbot dbe9f38dc8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2014-12-01 10:01:25 +01:00
John Maguire 39e6d071f2 Merge pull request #4630 from Chocobozzz/xspfparser_fix
Fix accents issue in when save playlist in xspf format
2014-11-30 14:59:46 +00:00
John Maguire 9f5388476c Merge pull request #4631 from sobkas/fix_issues_4627_4368
Set ctime and mtime in Song returned by PodcastEpisode::ToSong
2014-11-30 14:54:08 +00:00
Krzysztof Sobiecki 4e32b36f59 Set ctime and mtime in Song returned by PodcastEpisode::ToSong
Fixes #4627,#4368
2014-11-30 15:49:13 +01:00
Chocobozzz 824526618c Fix accents issue in when save playlist in xspf format 2014-11-30 10:36:36 +01:00
Krzysztof Sobiecki 1cbe135a8d Fix some errors in src/analyzers introduced while fixing cpplint.py errors 2014-11-29 21:05:59 +01:00
Krzysztof Sobiecki 63b0c10125 Update copyright.py to use Original Author lines 2014-11-29 20:17:04 +01:00
Krzysztof Sobiecki dc669eb603 Fix cpplint.py errors, fix copyright notices in src/analyzers, move src/core/fht* to src/analyzers 2014-11-29 20:07:01 +01: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 64c34f58ae Merge pull request #4608 from sobkas/src_core_fix
Fix the copyright info and formatting in src/podcast and src/core
2014-11-27 15:17:16 +01:00
Clementine Buildbot 154a1d3ebe Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2014-11-24 10:01:26 +01:00
John Maguire ff91759b71 Fix Ubuntu PPA
Adds a missing check for libcdio.
Adds libcdio as a dependency for debian.
Fixes issue #4618
2014-11-19 15:45:05 +09:00
Andreas 5e77aed01e Cancel transcode when downloader disconnects. 2014-11-18 11:55:27 +01:00
Clementine Buildbot 8ac5d8e595 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2014-11-17 10:01:31 +01:00
Andreas 880308c205 Remove async bus callback from transcoder. This caused the UI to get unresponsive after a song was converted.
A bit more information:
Normal transcoding worked fine, the transcoder object was in the main thread. In the network remote, a new transcoder object is created which runs in the network remote thread. When a song was transcoded there, the UI became unresponsive.
Removing the async bus callback solved the problem, exactly the g_source_remove() method caused it. Since the bus callback returned FALSE (GST_BUS_DROP), the watch was already removed. (See http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-add-watch)
2014-11-14 23:50:59 +01:00
Andreas 86a375f952 Send correct total file size if files were transcoded. 2014-11-14 17:53:25 +01:00
Andreas 3fb6e0d2b5 Try to fix windows build. 2014-11-14 17:44:07 +01:00
Andreas ff172f6ed4 Network remote can now transcode lossless files before sending them to the remote.
- It is configurable in the settings.
- Any format can be chosen that is supported by the transcoder.
- The status of the transcoder is send to the remote.

- Transcoder format settings have now a postfix so we can define mutliple transcoder formats and use them separatly. Here one for the normal transcoder and one for the network remote transcode. You can pass the postfix in the constructor.
- Fixed Transcoder crash (was introduced with the gstreamer1.0 merge, decodebin doesn't have a "new-decoded-pad").
- Transcoder emits the output filename as well on "JobComplete" signal
- Transcoder can now convert a file to a temporary file ("AddTemporaryJob")
2014-11-13 22:31:49 +01:00
Andreas 8aa78af8f8 Save last used transcoder format with the mimetype instead of the extension.
ogg vorbis and ogg flac have the same extensions (*.ogg) and therefore the wrong item in the format combobox might be loaded.
2014-11-11 14:40:52 +01:00
Clementine Buildbot 9cdb31c2d8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2014-11-10 10:01:29 +01:00
John Maguire 1023fe8b1e Fix chromaprint includes. 2014-11-06 17:26:45 +01:00
John Maguire f150ad8971 Merge pull request #4600 from sobkas/master
Ability to automatically set podcast as listened
2014-11-06 12:21:07 +00:00
Krzysztof Sobiecki 6efb5d05b7 Fix some problems 2014-11-05 17:48:04 +01:00
Krzysztof Sobiecki cabaaf3333 More copyright info fixes 2014-11-05 17:48:04 +01:00
Krzysztof Sobiecki 130d3c72f0 More copyright info fixes 2014-11-05 17:48:04 +01:00
Krzysztof Sobiecki d775d72345 More copyright info fixes 2014-11-05 17:48:04 +01:00
Krzysztof Sobiecki 39a3b46ead More copyright info fixes 2014-11-05 17:48:04 +01:00
Krzysztof Sobiecki a85728dfb3 Fix some problems 2014-11-05 17:48:03 +01:00
Krzysztof Sobiecki 011155a751 Fix copyright notices inside src/podcasts 2014-11-05 17:48:03 +01:00
Krzysztof Sobiecki c0614dbe09 Fix copyright notices inside src/core 2014-11-05 17:48:03 +01:00
Krzysztof Sobiecki 0af1470cce Clean up src/core 2014-11-05 17:48:03 +01:00
Krzysztof Sobiecki 978a91442c Connect signal to signal 2014-11-05 17:35:14 +01:00
John Maguire b2e0fe995e Merge pull request #4605 from Chocobozzz/fix_device_icon
Check if there is a current icon item in the device manager. Fixes #4604 #4555
2014-11-05 12:11:48 +00:00
Chocobozzz 8fba1c30f4 Make format 2014-11-05 13:05:58 +01:00
Chocobozzz da99c55eed Use constructor for QString 2014-11-05 12:25:55 +01:00
Chocobozzz 2e64b24290 Revert "Use constructor for QString and make format"
This reverts commit 5a2348fae6.
2014-11-05 12:25:09 +01:00