bibendovsky / bstone

Unofficial source port for Blake Stone series
Other
297 stars 33 forks source link

[Feature] External music support #504

Open NightFright2k19 opened 3 weeks ago

NightFright2k19 commented 3 weeks ago

Since it isn't explicitly mentioned in the readme (it is only described how to extract music):

If the port doesn't support external music yet, you may consider this as a feature request. There aren't too many BS/PS music remasters out there right now, but they would still be an improvement compared to the plain Adlib synth.

bibendovsky commented 3 weeks ago

Does the port support usage of music packs?

Neither SFX nor music.

What are the replacement track names for Blake Stone and Planet Strike in general? Should they follow the names of the IMFs (e.g. 2100a.ogg, golda.ogg, racshufl.ogg etc)?

Possibly like an embeded extractor does: for SFX - _sfx00000000.ext, for music - _music00000000.ext

Also: Would the files have to be in a specific subdir (e.g. "music") and/or are definitions required or could they just be zipped and externally loaded as a mod?

Possibly same as for external textures: AOG resources in aog directory, and PS resources in ps one. (i.e. _aog/sfx00000000.ext, _ps/music00000000.ext)

NightFright2k19 commented 3 weeks ago

If this is considered as a feature in the future, I'd suggest to follow the implementation in ECWolf:

For the record, here's a list of the IMFs:

There are only two tracks with identical names, APOGFNFM (Apogee Fanfare) and THEME. While the former files are exactly the same, the latter aren't. Otherwise the two soundtracks could even be placed in the same zip. Maybe it would make sense to support three names: THEME (any), THEMEA (AoG is loaded) and THEMEP (PStrike is loaded).

NightFright2k19 commented 3 weeks ago

Addendum: Playback of plain MIDI files (optimized for proper General MIDI playback) should also be possible, just like in ECWolf.

bibendovsky commented 3 weeks ago

Addendum: Playback of plain MIDI files (optimized for proper General MIDI playback) should also be possible, just like in ECWolf.

What sense to support MIDI? Just because ECWolf does? Vanilla AOG and PS does not have any MIDI data.

NightFright2k19 commented 3 weeks ago

Well, there are MIDI files available for Wolf3D which allow General MIDI playback. Admittedly, such files currently don't exist for AoG/PS, but someone might eventually create them.

I understand this is a rather unlikely scenario right now, however, so any implementation should be based on what's actually available.

bibendovsky commented 3 weeks ago

Well, there are MIDI files available for Wolf3D which allow General MIDI playback. Admittedly, such files currently don't exist for AoG/PS, but someone might eventually create them.

I understand this is a rather unlikely scenario right now, however, so any implementation should be based on what's actually available.

In that case lets stick with .wav, .ogg and *.flac.