Question about music packs.

Started by namida, February 13, 2016, 06:31:40 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

I'm making some changes to the internal code that handles music packs (and single music files, in the case of test mode / single levels), and I'm wondering something about prioritization.

Current priority order (from highest to lowest) is:
>> Individual file (if test mode / single level)
>> Pack's specific music pack
>> Global music packs
>> NXP's contents
>> Internal music files
>> Silence

I'm wondering - should this be swapped around, so that the global music packs are below the NXP? On one hand, this would mean that a filename collision between a track in a music pack, and a track in an NXP, where they're two different files (especially if generic names - possibly from older packs - like "track_01" are being used, although it'd be pretty bad practice to put anything like that in a global music pack). On the other hand, there may be users who re-use tracks in multiple packs, and want to release a single global music pack to cover all of them rather than releasing a music pack for each game with the same contents.

I'm somewhat leaning towards keeping it as it is, though - on the grounds that I think, ignoring generic "track_XX" names (which is, for obvious reasons, strongly discouraged for new packs), it's unlikely we'll run into two different tracks with the same name; and the use of the same tracks across various packs is much more likely. For example - Original Lemmings, Extra Levels and Doomsday Lemmings all share the non-default tracks used in L1's special graphics levels. Lemmings Reunion, Revenge of the Lemmings and MobiLems II also have a couple of tracks shared across them. Perhaps we do need to come up with some kind of naming convention for music tracks - especially those that we're likely to reuse - but I do think this leans a bit in favor of keeping the global music packs (or rather, global music files - I'm ditching the use of music pack format for global things in the next update) prioritized over the NXP's contents.


Also, current order of priority for formats (if multiple exist within a single layer - which should never happen anyway) - is OGG first, then IT. With these changes, I've finally made it so that it looks for other supported extensions, rather than requiring renaming them to one of those. The priority order for these is much less important - since as I said, conflicts shouldn't occur anyway - but if they do, does this priority order sound reasonable?
>> OGG
>> WAV
>> AIFF / AIF
>> MP3
>> MO3
>> IT
>> MOD
>> XM
>> S3M
>> MTM
>> UMX

(I believe those are all the BASS.DLL-supported formats.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)