tewtal / mITroid

A tool for converting Impulse Tracker files into data for the N-SPC music engine used in Super Metroid, A Link to the Past and other games as well as creating stand-alone SPC files.
23 stars 1 forks source link

Ideas from SNESMOD #7

Open livvy94 opened 6 years ago

livvy94 commented 6 years ago

Sorry for opening more than one Issue at the same time like this, but I was talking to tssf (you might recognize him from Chrono Resurrection as well as other SNES/chiptune-related projects), and he really likes the look of this tool since SNESMOD has a few limitations/flaws he's been running into. He wanted me to ask if there will eventually be options for defining initial settings in the .it file's comment box (as opposed to defining things via the effect rows). SNESMOD does it this way:

[[SNESMOD]]
edl 7
efb 70
evol 31 -31
efir 127 0 0 0 0 0 0 0
eon 1 3 4 5

Although it also supports enabling/disabling echo on channels on the fly like so:

S01 - Turn on echo for channel.
S02 - Turn off echo for channel.
S03 - Turn on echo for all channels.
S04 - Turn off echo for all channels.

I know the command in the context of N-SPC is [F8 time lvol rvol] [F7 delay feedback filter], and it's possible to use these commands more than once in the same song to change settings on the fly, but I just thought I'd bring up the comments thing. Another idea I had which I wish SNESMOD would have done is letting you specify BRR files like so:

[[BRR]]
01 "C:\Users\Vince\Desktop\test\ff6Marimba.brr"
02 "C:\Users\Vince\Desktop\test\ff6Strings.brr"
03 "C:\Users\Vince\Desktop\test\ff6Bass 1.brr"
04 "C:\Users\Vince\Desktop\test\ff6Synth 1.brr"

This would let people use something like C700 to roll their own BRRs, or extract them from SPC dumps. When I make a cover with ripped samples + SNESMOD, I have to convert them to WAV in order to get them into the .it file, and they then get converted back to .brr, which I assume introduces some loss of quality. Though based on my limited experience with AddMusicK/the N-SPC engine, there's pitch-related variables that need to be specified when you use custom samples, and that might make this sort of thing hard to implement and/or use.

tewtal commented 6 years ago

A lot of this is something I've planned to do, in fact support for directly using BRR-files was something I had in a very early version before I did a rewrite and is something I want to make sure to support again.

In terms of setting echo parameters there's already support for that by using effect commands (S05/S06/S07), but being able to initial values like that seems like it could be nice to have as well.

I'll see what I can do in terms of implementing this but hopefully I can have it ready somewhat soon in a coming version.