[Scummvm-cvs-logs] CVS: scummvm/sky/music adlibchannel.cpp,1.21,1.22 adlibmusic.cpp,1.27,1.28 adlibmusic.h,1.15,1.16 gmmusic.cpp,1.26,1.27 gmmusic.h,1.16,1.17 musicbase.cpp,1.26,1.27 musicbase.h,1.22,1.23

Robert Göffringmann lavosspawn at users.sourceforge.net
Sun Dec 4 21:04:00 CET 2005


Update of /cvsroot/scummvm/scummvm/sky/music
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14280/sky/music

Modified Files:
	adlibchannel.cpp adlibmusic.cpp adlibmusic.h gmmusic.cpp 
	gmmusic.h musicbase.cpp musicbase.h 
Log Message:
some cleanup, engine returns to the launcher now instead of calling OSystem::quit.
I suppose it leaks memory though...

Index: adlibchannel.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/adlibchannel.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- adlibchannel.cpp	18 Oct 2005 01:30:23 -0000	1.21
+++ adlibchannel.cpp	5 Dec 2005 05:02:43 -0000	1.22
@@ -84,7 +84,7 @@
 
 void AdlibChannel::updateVolume(uint16 pVolume) {
 
-	_musicVolume = pVolume;
+	_musicVolume = pVolume * 3;
 }
 
 /*	This class uses the same area for the register mirror as the original

Index: adlibmusic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/adlibmusic.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- adlibmusic.cpp	18 Oct 2005 01:30:23 -0000	1.27
+++ adlibmusic.cpp	5 Dec 2005 05:02:43 -0000	1.28
@@ -41,14 +41,6 @@
 AdlibMusic::~AdlibMusic(void) {
 
 	_mixer->setupPremix(0);
-//	YM3812Shutdown();
-}
-
-void AdlibMusic::setVolume(uint8 volume) {
-
-	_musicVolume = volume;
-	for (uint8 cnt = 0; cnt < _numberOfChannels; cnt++)
-		_channels[cnt]->updateVolume(volume | 128);
 }
 
 void AdlibMusic::premixerCall(int16 *data, uint len) {
@@ -111,7 +103,7 @@
 	for (uint8 cnt = 0; cnt < _numberOfChannels; cnt++) {
 		uint16 chDataStart = ((channelData[(cnt << 1) | 1] << 8) | channelData[cnt << 1]) + _musicDataLoc;
 		_channels[cnt] = new AdlibChannel(_opl, _musicData, chDataStart);
-		_channels[cnt]->updateVolume(_musicVolume | 128);
+		_channels[cnt]->updateVolume(_musicVolume);
 	}
 }
 

Index: adlibmusic.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/adlibmusic.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- adlibmusic.h	18 Oct 2005 01:30:23 -0000	1.15
+++ adlibmusic.h	5 Dec 2005 05:02:43 -0000	1.16
@@ -36,7 +36,6 @@
 public:
 	AdlibMusic(Audio::Mixer *pMixer, Disk *pDisk);
 	~AdlibMusic(void);
-	virtual void setVolume(uint8 volume);
 
 	// AudioStream API
 	int readBuffer(int16 *buffer, const int numSamples) {

Index: gmmusic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/gmmusic.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- gmmusic.cpp	18 Oct 2005 01:30:23 -0000	1.26
+++ gmmusic.cpp	5 Dec 2005 05:02:43 -0000	1.27
@@ -58,11 +58,6 @@
 	delete _midiDrv;
 }
 
-void GmMusic::setVolume(uint8 volume) {
-
-	setFMVolume(volume);
-}
-
 void GmMusic::timerCall(void) {
 	_timerCount += _midiDrv->getBaseTempo();
 	if (_timerCount > (1000000 / 50)) {

Index: gmmusic.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/gmmusic.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- gmmusic.h	18 Oct 2005 01:30:23 -0000	1.16
+++ gmmusic.h	5 Dec 2005 05:02:43 -0000	1.17
@@ -32,7 +32,6 @@
 public:
 	GmMusic(MidiDriver *pMidiDrv, Disk *pDisk);
 	~GmMusic(void);
-	virtual void setVolume(uint8 volume);
 private:
 	static void passTimerFunc(void *param);
 	void timerCall(void);

Index: musicbase.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/musicbase.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- musicbase.cpp	18 Oct 2005 01:30:23 -0000	1.26
+++ musicbase.cpp	5 Dec 2005 05:02:43 -0000	1.27
@@ -37,6 +37,7 @@
 
 MusicBase::~MusicBase(void) {
 
+	stopMusic();
 	if (_musicData)
 		free(_musicData);
 }
@@ -71,47 +72,7 @@
 	return false;
 }
 
-void MusicBase::musicCommand(uint16 command) {
-
-	if (_musicData == NULL) {
-		debug(1,"Got music command but driver is not yet loaded");
-		return ;
-	}
-	if ((command >> 8) > _allowedCommands) {
-		debug(1,"got musicCommand %d while expecting <= %d", command >> 8, _allowedCommands);
-		return ;
-	}
-	switch(command >> 8) {
-	case 0:
-		debug(1,"Music: got call to startAdlibDriver(). Not necessary in this implementation.");
-		break;
-	case 1:
-		debug(1,"Music: got call to stopDriver(). Not necessary in this implementation.");
-		break;
-	case 2:
-		debug(1,"Music: got call to SetTempo(). Tempo is fixed in this implementation.");
-		break;
-	case 3:
-		debug(1,"Music: ignored direct call to driverPoll().");
-		break;
-	case 4:
-		startMusic(command & 0xFF);
-		break;
-	case 6:
-		reinitFM();
-		break;
-	case 7:
-		stopMusic();
-		break;
-	case 13:
-		setFMVolume(command & 0xFF);
-		break;
-	default:
-		debug(1,"musicCommand %d ignored.",command >> 8);
-	}
-}
-
-void MusicBase::setFMVolume(uint16 param) {
+void MusicBase::setVolume(uint16 param) {
 
 	_musicVolume = param;
 	for (uint8 cnt = 0; cnt < _numberOfChannels; cnt++)

Index: musicbase.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/musicbase.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- musicbase.h	18 Oct 2005 01:30:23 -0000	1.22
+++ musicbase.h	5 Dec 2005 05:02:43 -0000	1.23
@@ -52,13 +52,12 @@
 	MusicBase(Disk *pDisk);
 	virtual ~MusicBase(void);
 	void loadSection(uint8 pSection);
-	void musicCommand(uint16 command);
 	void startMusic(uint16 param) { _onNextPoll.musicToProcess = param & 0xF; }; // 4
 	void stopMusic();                                                            // 7
 	bool musicIsPlaying(void);
-	virtual void setVolume(uint8 volume) = 0;
 	uint8 giveVolume(void) { return (uint8)_musicVolume; };
 	uint8 giveCurrentMusic(void) { return _currentMusic; };
+	void setVolume(uint16 param);
 
 protected:
 
@@ -80,16 +79,11 @@
 
 	virtual void setupPointers(void) = 0;
 	virtual void setupChannels(uint8 *channelData) = 0;
+	virtual void startDriver(void) = 0;
 
 	void updateTempo(void);
 	void loadNewMusic(void);
-	//-                           functions from CommandTable @0x90 (the main interface)
-	virtual void startDriver(void) = 0;                                          // 0
-	void StopDriver(void);                                                       // 1
-	void setTempo(uint16 newTempo);                                              // 2
-	void pollMusic();                                                            // 3
-	void reinitFM(void) { _onNextPoll.doReInit = true; };                        // 6
-	void setFMVolume(uint16 param);                                              // 13
+	void pollMusic(void);
 };
 
 } // End of namespace Sky





More information about the Scummvm-git-logs mailing list