Commit Graph

8252 Commits

Author SHA1 Message Date
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
Clementine Buildbot 4aa4f4fce3 Automatic merge of translations from Transifex 2021-06-13 02:54:58 +00:00
Jim Broadus 3a00403ad0 build: Add patch for libgpod mac build.
Store patch file in repository rather than relying on strawberry's file
server.

Reference: 27955cc441
2021-06-12 15:14:44 +01:00
Clementine Buildbot 7fb387b967 Automatic merge of translations from Transifex 2021-06-12 02:54:18 +00:00
Jim Broadus 4e4fccc07a playlistparser: Add error mechanism for parsers.
Add a new Error signal to parser implementations. Display an error when
user tries to use the unimplemented CueParser::Save.
2021-06-11 10:17:20 +01:00
Jim Broadus f4108b5a0c playlistparser: Display errors on failures.
Add an Error signal to PlayListParser and connect that to the
PlayListManager::Error signal. This is eventually connected to the
Application::AddError. Add error messages in some cases where
PlayListParser can fail silently.
2021-06-11 10:17:20 +01:00
Clementine Buildbot 612767c878 Automatic merge of translations from Transifex 2021-06-09 03:12:09 +00:00
Clementine Buildbot b09ab3ff37 Automatic merge of translations from Transifex 2021-06-04 04:25:11 +00:00
Robin Ekman 0dbefa3064 Add a shortcut to go to next album 2021-06-03 17:06:48 +01:00
Fabio Bas 058fe6f4be fall back to url if url_resolved is empty 2021-06-02 22:40:13 +01:00
Fabio Bas 38ac0d3ccb Radiobrowser.info: use the url_resolved field for radio stations 2021-06-02 22:40:13 +01:00
John Maguire 72cfdf25a9 Remove FC32 build 2021-06-02 11:23:40 +01:00
Clementine Buildbot f674753758 Automatic merge of translations from Transifex 2021-05-31 05:04:40 +00:00
Clementine Buildbot f7369d2c42 Automatic merge of translations from Transifex 2021-05-28 04:26:27 +00:00
Clementine Buildbot 2132e99fbe Automatic merge of translations from Transifex 2021-05-27 03:59:34 +00:00
Clementine Buildbot 684c9d232f Automatic merge of translations from Transifex 2021-05-26 03:51:04 +00:00
Clementine Buildbot d71eba97fb Automatic merge of translations from Transifex 2021-05-25 03:20:50 +00:00
Jim Broadus f071075e8c build: Add Ubuntu Hirsute to workflows.
Reference: https://wiki.ubuntu.com/Releases
2021-05-24 23:05:56 +01:00
Jim Broadus 776bd3b022 settings: Add option to guess song metadata
Add "Try to guess missing metadata" option to the Song Metadata page
that controls the setting in SongPathParser.
2021-05-24 15:23:05 +01:00
Jim Broadus cf88e47206 settings: Create a new Song Metadata settings page
Move tagreader process settings to the new page.
2021-05-24 15:23:05 +01:00
Jim Broadus 01be9f196a settings: Organize page enums by category. 2021-05-24 15:23:05 +01:00
Lukas Prediger 89831f8dca MusicBrainzClient: Log message for malformed XML in reply 2021-05-18 12:13:10 +01:00
Lukas Prediger e756f2d686 CddaSongLoader: explicitly reading discid as UTF8 2021-05-18 12:12:01 +01:00
Lukas Prediger 8d69da28f3 Fixing freeing of memory in cddasongloader 2021-05-18 12:12:01 +01:00
Lukas Prediger 8668699977 CddaSongLoader: handle potential multiple tag messages correctly 2021-05-18 12:12:01 +01:00
Lukas Prediger e9945bcbc6 do NOT free toc entries in CddaSongLoader (reverting previous change) 2021-05-18 12:12:01 +01:00