Commit Graph

6296 Commits

Author SHA1 Message Date
Lukas Prediger 5705d4fd85 Fix: Detaching bus callback in ~GstEnginePipeline 2021-10-09 12:07:56 +01:00
Clementine Buildbot 86b958015b Automatic merge of translations from Transifex 2021-10-09 02:44:42 +00:00
Clementine Buildbot f8f849e49c Automatic merge of translations from Transifex 2021-10-06 02:44:29 +00:00
Clementine Buildbot 69fd49b977 Automatic merge of translations from Transifex 2021-09-29 02:42:17 +00:00
Clementine Buildbot 62922147e6 Automatic merge of translations from Transifex 2021-09-28 02:44:15 +00:00
Clementine Buildbot 2e133f7ce4 Automatic merge of translations from Transifex 2021-09-27 02:44:15 +00:00
Clementine Buildbot 0820035b84 Automatic merge of translations from Transifex 2021-09-25 02:45:40 +00:00
Clementine Buildbot 679a0ee544 Automatic merge of translations from Transifex 2021-09-24 02:44:30 +00:00
Clementine Buildbot 8715815452 Automatic merge of translations from Transifex 2021-09-23 02:45:20 +00:00
Clementine Buildbot b762aeb1ba Automatic merge of translations from Transifex 2021-09-22 02:45:17 +00:00
Lukas Prediger fd585e8aa4 RipCDDialog: no longer forces Cdda* to emit signals
- CddaDevice: Removed LoadSongs() method (then renamed ForceLoadSongs to LoadSongs)
- CddaDevice: added songs() method to get currently song list
- CddaSongLoader: cached_tracks is now thread-safe
2021-09-21 10:53:43 +01:00
Lukas Prediger 2936578fa4 CddaDevice: Preventing double read on disc change. 2021-09-21 10:53:43 +01:00
Lukas Prediger 62b5a0e77b CddaDevice now does not re-read song list if disc is not changed 2021-09-21 10:53:43 +01:00
Lukas Prediger 50404a967b RipCDDialog now only depends on CddaDevice, no longer on CddaSongLoader 2021-09-21 10:53:43 +01:00
Lukas Prediger 6b03b8f5d1 CddaSongLoader now emits a Finished signal if no further updates will follow for the same disc read. 2021-09-21 10:53:43 +01:00
Lukas Prediger 90ec6f6a24 CddaSongLoader now reads CD-Text for metadata
currently this gets overwritten by musicbrainz response almost immediately, though
2021-09-21 10:53:43 +01:00
Clementine Buildbot b020171da7 Automatic merge of translations from Transifex 2021-09-21 02:44:04 +00:00
Clementine Buildbot c969bf9783 Automatic merge of translations from Transifex 2021-09-20 02:44:43 +00:00
Tom Kranz cd72cf3390 Use XSPF image elements as manually set artwork 2021-09-18 23:52:37 +01:00
Daniel Perelman ab6a480131 Apply reformatting from lint. 2021-09-07 18:04:38 +01:00
Daniel Perelman f548884f57 Correct time computation for seekbar tooltip. 2021-09-07 18:04:38 +01:00
Clementine Buildbot 1535e78aa0 Automatic merge of translations from Transifex 2021-09-06 02:44:55 +00:00
Clementine Buildbot 2cca75d930 Automatic merge of translations from Transifex 2021-09-05 02:43:23 +00:00
Lukas Prediger e556a59aea RipCDDialog: Changing metadata edits now updates filename preview 2021-09-04 15:24:44 +01:00
Lukas Prediger e187a68e9f MusicBrainzClient fix: Don't try to read reply on connection timeout
that previously resulted in an IO error
2021-09-04 15:24:44 +01:00
Clementine Buildbot c58335c6c9 Automatic merge of translations from Transifex 2021-09-04 02:44:48 +00:00
Clementine Buildbot 769d8bbe6d Automatic merge of translations from Transifex 2021-09-03 02:43:09 +00:00
Clementine Buildbot 3b7d5880f9 Automatic merge of translations from Transifex 2021-09-02 02:42:38 +00:00
Clementine Buildbot 7eb62b6266 Automatic merge of translations from Transifex 2021-09-01 02:44:42 +00:00
Lukas Prediger c8c110efaf Fix: RipCDDialog now correctly loads and stores chosen transcoder preset 2021-08-31 10:19:32 +01:00
Lukas Prediger a72e252ec6 RipCDDialog: Added file name preview 2021-08-31 10:19:32 +01:00
Lukas Prediger b0704331d7 Integrate file name format options into RipCDDialog
for consistency with OrganiseDialog and reducing code duplication
2021-08-31 10:19:32 +01:00
Lukas Prediger 5c8ca3754f Added overwrite_existing argument to Transcoder::AddJob 2021-08-31 10:19:32 +01:00
Lukas Prediger 83d961f808 Transcoder: create output paths if they do not already exist 2021-08-31 10:19:32 +01:00
Lukas Prediger a6fef97cac Separating out filename formatting options into separate widget.
First step towards unifying filename formatting over different dialogs.
2021-08-31 10:19:32 +01:00
Clementine Buildbot 922afe506f Automatic merge of translations from Transifex 2021-08-27 02:44:07 +00:00
Ismael Luceno 8682d4de48 Fix sentinels in variadic function calls
Replace sentinel NULL with nullptr, guaranteed to be correctly expanded.

NULL may be defined as plain 0 in C++; which may lead to undefined upper
bits passed in variadic function arguments, causing crashes.

See: https://ewontfix.com/11/
2021-08-23 21:33:46 +01:00
Clementine Buildbot 03e13c69e7 Automatic merge of translations from Transifex 2021-08-17 02:42:46 +00:00
Clementine Buildbot 327d5fdac3 Automatic merge of translations from Transifex 2021-08-13 02:42:58 +00:00
Clementine Buildbot b55e54388f Automatic merge of translations from Transifex 2021-08-11 02:43:14 +00:00
Clementine Buildbot cddc08e148 Automatic merge of translations from Transifex 2021-08-09 02:42:51 +00:00
Clementine Buildbot bf424ce986 Automatic merge of translations from Transifex 2021-08-01 02:46:18 +00:00
Clementine Buildbot e2d6759d55 Automatic merge of translations from Transifex 2021-07-27 02:45:37 +00:00
Jim Broadus 102317e5c8 internet/podcasts: Fix crash when updating podcasts.
When a podcast is updated and the number of visible items is set in the
podcast settings, child items that disappear from the view, and are
deleted, are still referenced by the database id map.

Move the removal code from SubscriptionRemoved to a common method and
use that for this case.
2021-07-26 12:36:24 +01:00
Clementine Buildbot ac3a0d33f7 Automatic merge of translations from Transifex 2021-07-26 02:45:57 +00:00
Robin Lee 224c475b50 Rename multiple files to match the application ID
The desktop entry file, appdata file and installed icons are renamed to
match the application ID for the benefit of Flatpak packaging.
2021-07-20 11:21:05 +01:00
Clementine Buildbot dbe15e5e9f Automatic merge of translations from Transifex 2021-07-20 02:45:18 +00:00
Clementine Buildbot c0c9037677 Automatic merge of translations from Transifex 2021-07-19 02:44:08 +00:00
kentsangkm 6982b47819 Search song from Spotify via web api 2021-07-18 10:45:10 +01:00
Clementine Buildbot 98dd3e48a6 Automatic merge of translations from Transifex 2021-07-17 02:45:02 +00:00
Clementine Buildbot 1e39ce29a4 Automatic merge of translations from Transifex 2021-07-15 02:43:57 +00:00
Jonas Kvinge daa2f25e3c Replace Q_ENUMS with Q_ENUM
Q_ENUMS is obsolete. See: https://doc.qt.io/qt-5/qobject-obsolete.html
The replacement is Q_ENUM which was introduced in Qt 5.5, and Clementine
requires Qt 5.6.
2021-07-14 10:19:28 +01:00
Jonas Kvinge f379ad84d4 Fix use of emit
Adds missing emits.

QTreeView::collapse and QTreeView::expand are slots, not signals. So
remove emit.
2021-07-14 10:18:47 +01:00
Jonas Kvinge 320a1b81c9 Fix incorrect use of QFutureWatcher
To avoid a race condition, it is important to call setFuture() after doing the connections.

See: https://doc.qt.io/qt-6/qfuturewatcher.html
2021-07-14 10:18:15 +01:00
Jonas Kvinge 0c1b6a2a44 Fix setting task blocking library scans
TaskManager::SetTaskBlocksLibraryScans() takes the ID of the task.
2021-07-14 10:18:01 +01:00
Jonas Kvinge 598e660aeb Unref bus in SongLoader::LoadRemote()
See: https://developer.gnome.org/gstreamer/stable/GstPipeline.html#gst-pipeline-get-bus
2021-07-14 10:17:50 +01:00
Jonas Kvinge 4d34748401 Fix memory leak in global search context menu 2021-07-14 10:17:35 +01:00
Clementine Buildbot b3b769f0e7 Automatic merge of translations from Transifex 2021-07-14 02:43:05 +00:00
Clementine Buildbot 2902a8786e Automatic merge of translations from Transifex 2021-07-12 02:43:07 +00:00
Clementine Buildbot 4acfdae740 Automatic merge of translations from Transifex 2021-07-09 02:43:48 +00:00
Jim Broadus a5e84bbe98 internet: Add common InternetService::ConfigRequired() method.
This will allow some common handling of unconfigured services.
2021-07-07 10:47:01 +01:00
Clementine Buildbot 7cb5f5c804 Automatic merge of translations from Transifex 2021-07-06 02:43:44 +00:00
Clementine Buildbot db8de64abb Automatic merge of translations from Transifex 2021-07-03 02:40:42 +00:00
Jim Broadus a5fd484a61 internet: Consolidate ShowConfig methods.
InternetService::ShowConfig() and ShowSettingsPage() were used to show
the settings page for a service.
2021-07-02 11:54:21 +01:00
Adolfo Jayme Barrientos 25b537cf26 De-duplicate my translator credit 2021-07-02 10:29:17 +01:00
Clementine Buildbot 8c660e278c Automatic merge of translations from Transifex 2021-07-01 02:44:35 +00:00
kentsangkm f35a640ce3 clang-format 2021-06-30 22:05:18 +01:00
kentsangkm cbe384d142 Add override 2021-06-30 22:05:18 +01:00
Clementine Buildbot 4a83f8c817 Automatic merge of translations from Transifex 2021-06-30 02:47:46 +00:00
Clementine Buildbot 67a947f116 Automatic merge of translations from Transifex 2021-06-29 02:46:23 +00:00
Clementine Buildbot 1db1e3231f Automatic merge of translations from Transifex 2021-06-28 02:47:35 +00:00
Jim Broadus f9854e564d transcoder: Add options avenc_aac element.
Initially adding encoder and bitrate settings, but the gstreamer
element exposes a lot of ffmpeg options that can be added as needed.

Reference: https://gstreamer.freedesktop.org/documentation/libav/avenc_aac.html
2021-06-27 15:56:50 +01:00
Clementine Buildbot 5ab81fd8bc Automatic merge of translations from Transifex 2021-06-25 02:47:39 +00:00
Clementine Buildbot 62cb889a3f Automatic merge of translations from Transifex 2021-06-24 02:42:11 +00:00
Clementine Buildbot e46503d0c3 Automatic merge of translations from Transifex 2021-06-23 02:46:40 +00:00
Clementine Buildbot 54be35f528 Automatic merge of translations from Transifex 2021-06-22 02:51:35 +00:00
Jim Broadus 6240fd3d0a player: Fix crash on UrlHandler error.
In a case where a playlist is composed entirely of unresolvable
internet service URLs and the playlist is set to repeat, playing an
item will result in an infinite (until crash) recursive condition.
HandleLoadResult is called with a NoMoreTracks result. It then calls
NextItem, which calls PlayAt for the next item, which, again, calls
HandleLoadResult.

This can be reproduced by logging into a subsonic server, adding items
to an empty playlist, then signing out.

To solve this, separate the error condition from the NoMoreTracks
result. Handle URL resolution errors the same way that media playback
errors are handled, where an error count is incremented and the player
stops if a limit is reached. The common code also notifies the playlist
of the error and provides user feedback by graying out the item.
2021-06-21 12:52:25 +01:00
Lukas Prediger 57b5911f13 Fixes from code review for PR #7037 2021-06-21 12:51:44 +01:00
Lukas Prediger 6fa9cbcc65 Removing watch_for_disc_changes in CddaDevice constructor 2021-06-21 12:51:44 +01:00
Lukas Prediger 83b6bf28f3 No exceptions for error handling! ConnectedDevice::Init now returns bool, indicating success or failure.
As decreed by @hatstand.
2021-06-21 12:51:44 +01:00
Lukas Prediger a4ad507704 Removed some unused includes. 2021-06-21 12:51:44 +01:00
Lukas Prediger d2240ec0ae Device change watchdog timer no longer freezes main thread while CddaSongLoader is active. 2021-06-21 12:51:44 +01:00
Lukas Prediger 2dd566653f Dealing with cdio_open failures in CddaDevice constructor 2021-06-21 12:51:44 +01:00
Lukas Prediger e35e4195c2 Not using std::make_unique 2021-06-21 12:51:44 +01:00
Lukas Prediger 6ea20336c2 CddaSongLoader: Only run one song loading thread at once.
- CddaSongLoader destructor waits for thread to end.
- Added flag to interrupt LoadSongsFromCdda
- Only start song loading if not already running
- Removed (now obsolete) mutex
2021-06-21 12:51:44 +01:00
Lukas Prediger ae9824e26a RipCDDialog no longer needs to LoadSongs on show. 2021-06-21 12:51:44 +01:00
Lukas Prediger 63953e1045 RipCDDialog now allows selecting the CD drive 2021-06-21 12:51:44 +01:00
Lukas Prediger b68734c761 Fix: Missing include guard for cddadevice in mainwindow.cpp 2021-06-21 12:51:44 +01:00
Lukas Prediger 95799a911d Removing ConnectedDevice::Refresh altogether 2021-06-21 12:51:44 +01:00
Lukas Prediger 639b918557 Removing CddaDevice::Refresh 2021-06-21 12:51:44 +01:00
Lukas Prediger 3c06b92b24 Ripper now works with a cdio instance passed into constructor
which comes from a CddaDevice corresponding to the device
2021-06-21 12:51:44 +01:00
Lukas Prediger ae3037984c RipCDDialog now uses CddaSongLoader from passed in CddaDevice 2021-06-21 12:51:44 +01:00
Lukas Prediger 14d5c25d37 Integrated cddevice back into cddadevice 2021-06-21 12:51:44 +01:00
Lukas Prediger 9ca75ae357 RipCDDialog now relies on CddaDevice to be notified about disc changes 2021-06-21 12:51:44 +01:00
Lukas Prediger d2c636ab46 Introducing CdDevice, simple wrapper for cdio that watches disc changes.
CddaDevice now relies on this to update song list. CddaDevice::Refresh is now a no-op.
2021-06-21 12:51:44 +01:00
Clementine Buildbot 11bd0db03b Automatic merge of translations from Transifex 2021-06-21 02:54:22 +00:00
Clementine Buildbot c3c77aef19 Automatic merge of translations from Transifex 2021-06-16 02:55:57 +00:00
Jim Broadus ffdaeba09f cueparser: Be more lenient when parsing indexes.
Most specs have mm:ss:ff as the index time format, but cue files have
been found with single digit minutes. e.g. 0:00:00 instead of 00:00:00

Reference: https://www.gnu.org/software/ccd2cue/manual/html_node/CUE-sheet-format.html
2021-06-15 14:14:00 +01:00
Clementine Buildbot 2bf8f1388b Automatic merge of translations from Transifex 2021-06-15 02:57:02 +00:00
Clementine Buildbot 418a366931 Automatic merge of translations from Transifex 2021-06-14 02:55:24 +00:00