Anyone having tracked for a while knows that there is a lot of tedious and repetetive work going on when handling delay channels, doubling and remapping instruments.
A macro system would cut a lot of time when tracking, and it would quickly make milkytracker the cutting edge xm tracker
The user would have the ability of assigning macros to controlkey+F1-F12, and the macros would be pasted into the channels just the same way as you paste a copied track to another track with shift-F4/F5.
How would the macro syntax look?The macros for F1 to F12 would be set up in preferences. A macro could look like this:
= offset(4,remapinstrument(6,7,prevtrack()))
This macro would create a delay of the channel next left, offsetting the channel 4 lines, remapping instrument 6 to 7.
So far, I can think of the following functions being usable:
offset() - offsetting the track (delay)
remapinstrument(x,y,data) - remapping instrument x to y in the data
volumescale(x1, [x2], [override], data) - scaling the volume by pasting volume effect commands on every instrument. x2 being optional, making a linear scale from start of track to end. override being optional making the volume effect have priority if another effect is already in the effect column or volcolumn.
effecttrigger(effect, data) - example: effecttricker(E21, track(2)). Every note in the data input would get the effect E21 (finetune down) on its row.
metaeffect(patternnumber, startrow, endrow, data) - similar to effecttrigger, but pastes a block that is fetched from the effect column in patternnumbers startrow to endrow after every new note.
Various other special macro functions could be implemented, like making an offset on a tick level.
basic data returners:
track(tracknumber) - track(5) returns track 5.
prevtrack() - or rather this could be replaced by track(-1)
nexttrack() - or rather this could be replaced by track(+1)
requester(text) - pops up a requester returning the data being entered
Would anyone else like something like this or have any more suggestions? I hope it doesn't sound like a too complicated system to understand, i tried to be a bit thorough.