[Scummvm-cvs-logs] SF.net SVN: scummvm: [23033] scummvm/trunk/gui

sev at users.sourceforge.net sev at users.sourceforge.net
Sun Jun 11 22:51:52 CEST 2006


Revision: 23033
Author:   sev
Date:     2006-06-11 13:51:14 -0700 (Sun, 11 Jun 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=23033&view=rev

Log Message:
-----------
Patch #1336171: "MIDI gain setting for FluidSynth" with slight modifications
of PSP theme to fit new slider into MIDI tab.

Modified Paths:
--------------
    scummvm/trunk/gui/options.cpp
    scummvm/trunk/gui/options.h
    scummvm/trunk/gui/theme-config.cpp
    scummvm/trunk/gui/themes/modern.ini
Modified: scummvm/trunk/gui/options.cpp
===================================================================
--- scummvm/trunk/gui/options.cpp	2006-06-11 20:40:22 UTC (rev 23032)
+++ scummvm/trunk/gui/options.cpp	2006-06-11 20:51:14 UTC (rev 23033)
@@ -58,6 +58,7 @@
 // - aspect ratio, language, platform, debug mode/level, cd drive, joystick, multi midi, native mt32
 
 enum {
+	kMidiGainChanged		= 'mgch',
 	kMusicVolumeChanged		= 'muvc',
 	kSfxVolumeChanged		= 'sfvc',
 	kSubtitleToggle			= 'sttg',
@@ -199,6 +200,13 @@
 			_soundFont->setLabel("None");
 		else
 			_soundFont->setLabel(soundFont);
+
+		// MIDI gain setting
+		char buf[10];
+
+		_midiGainSlider->setValue(ConfMan.getInt("midi_gain", _domain));
+		sprintf(buf, "%.2f", (double)_midiGainSlider->getValue() / 100.0);
+		_midiGainLabel->setLabel(buf);
 	}
 
 	// Volume options
@@ -304,6 +312,7 @@
 				ConfMan.setBool("multi_midi", _multiMidiCheckbox->getState(), _domain);
 				ConfMan.setBool("native_mt32", _mt32Checkbox->getState(), _domain);
 				ConfMan.setBool("enable_gs", _enableGSCheckbox->getState(), _domain);
+				ConfMan.setInt("midi_gain", _midiGainSlider->getValue(), _domain);
 
 				String soundFont(_soundFont->getLabel());
 				if (!soundFont.empty() && (soundFont != "None"))
@@ -312,6 +321,7 @@
 				ConfMan.removeKey("multi_midi", _domain);
 				ConfMan.removeKey("native_mt32", _domain);
 				ConfMan.removeKey("enable_gs", _domain);
+				ConfMan.removeKey("midi_gain", _domain);
 				ConfMan.removeKey("soundfont", _domain);
 			}
 		}
@@ -360,7 +370,14 @@
 }
 
 void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
+	char buf[10];
+
 	switch (cmd) {
+	case kMidiGainChanged:
+		sprintf(buf, "%.2f", (double)_midiGainSlider->getValue() / 100.0);
+		_midiGainLabel->setLabel(buf);
+		_midiGainLabel->draw();
+		break;
 	case kMusicVolumeChanged:
 		_musicVolumeLabel->setValue(_musicVolumeSlider->getValue());
 		_musicVolumeLabel->draw();
@@ -423,6 +440,9 @@
 	_multiMidiCheckbox->setEnabled(enabled);
 	_mt32Checkbox->setEnabled(enabled);
 	_enableGSCheckbox->setEnabled(enabled);
+	_midiGainDesc->setEnabled(enabled);
+	_midiGainSlider->setEnabled(enabled);
+	_midiGainLabel->setEnabled(enabled);
 }
 
 void OptionsDialog::setVolumeSettingsState(bool enabled) {
@@ -518,6 +538,13 @@
 	// GS Extensions setting
 	_enableGSCheckbox = new CheckboxWidget(boss, prefix + "mcGSCheckbox", "Enable Roland GS Mode", 0, 0);
 
+	// MIDI gain setting (FluidSynth uses this)
+	_midiGainDesc = new StaticTextWidget(boss, prefix + "mcMidiGainText", "MIDI gain:");
+	_midiGainSlider = new SliderWidget(boss, prefix + "mcMidiGainSlider", kMidiGainChanged);
+	_midiGainSlider->setMinValue(0);
+	_midiGainSlider->setMaxValue(1000);
+	_midiGainLabel = new StaticTextWidget(boss, prefix + "mcMidiGainLabel", "1.00");
+
 	_enableMIDISettings = true;
 }
 

Modified: scummvm/trunk/gui/options.h
===================================================================
--- scummvm/trunk/gui/options.h	2006-06-11 20:40:22 UTC (rev 23032)
+++ scummvm/trunk/gui/options.h	2006-06-11 20:51:14 UTC (rev 23033)
@@ -99,6 +99,9 @@
 	CheckboxWidget *_multiMidiCheckbox;
 	CheckboxWidget *_mt32Checkbox;
 	CheckboxWidget *_enableGSCheckbox;
+	StaticTextWidget *_midiGainDesc;
+	SliderWidget *_midiGainSlider;
+	StaticTextWidget *_midiGainLabel;
 	
 	//
 	// Subtitle controls

Modified: scummvm/trunk/gui/theme-config.cpp
===================================================================
--- scummvm/trunk/gui/theme-config.cpp	2006-06-11 20:40:22 UTC (rev 23032)
+++ scummvm/trunk/gui/theme-config.cpp	2006-06-11 20:51:14 UTC (rev 23033)
@@ -366,6 +366,11 @@
 "opYoffset=(opYoffset + buttonHeight + midiControlsSpacing)\n"
 "mcGSCheckbox=mcx opYoffset (kFontHeight + 10 + 142) buttonHeight\n"
 "opYoffset=(opYoffset + buttonHeight + midiControlsSpacing)\n"
+"mcMidiGainText=mcx (opYoffset + 2) 95 kLineHeight\n"
+"mcMidiGainText.align=kTextAlignRight\n"
+"mcMidiGainSlider=(prev.x2 + 10) opYoffset sliderWidth sliderHeight\n"
+"mcMidiGainLabel=(prev.x2 + 10) (opYoffset + 2) 40 kLineHeight\n"
+"opYoffset=(opYoffset + sliderHeight + midiControlsSpacing)\n"
 "\n"
 "[subtitleControls]\n"
 "sbx=(opXoffset + 10)\n"

Modified: scummvm/trunk/gui/themes/modern.ini
===================================================================
--- scummvm/trunk/gui/themes/modern.ini	2006-06-11 20:40:22 UTC (rev 23032)
+++ scummvm/trunk/gui/themes/modern.ini	2006-06-11 20:51:14 UTC (rev 23033)
@@ -482,6 +482,11 @@
 opYoffset=(opYoffset + buttonHeight + midiControlsSpacing)
 mcGSCheckbox=mcx opYoffset (kFontHeight + 10 + 142) buttonHeight
 opYoffset=(opYoffset + buttonHeight + midiControlsSpacing)
+mcMidiGainText=mcx (opYoffset + 2) 80 kLineHeight
+mcMidiGainText.align=kTextAlignRight
+mcMidiGainSlider=(prev.x2 + 10) opYoffset sliderWidth sliderHeight
+mcMidiGainLabel=(prev.x2 + 10) (opYoffset + 2) 40 kLineHeight
+opYoffset=(opYoffset + sliderHeight + midiControlsSpacing)
 
 [subtitleControls]
 sbx=(opXoffset + 10)
@@ -537,9 +542,9 @@
 def_buttonWidth=100
 def_buttonHeight=23
 def_insetX=20
-def_insetY=(4 + kLineHeight)
+def_insetY=10
 def_insetW=(w - buttonWidth - 17 * 2 - insetX)
-def_insetH=(h - 23 - insetY)
+def_insetH=(h - 13 - insetY)
 def_launcherVersionX=50
 def_launcherVersionY=5
 def_volumeControlsInAudio=false


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