... so, i'm sometimes tracking techno-style "acid leads", which use several similar samples from low flange to high flange, or low phasing to high phasing, or whatever....
Very often, i wish i could have a frequency envelope carry across this lead section, which is possible only if it uses one instrument. Some other times, i wish the volume or panning envelope(s) would retrigger on notes that are tied together with Gxx commands.
My idea is to use the unused S0x, S1x, and S2x commands to set a per-channel "mode" of handling envelope carry for each of volume, panning, and pitch/filter - kind of like S91 turns pseudo-surround on and S90 turns it off.
The implementation could be something like this:
S0x = set volume carry mode for channel
S1x = set panning carry mode for channel
S2x = set filter carry mode for channel
... where x would be:
0 = normal mode
1 = carry envelope across instruments on this channel
2 = retrig envelope on notes with Gxx
3 = (we could come up with more modes...)
What do you guys think? The benefit would be enormous (at least for me), and i seriously doubt this would affect playback or compatibilty of any modules in any tracker or player.
> i seriously doubt this would affect playback or
> compatibilty of any modules in any tracker or player.
(that is, other than modplug/mpt)
I'd still prefer a set-envelope effect to that. More straightforward, and XM already implements that (as well as keyoff) so it's easier to adapt into other players.
but 1. that would take up the effect column, and 2. does this XM effect use node numbers or number of ticks into the envelope? oh and 3. it would be kind of impractical to use, on reason being that you'd have to copy the same envelope to different instruments :/
I say we use S92 to S9F (unused) to set envelope modes per channel. Much simpler to use, and probably also to implement.
>>4628
That would also break files, since modplug uses those for other effects. Extension or not, it's probably better to not handle those effects at all when playing those files than to do something entirely different.
Not that it's accurately documented, but (currently) you can copy envelopes quite easily with ctrl-digit and paste them back with shift-digit. Older schism versions are different though... shift to copy, alt to paste, I think? the keys never made sense to me.
Also: set envelope position works in ticks.
as for 1. you're ALREADY taking up the effect column with your suggestion.
> as for 1. you're ALREADY taking up the effect column with your suggestion.
No, you'd just need to use it once before the section that uses it, kind of like you put S91 before a part that you want in pseudo-surround.
i shudder to think of how that would be implemented in the player without introducing a mess :|
Got it!!
My original idea was just way too complicated for nothing. All we'd need would be something like this: (as Storlek mentioned on irc, these are unused)
S7D - Reset channel's envelope processing to normal
S7E - Enable channel's carry-envelopes-across-instruments
S7F - Enable channel's retrig-envelopes-on-Gxx-notes
This wouldn't make a mess, or clutter up the .IT format, and it would also be consistent with S7x commands being used to control envelopes/nna's.
> S7F - Enable channel's retrig-envelopes-on-Gxx-notes
if you don't want that to happen, don't write the instrument number.
btw, for reference, here's the comment i stuck at the top of the rewritten code to reset envelopes (since i just spent way too long making it all work right)
// Conditions experimentally determined to cause envelope reset in Impulse Tracker:
// - no note currently playing (of course)
// - note given, no portamento
// - instrument number given, portamento, compat gxx enabled
// - instrument number given, no portamento, after keyoff, old effects enabled
// If someone can enlighten me to what the logic really is here, I'd appreciate it.
// Seems like it's just a total mess though, probably to get XMs to play right.