I just finished a new tool!
The purpose is to split all notes from one single track into separate tracks according to the note values (so all C-4 go into one track, and all D-4 into another, and so on). Note offs are also added to the track they belong to, so a note of after a C-4 goes into the C-4 track. Another option is to set what I call “implicit note offs”. What I mean here is that if a note stops a former one, then this note will be a note off for the former note (but on a different track). I think Jonas made this quite clear in this post: https://forum.renoise.com/t/script-request-reorganize-instrument-notes/29361.
If you mix explicit and implicit note off you might get double note offs, but the track should still play correctly.
Note also that this tool works across more than one note column.
Eventually, the new tracks are named according to the one they come from.
EDIT: The tool can now also split according to instrument number instead of note value! EDIT 2: Selection only is now possible!
[b]EDIT 3: Speed improvements, thanks to Taktik!]/b]
It would be nice if some people could test it, before I upload it on the tools page.
Firstly thanks Fladd for the tool, will come in very handy, and jonas will be pleased!
Yes it has been zipped wrongly, the main and manifest need to be zipped into the .xrnx directly and not in a folder within the xrnx. edit
Also @fladd the “com.renoise” name has been reserved for renoise team scripts so afraid you will need to change it to a custom name in a similar format i.e. “com.fladd.SplitIntoSeparateTracks” to pass the quarantine on the tools site.
Script '/Users/epc/Library/Preferences/Renoise/V2.6.0/Scripts/Tools/com.renoise.SplitIntoSeparateTracks.xrnx/main.lua' failed in one of its notifiers:
main.lua:45: attempt to index field '?' (a nil value)
stack traceback:
main.lua:45: in function 'split'
main.lua:81: in function <79><br>
<br>```
<br>
<br>
Happens regardless if the note-off option is on or off.</79>
Ah, that makes more sense then, great. I actually thought we all have to follow this (to me a bit strange) naming convention. Okay, for the next upload I will rename that.
[quote=“Ledger, post:4, topic:29450”]
Script '/Users/epc/Library/Preferences/Renoise/V2.6.0/Scripts/Tools/com.renoise.SplitIntoSeparateTracks.xrnx/main.lua' failed in one of its notifiers:
main.lua:45: attempt to index field '?' (a nil value)
stack traceback:
main.lua:45: in function 'split'
main.lua:81: in function <79><br>
<br>```
<br>
<br>
Happens regardless if the note-off option is on or off.<br>[/quote]<br>
<br>
Interesting. Can you give me the track on which that happens?<br>
<br>
fladd</79>
‘C:\Users\plugexpert\AppData\Roaming\Renoise\V2.6.0\Scripts\Tools\com.renoise.SplitIntoSeparateTracks.xrnx\main.lua’ failed in one of its notifiers:
main.lua:45: attempt to index field ‘?’ (a nil value)
stack traceback:
main.lua:45: in function ‘split’
main.lua:81: in function main.lua:79
If you also delete the send tracks from that example .xrns before trying to split into separate channels, you’ll receive the same error notice, but a send channel seems to be created regardless.
Some additional words:
Is it possible you could make this script work optionally on a selection in a pattern as well, instead of applying it on the whole pattern range from a particular track? Maybe you just want to split a certain section out of a track to apply effects in separate channels, but don’t need everything to be split up.
Also, the note-offs don’t seem to be applied like expected. If I set implicit note-offs in the example.xrns from my request thread, only the first 16 hits seem to be split up with succeeding note-offs. From pattern line 16 on, no more note offs are present, except for split 11, which is completely full with note-offs, like it has collected them all I was expecting the note-off option to set it like my example song, but maybe I’m misunderstanding your implementation.
I have this when trying to install -
"‘C:\Users\sodisodisodisdoisodi\AppData\Roaming\Renoise\V2.6.0\Scripts\Tools\fladd.SplitIntoSeparateTracks.xrnx’ contains an invalid manifest. Expected a ‘Id’ field value in the form ‘abc.def.ghi’ (3 alnum components, separated by a dot).
Please remove this tool or contact the author (Florian Krause (fladd) [siebenhundertzehn@gmail.com]) for assistance…"
I happily hacked around the bug and the script should work now! Also, the naming changed and the manifest should be correct now. I updated the attachment in the first post.
Does the updated script only work on multisampled instruments and not different instruments on the same channel?
Try your script on this, and the track just seems to get copied:
EDIT: ah I see, different notes are only taken into account when splitting. Would be great for a future update if you had more filtering options.