[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