Commit Graph

38 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 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
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 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
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
Arnaud Bienner a8266173c5 Start to reactivate audio CD support 2014-10-26 00:28:03 +02:00
Mattias Andersson 0be0498e94 Reset the model during init of CddaDevice
This ensures that the track list in the device tab is correctly updated when a
disc is replaced with one that doesn't exist in the MusicBrainz database.
2014-05-24 13:54:07 +02:00
John Maguire 3323c2d094 Convert all instances of foreach() to a C++11 for
find ext src -name '*.cpp' -exec \
    sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01: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
John Maguire 71893e4847 Use nullptr instead of NULL everywhere. 2014-02-06 17:29:59 +01:00
Arnaud Bienner e9c98733b3 Also update song count when tags are loaded: I don't know why but there not updated in Init 2012-11-18 22:14:06 +01: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
David Sansome e9c0b4bd69 Musicbrainz tagging improvements:
* Fix a bug where the song title would be used for the album field
  * Get the album's year as well
  * Include all releases for a song in the results list
  * Remove duplicate albums
  * Sort results
2012-01-07 21:51:02 +00:00
David Sansome b873209d39 Remove the <xiphcomment.h> include from song.h so that windows headers don't infect everything else. Also move other bits of song.h into song.cpp, and reduce the number of includes in song.h. 2011-11-28 13:56:55 +00:00
Arnaud Bienner 5841bb58a7 Correct typo in comment 2011-08-19 22:31:48 +02:00
Arnaud Bienner 419447e192 Reset song count during init 2011-08-18 20:23:11 +02:00
John Maguire 56a4d6b743 Fix double unref on cdda element. 2011-08-15 18:08:09 +02:00
John Maguire 50824cafe9 Make AskForScan() per-device rather than per device lister and fix cddadevice to use the url rather than the unique id. 2011-08-11 22:10:14 +02:00
John Maguire b458c9d24c Merge branch 'master' of https://code.google.com/p/clementine-player
Conflicts:
	src/devices/devicemanager.cpp
2011-08-11 21:46:48 +02:00
John Maguire 47a171fca7 Detect cd insertion on mac. 2011-08-11 21:37:09 +02:00
Arnaud Bienner 0b795841d5 Merge branch 'master' of https://code.google.com/p/clementine-player 2011-08-10 00:49:43 +02:00
Arnaud Bienner 07ce755060 Work with multiple CD devices 2011-08-10 00:49:36 +02:00
John Maguire 6d9bc9d3f4 Don't constantly refresh the cd device if it doesn't support checking for media changes.
Filter out irrelevant devices on OS X.
2011-08-09 21:30:28 +02:00
Arnaud Bienner f7859f591c Adding CD devices in devices tab. Fixes issue 701. 2011-08-05 02:15:16 +02:00