[Scummvm-cvs-logs] SF.net SVN: scummvm:[46414] scummvm/trunk/engines/sci

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri Dec 18 19:32:09 CET 2009


Revision: 46414
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46414&view=rev
Author:   thebluegr
Date:     2009-12-18 18:32:09 +0000 (Fri, 18 Dec 2009)

Log Message:
-----------
Moved the interface class for the the custom SCI MIDI drivers together with the actual driver implementation code

Modified Paths:
--------------
    scummvm/trunk/engines/sci/console.cpp
    scummvm/trunk/engines/sci/sfx/core.cpp
    scummvm/trunk/engines/sci/sfx/iterator.h
    scummvm/trunk/engines/sci/sfx/iterator_internal.h
    scummvm/trunk/engines/sci/sfx/seq/instrument-map.cpp
    scummvm/trunk/engines/sci/sfx/softseq/adlib.cpp
    scummvm/trunk/engines/sci/sfx/softseq/amiga.cpp
    scummvm/trunk/engines/sci/sfx/softseq/pcjr.cpp
    scummvm/trunk/engines/sci/sfx/softseq/pcjr.h

Added Paths:
-----------
    scummvm/trunk/engines/sci/sfx/softseq/mididriver.h

Removed Paths:
-------------
    scummvm/trunk/engines/sci/sfx/sci_midi.h

Modified: scummvm/trunk/engines/sci/console.cpp
===================================================================
--- scummvm/trunk/engines/sci/console.cpp	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/console.cpp	2009-12-18 18:32:09 UTC (rev 46414)
@@ -42,7 +42,7 @@
 #endif
 #include "sci/sfx/songlib.h"	// for SongLibrary
 #include "sci/sfx/iterator.h"	// for SCI_SONG_ITERATOR_TYPE_SCI0
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 #include "sci/vocabulary.h"
 #include "sci/gui/gui.h"
 #include "sci/gui/gui_cursor.h"

Modified: scummvm/trunk/engines/sci/sfx/core.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/core.cpp	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/core.cpp	2009-12-18 18:32:09 UTC (rev 46414)
@@ -28,7 +28,7 @@
 #include "sci/sci.h"
 #include "sci/sfx/core.h"
 #include "sci/sfx/iterator.h"
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 
 #include "sci/sfx/softseq/pcjr.h"
 

Modified: scummvm/trunk/engines/sci/sfx/iterator.h
===================================================================
--- scummvm/trunk/engines/sci/sfx/iterator.h	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/iterator.h	2009-12-18 18:32:09 UTC (rev 46414)
@@ -28,7 +28,7 @@
 #ifndef SCI_SFX_SFX_ITERATOR_H
 #define SCI_SFX_SFX_ITERATOR_H
 
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 
 namespace Audio {
 	class AudioStream;

Modified: scummvm/trunk/engines/sci/sfx/iterator_internal.h
===================================================================
--- scummvm/trunk/engines/sci/sfx/iterator_internal.h	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/iterator_internal.h	2009-12-18 18:32:09 UTC (rev 46414)
@@ -27,7 +27,7 @@
 #define SCI_SFX_SFX_ITERATOR_INTERNAL
 
 #include "sci/sfx/iterator.h"
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 
 #include "common/array.h"
 #include "common/list.h"

Deleted: scummvm/trunk/engines/sci/sfx/sci_midi.h
===================================================================
--- scummvm/trunk/engines/sci/sfx/sci_midi.h	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/sci_midi.h	2009-12-18 18:32:09 UTC (rev 46414)
@@ -1,106 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-#ifndef SCI_SFX_MIDI_H
-#define SCI_SFX_MIDI_H
-
-#include "sound/mididrv.h"
-#include "sound/softsynth/emumidi.h"
-#include "common/error.h"
-
-namespace Sci {
-
-class ResourceManager;
-
-enum {
-	MIDI_CHANNELS = 16,
-	MIDI_PROP_MASTER_VOLUME = 0
-};
-
-
-#define MIDI_RHYTHM_CHANNEL 9
-
-/* Special SCI sound stuff */
-
-#define SCI_MIDI_TIME_EXPANSION_PREFIX 0xF8
-#define SCI_MIDI_TIME_EXPANSION_LENGTH 240
-
-#define SCI_MIDI_EOT 0xFC
-#define SCI_MIDI_SET_SIGNAL 0xCF
-#define SCI_MIDI_SET_POLYPHONY 0x4B
-#define SCI_MIDI_RESET_ON_SUSPEND 0x4C
-#define SCI_MIDI_CHANNEL_MUTE 0x4E
-#define SCI_MIDI_SET_REVERB 0x50
-#define SCI_MIDI_HOLD 0x52
-#define SCI_MIDI_CUMULATIVE_CUE 0x60
-#define SCI_MIDI_CHANNEL_SOUND_OFF 0x78 /* all-sound-off for Bn */
-#define SCI_MIDI_CHANNEL_NOTES_OFF 0x7B /* all-notes-off for Bn */
-
-#define SCI_MIDI_SET_SIGNAL_LOOP 0x7F
-/* If this is the parameter of 0xCF, the loop point is set here */
-
-#define SCI_MIDI_CONTROLLER(status) ((status & 0xF0) == 0xB0)
-
-class MidiPlayer : public MidiDriver {
-protected:
-	MidiDriver *_driver;
-public:
-	int open() { return open(NULL); }
-	virtual int open(ResourceManager *resMan) { return _driver->open(); }
-	virtual void close() { _driver->close(); }
-	virtual void send(uint32 b) { _driver->send(b); }
-	uint32 getBaseTempo() { return _driver->getBaseTempo(); }
-	virtual bool hasRhythmChannel() const = 0;
-	MidiChannel *allocateChannel() { return _driver->allocateChannel(); }
-	MidiChannel *getPercussionChannel() { return _driver->getPercussionChannel(); }
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) { _driver->setTimerCallback(timer_param, timer_proc); }
-
-	virtual int getPlayMask() const = 0;
-	virtual int getPolyphony() const = 0;
-
-	virtual void setVolume(byte volume) {
-		if(_driver)
-			_driver->property(MIDI_PROP_MASTER_VOLUME, volume);
-	}
-
-	virtual int getVolume() {
-		return _driver ? _driver->property(MIDI_PROP_MASTER_VOLUME, 0xffff) : 0;
- 	}
-
-	virtual void playSwitch(bool play) {
-		if (!play) {
-			// Send "All Sound Off" on all channels
-			for (int i = 0; i < MIDI_CHANNELS; ++i)
-				_driver->send(0xb0 + i, SCI_MIDI_CHANNEL_NOTES_OFF, 0);
-		}
-	}
-};
-
-extern MidiPlayer *MidiPlayer_Adlib_create();
-extern MidiPlayer *MidiPlayer_Amiga_create();
-
-} // End of namespace Sci
-
-#endif // SCI_SFX_MIDI_H

Modified: scummvm/trunk/engines/sci/sfx/seq/instrument-map.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/seq/instrument-map.cpp	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/seq/instrument-map.cpp	2009-12-18 18:32:09 UTC (rev 46414)
@@ -24,7 +24,7 @@
  */
 
 #include "common/scummsys.h"
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 #include "sci/sfx/seq/instrument-map.h"
 #include "sci/sfx/core.h"
 

Modified: scummvm/trunk/engines/sci/sfx/softseq/adlib.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/softseq/adlib.cpp	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/softseq/adlib.cpp	2009-12-18 18:32:09 UTC (rev 46414)
@@ -30,7 +30,7 @@
 #include "sound/softsynth/emumidi.h"
 
 #include "sci/resource.h"
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 
 namespace Sci {
 

Modified: scummvm/trunk/engines/sci/sfx/softseq/amiga.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/softseq/amiga.cpp	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/softseq/amiga.cpp	2009-12-18 18:32:09 UTC (rev 46414)
@@ -24,7 +24,7 @@
  */
 
 #include "sound/softsynth/emumidi.h"
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 
 #include "common/file.h"
 #include "common/frac.h"

Copied: scummvm/trunk/engines/sci/sfx/softseq/mididriver.h (from rev 46270, scummvm/trunk/engines/sci/sfx/sci_midi.h)
===================================================================
--- scummvm/trunk/engines/sci/sfx/softseq/mididriver.h	                        (rev 0)
+++ scummvm/trunk/engines/sci/sfx/softseq/mididriver.h	2009-12-18 18:32:09 UTC (rev 46414)
@@ -0,0 +1,106 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#ifndef SCI_SFX_SOFTSEQ_MIDIDRIVER_H
+#define SCI_SFX_SOFTSEQ_MIDIDRIVER_H
+
+#include "sound/mididrv.h"
+#include "sound/softsynth/emumidi.h"
+#include "common/error.h"
+
+namespace Sci {
+
+class ResourceManager;
+
+enum {
+	MIDI_CHANNELS = 16,
+	MIDI_PROP_MASTER_VOLUME = 0
+};
+
+
+#define MIDI_RHYTHM_CHANNEL 9
+
+/* Special SCI sound stuff */
+
+#define SCI_MIDI_TIME_EXPANSION_PREFIX 0xF8
+#define SCI_MIDI_TIME_EXPANSION_LENGTH 240
+
+#define SCI_MIDI_EOT 0xFC
+#define SCI_MIDI_SET_SIGNAL 0xCF
+#define SCI_MIDI_SET_POLYPHONY 0x4B
+#define SCI_MIDI_RESET_ON_SUSPEND 0x4C
+#define SCI_MIDI_CHANNEL_MUTE 0x4E
+#define SCI_MIDI_SET_REVERB 0x50
+#define SCI_MIDI_HOLD 0x52
+#define SCI_MIDI_CUMULATIVE_CUE 0x60
+#define SCI_MIDI_CHANNEL_SOUND_OFF 0x78 /* all-sound-off for Bn */
+#define SCI_MIDI_CHANNEL_NOTES_OFF 0x7B /* all-notes-off for Bn */
+
+#define SCI_MIDI_SET_SIGNAL_LOOP 0x7F
+/* If this is the parameter of 0xCF, the loop point is set here */
+
+#define SCI_MIDI_CONTROLLER(status) ((status & 0xF0) == 0xB0)
+
+class MidiPlayer : public MidiDriver {
+protected:
+	MidiDriver *_driver;
+public:
+	int open() { return open(NULL); }
+	virtual int open(ResourceManager *resMan) { return _driver->open(); }
+	virtual void close() { _driver->close(); }
+	virtual void send(uint32 b) { _driver->send(b); }
+	uint32 getBaseTempo() { return _driver->getBaseTempo(); }
+	virtual bool hasRhythmChannel() const = 0;
+	MidiChannel *allocateChannel() { return _driver->allocateChannel(); }
+	MidiChannel *getPercussionChannel() { return _driver->getPercussionChannel(); }
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) { _driver->setTimerCallback(timer_param, timer_proc); }
+
+	virtual int getPlayMask() const = 0;
+	virtual int getPolyphony() const = 0;
+
+	virtual void setVolume(byte volume) {
+		if(_driver)
+			_driver->property(MIDI_PROP_MASTER_VOLUME, volume);
+	}
+
+	virtual int getVolume() {
+		return _driver ? _driver->property(MIDI_PROP_MASTER_VOLUME, 0xffff) : 0;
+ 	}
+
+	virtual void playSwitch(bool play) {
+		if (!play) {
+			// Send "All Sound Off" on all channels
+			for (int i = 0; i < MIDI_CHANNELS; ++i)
+				_driver->send(0xb0 + i, SCI_MIDI_CHANNEL_NOTES_OFF, 0);
+		}
+	}
+};
+
+extern MidiPlayer *MidiPlayer_Adlib_create();
+extern MidiPlayer *MidiPlayer_Amiga_create();
+
+} // End of namespace Sci
+
+#endif // SCI_SFX_SOFTSEQ_MIDIDRIVER_H

Modified: scummvm/trunk/engines/sci/sfx/softseq/pcjr.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/softseq/pcjr.cpp	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/softseq/pcjr.cpp	2009-12-18 18:32:09 UTC (rev 46414)
@@ -23,7 +23,7 @@
  *
  */
 
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 #include "sci/sfx/softseq/pcjr.h"
 
 namespace Sci {

Modified: scummvm/trunk/engines/sci/sfx/softseq/pcjr.h
===================================================================
--- scummvm/trunk/engines/sci/sfx/softseq/pcjr.h	2009-12-18 17:48:45 UTC (rev 46413)
+++ scummvm/trunk/engines/sci/sfx/softseq/pcjr.h	2009-12-18 18:32:09 UTC (rev 46414)
@@ -23,7 +23,7 @@
  *
  */
 
-#include "sci/sfx/sci_midi.h"
+#include "sci/sfx/softseq/mididriver.h"
 
 namespace Sci {
 


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