Copy track from whole song

I want to transfer a track from a whole song to another song. Is there a way to do this by copy and paste?

Well, not in one go, but you can open up two instances of Renoise and then copy it pattern by pattern.

The other trick would be writing a Lua script that saves the contents to disk and then load it back into your other song.
Nobody has written yet such a script.

A few days ago I was working on a music video where I have Renoise sending MIDI to a Processing sketch to trigger changes in time with the music.

I works pretty well. However, I found entering the MIDI in Renoise to be a little tedious, and I had to keep track of what notes and velocities were mapped to what effects in Processing.

What I wanted was a way to write out a series of commands in something readable (e.g. rotateImages; switchToLayout33) in a text file and have that magically converted to the appropriate XML inside the xrns file.

However, I was daunted by the way a track is broken out into a series of patterns, with additional track info here and there.

I’m sure manipulating track XML like this is doable but the XML hoops are a challenge.

It would be slick, though, to have a set of tracks you could import into an existing song when you wanted them.

Is the structure of xrns XML documented someplace?

Have you tried to bring focus to the matrix editor (for example through middle mouse clicking in the matrix area), select the particular track you want copied, press ‘alt+t’ so all track contents in the matrix window are selected, then press ctrl+c…

Go to the other Renoise instance, go to the matrix area and try to paste in your destination track through ctrl+v

Maybe it works?


If it works I figure it will only copy note events, not automatically transfer the samples/ linked vsti’s as well. It would still mean manual work hooking up the notes with instruments.

You should be able to find the Xsd schema’s in the “path_to_renoise_executable\Renoise [version]\Schemas” folder.
E.g. mine on Windows is “C:\Program Files\Renoise 3.0.0\Schemas”
I’m not sure these are updated yet for 3.0 since their date is from april 17th 2012.

If you are going to use the LUA API, you simply might be able to store the stuff read from the iterators and then reload and reinsert that data again.
It is usually easier to setup your own format using the structures Lua already represent than trying to figure it out by disecting a renoise song.
But direct import from a song is ofcourse three steps less than having to open up a song and close it in order to get stuff into a new song.