[Scummvm-cvs-logs] SF.net SVN: scummvm:[54999] scummvm/trunk/engines/hugo
spookypeanut at users.sourceforge.net
spookypeanut at users.sourceforge.net
Wed Dec 22 10:09:38 CET 2010
Revision: 54999
http://scummvm.svn.sourceforge.net/scummvm/?rev=54999&view=rev
Author: spookypeanut
Date: 2010-12-22 09:09:38 +0000 (Wed, 22 Dec 2010)
Log Message:
-----------
HUGO: Add music debug level, some cleanup when opening driver
Modified Paths:
--------------
scummvm/trunk/engines/hugo/hugo.cpp
scummvm/trunk/engines/hugo/hugo.h
scummvm/trunk/engines/hugo/sound.cpp
Modified: scummvm/trunk/engines/hugo/hugo.cpp
===================================================================
--- scummvm/trunk/engines/hugo/hugo.cpp 2010-12-22 05:52:58 UTC (rev 54998)
+++ scummvm/trunk/engines/hugo/hugo.cpp 2010-12-22 09:09:38 UTC (rev 54999)
@@ -80,6 +80,7 @@
DebugMan.addDebugChannel(kDebugRoute, "Route", "Route debug level");
DebugMan.addDebugChannel(kDebugInventory, "Inventory", "Inventory debug level");
DebugMan.addDebugChannel(kDebugObject, "Object", "Object debug level");
+ DebugMan.addDebugChannel(kDebugMusic, "Music", "Music debug level");
_console = new HugoConsole(this);
_rnd = 0;
Modified: scummvm/trunk/engines/hugo/hugo.h
===================================================================
--- scummvm/trunk/engines/hugo/hugo.h 2010-12-22 05:52:58 UTC (rev 54998)
+++ scummvm/trunk/engines/hugo/hugo.h 2010-12-22 09:09:38 UTC (rev 54999)
@@ -87,7 +87,8 @@
kDebugFile = 1 << 5,
kDebugRoute = 1 << 6,
kDebugInventory = 1 << 7,
- kDebugObject = 1 << 8
+ kDebugObject = 1 << 8,
+ kDebugMusic = 1 << 9
};
enum HugoGameFeatures {
Modified: scummvm/trunk/engines/hugo/sound.cpp
===================================================================
--- scummvm/trunk/engines/hugo/sound.cpp 2010-12-22 05:52:58 UTC (rev 54998)
+++ scummvm/trunk/engines/hugo/sound.cpp 2010-12-22 09:09:38 UTC (rev 54999)
@@ -58,6 +58,7 @@
}
void MidiPlayer::play(uint8 *stream, uint16 size) {
+ debugC(3, kDebugMusic, "MidiPlayer::play");
if (!stream) {
stop();
return;
@@ -76,6 +77,7 @@
}
void MidiPlayer::stop() {
+ debugC(3, kDebugMusic, "MidiPlayer::stop");
_mutex.lock();
if (_isPlaying) {
_isPlaying = false;
@@ -109,10 +111,12 @@
}
void MidiPlayer::adjustVolume(int diff) {
+ debugC(3, kDebugMusic, "MidiPlayer::adjustVolume");
setVolume(_masterVolume + diff);
}
void MidiPlayer::setVolume(int volume) {
+ debugC(3, kDebugMusic, "MidiPlayer::setVolume");
_masterVolume = CLIP(volume, 0, 255);
_mutex.lock();
for (int i = 0; i < NUM_CHANNELS; ++i) {
@@ -124,8 +128,14 @@
}
int MidiPlayer::open() {
- _driver->open();
+ if (!_driver)
+ return 255;
+ int ret = _driver->open();
+ if (ret)
+ return ret;
+ _driver->sendGMReset();
+
_parser = MidiParser::createParser_SMF();
_parser->setMidiDriver(this);
_parser->setTimerRate(_driver->getBaseTempo());
@@ -149,14 +159,17 @@
void MidiPlayer::send(uint32 b) {
byte volume, ch = (byte)(b & 0xF);
+ debugC(9, kDebugMusic, "MidiPlayer::send, channel %d (volume is %d)", ch, _channelsVolume[ch]);
switch (b & 0xFFF0) {
case 0x07B0: // volume change
volume = (byte)((b >> 16) & 0x7F);
_channelsVolume[ch] = volume;
volume = volume * _masterVolume / 255;
b = (b & 0xFF00FFFF) | (volume << 16);
+ debugC(8, kDebugMusic, "Volume change, channel %d volume %d", ch, volume);
break;
case 0x7BB0: // all notes off
+ debugC(8, kDebugMusic, "All notes off, channel %d", ch);
if (!_channelsTable[ch]) {
// channel not yet allocated, no need to send the event
return;
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