Opened 16 years ago

Last modified 13 months ago

#7301 new enhancement

AUDIO: Improve music in the Mac version of MI1

Reported by: SF/superqult Owned by:
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 1

Description

There's no music or sound in Monkey Island 1 (alt), the
mac version. I'm using the daily cvs snapshot from
August 1st, under MacOS X 10.2.6. It's compiled with
gcc 3.1. Someone in the forums pointed this out too, so
I can't be just my system config. I've tried all sound
drivers.

Ticket imported from: #781797. Ticket imported from: feature-requests/117.

Change History (21)

comment:1 by SF/superqult, 16 years ago

Priority: normalhigh

comment:2 by fingolfin, 16 years ago

There are SFX for me in that version (e.g. open any door, or the
seagull were you get the fish). But the music format is indeed
unsupported. And this is not a bug, it's simply yet another
unsupported music format.
Please never modify bug priorites, those are for project member
use only. Thanks

I am moving this to feature requests.

comment:3 by fingolfin, 16 years ago

Component: Engine: SCUMM
Game: Monkey Island 1
Priority: highnormal
Summary: MI1: No music/sound at allSupport music in the Mac version of MI1

comment:4 by SF/superqult, 16 years ago

So, what blocks are we discussing here? If it's just the
"Mac0" block, I have some pretty good documentation on the
format. Since Drigo Zoxx have managed to play the MI1 music
in his SCUMM Explorer application, I could also look at his
source code and write some new documentation.

comment:5 by fingolfin, 16 years ago

Yes this is "just" the Mac0 format. Feel free to forward me the
docs on it. I know SCUMM Explorer supports the format, and I
asked Drigo about it. Drigo told me he wouldn't discuss such
things via email, and that I should rather ask him in the forums,
so that the public can benefit from it. There, he told me he would
implement it for us once we give him back CVS write access. He
wasn't willing to help "just so" with it. Sorry, but I don't like being
blackmailed....

Anyway, if you can provide format specs, or a patch, please do
so.

comment:6 by SF/superqult, 16 years ago

I've sent you a block format spec.

comment:7 by fingolfin, 16 years ago

Better to attach those specs here, so that a person wanting to
implement it can implement it.

comment:8 by SF/ender, 16 years ago

Unrelated, but RE: drigo... I've offered in the past to
give him CVS access back, if he e-mailed me, but he never
did. However given this behavior I don't believe we ever
should in the future. That is all. :)

comment:9 by SF/superqult, 16 years ago

OK, so here you go. I haven't checked endianess, but I guess
everything is LE except sizes. Those 28 unknown bytes are
probably some limits and value intervals for tempo/velocity
etc.

Mac0
--
4 bytes - 'SOUN'
BE 4 bytes - block length

4 bytes - 'Mac0'
BE 4 bytes - (blockLength - 27)
28 bytes - ???

do this three times (once for each channel):
4 bytes - 'Chan'
BE 4 bytes - channel length
4 bytes - instrument name (e.g. 'MARI')

do this for ((chanLength-24)/4) times:
2 bytes - note duration
1 byte - note value
1 byte - note velocity

4 bytes - ???
4 bytes - 'Loop'/'Done'
4 bytes - ???

4 bytes - 0x09
--

Instruments:
"MARI" - Marimba
"PLUC" - Pizzicato Strings
"HARM" - Harmonica
"PIPE" - Church Organ?
"TROM" - Trombone
"STRI" - String Ensemble
"HORN" - French Horn?
"VIBE" - Vibraphone
"SHAK" - Shakuhachi?
"PANP" - Pan Flute
"WHIS" - Whistle/Bottle
"ORGA" - Drawbar Organ
"BONG" - Woodblock?
"BASS" - Bass

comment:10 by SF/superqult, 16 years ago

uhm, that last 0x09 value is a single byte, not four bytes

comment:11 by fingolfin, 16 years ago

Owner: set to SF/jamieson630

comment:12 by fingolfin, 16 years ago

Assigning this to our music master blaster, Jamieson, in an
attempt to coerce him into implementing this ;-).

comment:13 by SF/jamieson630, 16 years ago

First-pass Mac0->GMD conversion code is in CVS. Tempo
seems to be good. Instrument selections MUST be refined
later on; current mapping sounds cruddy. Loop timing is a
little off on most (but not all) looped songs; I don't know why
just yet. And I think some notes might be missing in the
conversion. There were a lot of suspicious-looking note
events with noteNum == 1, which is way too low for any
practical use. Right now I'm treating them the same as
noteNum == 0, which is a rest.

Well, it's something, at least. I'll try to refine it ATP.

comment:14 by fingolfin, 16 years ago

Summary: Support music in the Mac version of MI1AUDIO: Support music in the Mac version of MI1

comment:15 by sev-, 14 years ago

Owner: SF/jamieson630 removed

comment:16 by sev-, 14 years ago

Back to the pool.

comment:17 by fingolfin, 13 years ago

Summary: AUDIO: Support music in the Mac version of MI1AUDIO: Improve music in the Mac version of MI1

comment:18 by fingolfin, 13 years ago

Renaming this tracker item -- basic support for the music in MI1/Mac has been
in there for years now, thanks to jamieson630, it just isn't quite finished/perfect
yet.

comment:19 by digitall, 6 years ago

Component: Engine: SCUMM

comment:20 by digitall, 6 years ago

Is this outdated? Can someone please test?

comment:21 by digitall, 13 months ago

Game: Monkey Island 1
Note: See TracTickets for help on using tickets.