[Scummvm-git-logs] scummvm master -> 793d073744238dd5ba866202e7040d4b1809776b

athrxx noreply at scummvm.org
Sat Mar 16 14:51:38 UTC 2024


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
9c90080474 SCUMM: (v3/v5/Mac) - minor cleanup
793d073744 SCUMM: (IMS/Midi) - fix gs setting


Commit: 9c900804745ae782463a298ff082fdb186e17b89
    https://github.com/scummvm/scummvm/commit/9c900804745ae782463a298ff082fdb186e17b89
Author: athrxx (athrxx at scummvm.org)
Date: 2024-03-16T15:51:20+01:00

Commit Message:
SCUMM: (v3/v5/Mac) - minor cleanup

Changed paths:
    engines/scumm/scumm.cpp
    engines/scumm/scumm.h


diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 7fdcd9410f8..b34a7361ac9 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1437,7 +1437,7 @@ void ScummEngine::setupScumm(const Common::Path &macResourceFile) {
 		_sound = new Sound(this, _mixer, useReplacementAudioTracks);
 
 	// Setup the music engine
-	setupMusic(_game.midi, macInstrumentFile);
+	setupMusic(_game.midi);
 
 	// Load localization data, if present
 	loadLanguageBundle();
@@ -2011,7 +2011,7 @@ void ScummEngine_v100he::resetScumm() {
 }
 #endif
 
-void ScummEngine::setupMusic(int midi, const Common::Path &macInstrumentFile) {
+void ScummEngine::setupMusic(int midi) {
 	MidiDriver::DeviceHandle dev = MidiDriver::detectDevice(midi);
 	_native_mt32 = ((MidiDriver::getMusicType(dev) == MT_MT32) || ConfMan.getBool("native_mt32"));
 
@@ -2238,11 +2238,11 @@ void ScummEngine::setupMusic(int midi, const Common::Path &macInstrumentFile) {
 			}
 		}
 
-		uint32 imsFlags =  newSystem ? IMuse::kFlagNewSystem : 0;
+		uint32 imsFlags = 0;
+		if (newSystem)
+			imsFlags |= IMuse::kFlagNewSystem;
 		if (_native_mt32)
 			imsFlags |= IMuse::kFlagNativeMT32;
-		if (enable_gs)
-			imsFlags |= IMuse::kFlagRolandGS;
 
 		_imuse = IMuse::create(this, nativeMidiDriver, adlibMidiDriver, isMacM68kIMuse() ? MDT_MACINTOSH : _sound->_musicType, imsFlags);
 
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index 5b8369f3b1e..91e02d699bf 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -609,7 +609,7 @@ protected:
 	virtual void loadLanguageBundle();
 	void loadCJKFont();
 	void loadKorFont();
-	void setupMusic(int midi, const Common::Path &macInstrumentFile);
+	void setupMusic(int midi);
 	void setTalkSpeed(int talkspeed);
 	int getTalkSpeed();
 


Commit: 793d073744238dd5ba866202e7040d4b1809776b
    https://github.com/scummvm/scummvm/commit/793d073744238dd5ba866202e7040d4b1809776b
Author: athrxx (athrxx at scummvm.org)
Date: 2024-03-16T15:51:24+01:00

Commit Message:
SCUMM: (IMS/Midi) - fix gs setting

(the device shouldn't pretend to be an MT-32,
otherwise the engine will send sysex instruments
instead of doing normal program changes)

Changed paths:
    engines/scumm/imuse/drivers/midi.cpp
    engines/scumm/imuse/drivers/midi.h
    engines/scumm/imuse/imuse.cpp
    engines/scumm/imuse/imuse.h
    engines/scumm/imuse/imuse_internal.h


diff --git a/engines/scumm/imuse/drivers/midi.cpp b/engines/scumm/imuse/drivers/midi.cpp
index fc038acd8dd..a8474dad4a3 100644
--- a/engines/scumm/imuse/drivers/midi.cpp
+++ b/engines/scumm/imuse/drivers/midi.cpp
@@ -401,9 +401,9 @@ int IMuseDriver_GMidi::open() {
 	createChannels();
 
 	if (_gsMode)
-		initDeviceAsRolandGS();
-	else
-		initDevice();
+		initRolandGSMode();
+
+	initDevice();
 
 	return res;
 }
@@ -520,7 +520,7 @@ void IMuseDriver_GMidi::initDevice() {
 	}
 }
 
-void IMuseDriver_GMidi::initDeviceAsRolandGS() {
+void IMuseDriver_GMidi::initRolandGSMode() {
 	byte buffer[12];
 	int i;
 
diff --git a/engines/scumm/imuse/drivers/midi.h b/engines/scumm/imuse/drivers/midi.h
index 1c072c4dce8..e2714ebf549 100644
--- a/engines/scumm/imuse/drivers/midi.h
+++ b/engines/scumm/imuse/drivers/midi.h
@@ -66,7 +66,7 @@ protected:
 
 private:
 	virtual void initDevice();
-	void initDeviceAsRolandGS();
+	void initRolandGSMode();
 	virtual void deinitDevice();
 
 	void setNoteFlag(byte chan, byte note) { if (_notesPlaying && chan < 16 && note < 128) _notesPlaying[note] |= (1 << chan); }
diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp
index d6c4721baeb..9979875c64d 100644
--- a/engines/scumm/imuse/imuse.cpp
+++ b/engines/scumm/imuse/imuse.cpp
@@ -44,8 +44,7 @@ namespace Scumm {
 ////////////////////////////////////////
 
 IMuseInternal::IMuseInternal(ScummEngine *vm, MidiDriverFlags sndType, uint32 initFlags) :
-	_native_mt32((initFlags & kFlagNativeMT32) || (initFlags & kFlagRolandGS)), // GS Mode emulates MT-32 on a GS device, so _native_mt32 should always be true
-	_enable_gs(initFlags & kFlagRolandGS),
+	_native_mt32(initFlags & kFlagNativeMT32),
 	_newSystem(initFlags & kFlagNewSystem),
 	_midi_adlib(nullptr),
 	_midi_native(nullptr),
diff --git a/engines/scumm/imuse/imuse.h b/engines/scumm/imuse/imuse.h
index a711d5dd9fa..c25efc578b2 100644
--- a/engines/scumm/imuse/imuse.h
+++ b/engines/scumm/imuse/imuse.h
@@ -57,8 +57,7 @@ public:
 
 	enum {
 		kFlagNewSystem	=	1 << 0,
-		kFlagNativeMT32 =	1 << 1,
-		kFlagRolandGS =		1 << 2
+		kFlagNativeMT32 =	1 << 1
 	};
 
 public:
diff --git a/engines/scumm/imuse/imuse_internal.h b/engines/scumm/imuse/imuse_internal.h
index 1753f075bfb..721abbf1b3a 100644
--- a/engines/scumm/imuse/imuse_internal.h
+++ b/engines/scumm/imuse/imuse_internal.h
@@ -417,7 +417,6 @@ class IMuseInternal : public IMuse {
 
 protected:
 	const bool _native_mt32;
-	const bool _enable_gs;
 	const bool _newSystem;
 	const MidiDriverFlags _soundType;
 	MidiDriver *_midi_adlib;




More information about the Scummvm-git-logs mailing list