[Scummvm-cvs-logs] SF.net SVN: scummvm:[54714] scummvm/trunk/backends/platform/dc

marcus_c at users.sourceforge.net marcus_c at users.sourceforge.net
Wed Dec 1 20:57:24 CET 2010


Revision: 54714
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54714&view=rev
Author:   marcus_c
Date:     2010-12-01 19:57:23 +0000 (Wed, 01 Dec 2010)

Log Message:
-----------
Adapted CDDA interface to the new standard.

Modified Paths:
--------------
    scummvm/trunk/backends/platform/dc/dc.h
    scummvm/trunk/backends/platform/dc/dcmain.cpp

Modified: scummvm/trunk/backends/platform/dc/dc.h
===================================================================
--- scummvm/trunk/backends/platform/dc/dc.h	2010-12-01 19:46:46 UTC (rev 54713)
+++ scummvm/trunk/backends/platform/dc/dc.h	2010-12-01 19:57:23 UTC (rev 54714)
@@ -28,6 +28,7 @@
 #include <graphics/colormasks.h>
 #include <ronin/soundcommon.h>
 #include "backends/timer/default/default-timer.h"
+#include "backends/audiocd/default/default-audiocd.h"
 #include "backends/fs/fs-factory.h"
 #include "sound/mixer_intern.h"
 
@@ -50,6 +51,24 @@
   DCHardware() { dc_init_hardware(); }
 };
 
+class DCCDManager : public DefaultAudioCDManager {
+  // Initialise the specified CD drive for audio playback.
+  bool openCD(int drive);
+
+  // Poll cdrom status
+  // Returns true if cd audio is playing
+  bool pollCD();
+
+  // Play cdrom audio track
+  void playCD(int track, int num_loops, int start_frame, int duration);
+
+  // Stop cdrom audio track
+  void stopCD();
+
+  // Update cdrom audio status
+  void updateCD();
+};
+
 class OSystem_Dreamcast : private DCHardware, public BaseBackend, public FilesystemFactory {
 
  public:
@@ -135,22 +154,8 @@
   // Returns true if an event was retrieved.
   bool pollEvent(Common::Event &event);
 
-  // Initialise the specified CD drive for audio playback.
-  bool openCD(int drive);
+  AudioCDManager *getAudioCDManager() { return _cdManager; }
 
-  // Poll cdrom status
-  // Returns true if cd audio is playing
-  bool pollCD();
-
-  // Play cdrom audio track
-  void playCD(int track, int num_loops, int start_frame, int duration);
-
-  // Stop cdrom audio track
-  void stopCD();
-
-  // Update cdrom audio status
-  void updateCD();
-
   // Quit
   void quit();
 
@@ -194,6 +199,7 @@
   Audio::MixerImpl *_mixer;
   DefaultTimerManager *_timer;
   SoftKeyboard _softkbd;
+  DCCDManager *_cdManager;
 
   int _ms_cur_x, _ms_cur_y, _ms_cur_w, _ms_cur_h, _ms_old_x, _ms_old_y;
   int _ms_hotspot_x, _ms_hotspot_y, _ms_visible, _devpoll, _last_screen_refresh;

Modified: scummvm/trunk/backends/platform/dc/dcmain.cpp
===================================================================
--- scummvm/trunk/backends/platform/dc/dcmain.cpp	2010-12-01 19:46:46 UTC (rev 54713)
+++ scummvm/trunk/backends/platform/dc/dcmain.cpp	2010-12-01 19:57:23 UTC (rev 54714)
@@ -61,6 +61,8 @@
   uint sampleRate = initSound();
   _mixer = new Audio::MixerImpl(this, sampleRate);
   _mixer->setReady(true);
+
+  _cdManager = new DCCDManager();
 }
 
 
@@ -86,7 +88,7 @@
   return false;
 }
 
-void OSystem_Dreamcast::playCD(int track, int num_loops, int start_frame, int duration)
+void DCCDManager::playCD(int track, int num_loops, int start_frame, int duration)
 {
   int first_sec, last_sec;
 #if 1
@@ -103,23 +105,23 @@
   play_cdda_sectors(first_sec, last_sec, num_loops);
 }
 
-void OSystem_Dreamcast::stopCD()
+void DCCDManager::stopCD()
 {
   stop_cdda();
 }
 
-bool OSystem_Dreamcast::pollCD()
+bool DCCDManager::pollCD()
 {
   extern int getCdState();
   return getCdState() == 3;
 }
 
-void OSystem_Dreamcast::updateCD()
+void DCCDManager::updateCD()
 {
   // Dummy.  The CD drive takes care of itself.
 }
 
-bool OSystem_Dreamcast::openCD(int drive)
+bool DCCDManager::openCD(int drive)
 {
   // Dummy.
   return true;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list