From ae4f63a256f333b87b560a1a187af7447307c0d9 Mon Sep 17 00:00:00 2001 From: Walter van Niftrik Date: Tue, 7 Jun 2011 13:34:29 +0200 Subject: SCI: Add more debug output to AmigaMac sound driver --- engines/sci/sound/drivers/amigamac.cpp | 46 ++++++++++++++++------------------ 1 file changed, 21 insertions(+), 25 deletions(-) (limited to 'engines') diff --git a/engines/sci/sound/drivers/amigamac.cpp b/engines/sci/sound/drivers/amigamac.cpp index 2f159c23ee..1436ca45a7 100644 --- a/engines/sci/sound/drivers/amigamac.cpp +++ b/engines/sci/sound/drivers/amigamac.cpp @@ -24,6 +24,7 @@ #include "sci/sound/drivers/mididriver.h" #include "sci/resource.h" +#include "common/debug-channels.h" #include "common/file.h" #include "common/frac.h" #include "common/memstream.h" @@ -460,9 +461,9 @@ MidiDriver_AmigaMac::InstrumentSample *MidiDriver_AmigaMac::readInstrumentSCI0(C instrument->fixedNote = 101; instrument->mode = header[33]; - instrument->transpose = (int8) header[34]; + instrument->transpose = (int8)header[34]; for (int i = 0; i < 4; i++) { - int length = (int8) header[49 + i]; + int length = (int8)header[49 + i]; if (length == 0 && i > 0) length = 256; @@ -482,13 +483,18 @@ MidiDriver_AmigaMac::InstrumentSample *MidiDriver_AmigaMac::readInstrumentSCI0(C strncpy(instrument->name, (char *) header + 2, 29); instrument->name[29] = 0; - debugC(kDebugLevelSound, "Amiga/Mac driver: Reading instrument %i: \"%s\" (%i bytes)", - *id, instrument->name, size); - debugC(kDebugLevelSound, " Mode: %02x", instrument->mode); - debugC(kDebugLevelSound, " Looping: %s", instrument->mode & kModeLoop ? "on" : "off"); - debugC(kDebugLevelSound, " Pitch changes: %s", instrument->mode & kModePitch ? "on" : "off"); - debugC(kDebugLevelSound, " Segment sizes: %i %i %i", seg_size[0], seg_size[1], seg_size[2]); - debugC(kDebugLevelSound, " Segment offsets: 0 %i %i", loop_offset, (int32)READ_BE_UINT32(header + 43)); + if (DebugMan.isDebugChannelEnabled(kDebugLevelSound)) { + debug("Amiga/Mac driver: Reading instrument %i: \"%s\" (%i bytes)", + *id, instrument->name, size); + debugN(" Mode: %02x (", header[33]); + debugN("looping: %s, ", header[33] & kModeLoop ? "on" : "off"); + debug("pitch changes: %s)", header[33] & kModePitch ? "on" : "off"); + debug(" Transpose: %i", (int8)header[34]); + for (uint i = 0; i < 3; i++) + debug(" Segment %i: %i words @ offset %i", i, (int16)READ_BE_UINT16(header + 35 + 6 * i), (i == 0 ? 0 : (int32)READ_BE_UINT32(header + 31 + 6 * i))); + for (uint i = 0; i < 4; i++) + debug(" Envelope %i: period %i / delta %i / target %i", i, header[49 + i], (int8)header[53 + i], header[57 + i]); + } instrument->samples = (int8 *) malloc(size + 1); if (file.read(instrument->samples, size) < (unsigned int)size) { @@ -503,10 +509,8 @@ MidiDriver_AmigaMac::InstrumentSample *MidiDriver_AmigaMac::readInstrumentSCI0(C if (instrument->mode & kModeLoop) { if (loop_offset + seg_size[1] > size) { -#ifdef DEBUG - warning("Amiga/Mac driver: looping samples extend %i bytes past end of sample block", - loop_offset + seg_size[1] - size); -#endif + debugC(kDebugLevelSound, "Amiga/Mac driver: looping samples extend %i bytes past end of sample block", + loop_offset + seg_size[1] - size); seg_size[1] = size - loop_offset; } @@ -667,15 +671,11 @@ void MidiDriver_AmigaMac::send(uint32 b) { break; case 0x0a: // pan // TODO -#ifdef DEBUG - warning("Amiga/Mac driver: ignoring pan 0x%02x event for channel %i", op2, channel); -#endif + debugC(1, kDebugLevelSound, "Amiga/Mac driver: ignoring pan 0x%02x event for channel %i", op2, channel); break; case 0x40: // hold // TODO -#ifdef DEBUG - warning("Amiga/Mac driver: ignoring hold 0x%02x event for channel %i", op2, channel); -#endif + debugC(1, kDebugLevelSound, "Amiga/Mac driver: ignoring hold 0x%02x event for channel %i", op2, channel); break; case 0x4b: // voice mapping break; @@ -760,9 +760,7 @@ bool MidiDriver_AmigaMac::loadInstrumentsSCI0(Common::File &file) { _bank.size = READ_BE_UINT16(header + 38); strncpy(_bank.name, (char *) header + 8, 29); _bank.name[29] = 0; -#ifdef DEBUG - debugN("Amiga/Mac driver: Reading %i instruments from bank \"%s\"\n", _bank.size, _bank.name); -#endif + debugC(kDebugLevelSound, "Amiga/Mac driver: Reading %i instruments from bank \"%s\"", _bank.size, _bank.name); for (uint i = 0; i < _bank.size; i++) { int id; @@ -799,9 +797,7 @@ bool MidiDriver_AmigaMac::loadInstrumentsSCI0Mac(Common::SeekableReadStream &fil _bank.size = 128; strncpy(_bank.name, (char *) header + 8, 29); _bank.name[29] = 0; -#ifdef DEBUG - debugN("Amiga/Mac driver: Reading %i instruments from bank \"%s\"\n", _bank.size, _bank.name); -#endif + debugC(kDebugLevelSound, "Amiga/Mac driver: Reading %i instruments from bank \"%s\"", _bank.size, _bank.name); Common::Array instrumentOffsets; instrumentOffsets.resize(_bank.size); -- cgit v1.2.3