aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorWalter van Niftrik2011-06-07 13:34:29 +0200
committerWalter van Niftrik2011-06-07 13:34:59 +0200
commitae4f63a256f333b87b560a1a187af7447307c0d9 (patch)
tree196485f77285d4755eaa0af55f6581040ad35d34 /engines
parent074d491a6e98e8946253b47d76aeef96447c7c41 (diff)
downloadscummvm-rg350-ae4f63a256f333b87b560a1a187af7447307c0d9.tar.gz
scummvm-rg350-ae4f63a256f333b87b560a1a187af7447307c0d9.tar.bz2
scummvm-rg350-ae4f63a256f333b87b560a1a187af7447307c0d9.zip
SCI: Add more debug output to AmigaMac sound driver
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/sound/drivers/amigamac.cpp46
1 files changed, 21 insertions, 25 deletions
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<uint32> instrumentOffsets;
instrumentOffsets.resize(_bank.size);