Commit Graph

26 Commits

Author SHA1 Message Date
Lukas Prediger cefe81d0c1 Removing Ripper dependence on cdio
and therefore no longer exposing cdio through CddaDevice
2022-01-10 16:39:58 +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
kentsangkm f35a640ce3 clang-format 2021-06-30 22:05:18 +01:00
kentsangkm cbe384d142 Add override 2021-06-30 22:05:18 +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 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
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Jim Broadus 7e3cd84b5d Fix cdda playback
QUrl interprets a single number as an ip address, so the track URL cdda://1
would become cdda://0.0.0.1. A previous fix addresses this issue by adding an
extra character "a" to the affected URLs then removing the last instance of the
character upon usage. However, this didn't apply when a path was present
(cdda:///dev/sr0/1), but would still attempt to reverse the change later
(cdd:///dev/sr0/1).

This change applies the fix-up to all cdda urls and moves the conversion
utilities to a single location.

See: 335bc89c9 ("Workaround for broken CD playback in Qt5 (#6021)")
2020-06-01 22:09:46 +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
David Sansome 39d99247a2 gstreamer-cdda is in gst-plugins-base in 1.0 and has a different header name.
This still doesn't work because the API has changed and track listings are
now delivered via a bus message instead of direct access to the struct's
members.
2014-09-22 22:28:53 +10: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
Veniamin Gvozdikov e6e72dc68d Change the include order to fix a build error on FreeBSD.
Fixes issue 3247
2012-10-31 10:45:18 -07: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
Arnaud Bienner 4509757233 We cannot change CD device's content: return false for those methods. This will display an error message, more explicit than doing nothing without any warning 2011-08-11 01:16:08 +02:00
Arnaud Bienner f7859f591c Adding CD devices in devices tab. Fixes issue 701. 2011-08-05 02:15:16 +02:00