gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Audio > [mod] share instruments

#74489 - mlequim - Sun Mar 05, 2006 11:56 am

Hi,

I am the programmer of an amator team and I know nothing about music. Can anyone say if there is a way with mods to share the instruments between differents mods ? Our musician will always use less or more the same instruments between all his mods. Does krawall or another library allow instrument sharing ?

#74513 - Quirky - Sun Mar 05, 2006 3:07 pm

The usual way is to have the tool that converts to your GBA tracker player format recognise duplicate samples and only create one copy of the sample data in its output. More details on this subject here http://deku.gbadev.org/program/sound4.html

#153438 - stumm - Sun Mar 30, 2008 5:56 pm

a _few_ tracking formats let you specifiy the path to the wav files instead of embedding them directly into the file itself, though that's almost counter intuitive to why they're self contained in the first place.

however... i am not sure that i know of a format that's already supported by tracker players for the DS. The formats I believe I've seen supported are .s3m, .xm, and .mod... and none of those formats can do this...iirc.

it might be a good idea to look into one of the playback engines currently out there and experiment with mod'ing it for this type of usage (blip tracker is a good example).

#153456 - nanou - Mon Mar 31, 2008 12:38 am

You could always use just one big mod containing all songs and start playback at different points to change songs. You can still make loops with Cxx.
_________________
- nanou

#153488 - tepples - Mon Mar 31, 2008 9:36 pm

nanou wrote:
You could always use just one big mod containing all songs and start playback at different points to change songs.

I've tried this before, but I've run into the OrdNum limit. OrdNum is the length of the order table, and at least in S3M, it is an 8-bit value. At an average tempo of 480 rows per minute (120 quarter notes per minute, row == 16th note), a pattern lasts eight seconds, and a 200-pattern song finishes in under a half hour. A lot of games have a soundtrack longer than that, especially starting in the 16-bit era.

A lot of formats, such as S3M, have two name fields: "sample name" and "sample filename". A converter from stock S3M to shared-sample S3M might put each sample's CRC32 into the "sample filename" so that the loader can load it.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#153494 - gauauu - Mon Mar 31, 2008 10:33 pm

Quote:
Does krawall or another library allow instrument sharing ?


If you use kusma's pimpmobile, it will automatically detect if multiple mod files uses the same instruments, and only include them once in your compiled program.

#153516 - nanou - Tue Apr 01, 2008 9:35 am

tepples wrote:
I've tried this before, but I've run into the OrdNum limit. OrdNum is the length of the order table, and at least in S3M, it is an 8-bit value.

Good point, I hadn't considered that.
_________________
- nanou