New Tool (2.8) Auto Clone Patterns

OK wait a moment…now it just started taking clones even when I had it disabled? Investigate…

Edit: yep, edit mode gets stuck when you leave it on while disabling the tool.

This should be fixed in v0.7. Thanks for the report!

Found some bugs in version 0.7

Not sure how this happened? But, at one point clones were occurring even though record mode was off and patterns was jumping all over.

  
*** std::logic_error: 'invalid sequence_pos index '0'. valid values are (1-2).'  
*** stack traceback:  
*** [C]: in function 'delete_sequence_at'  
*** main.lua:83: in function <66><br>
<br>```

<br>
<br>
2)<br>
Create a new song with two patterns<br>
Put the last pattern into loop mode<br>
In the script: Enable, Delete Unused Clones<br>
Move to first pattern in sequence<br>
Start recording, stop recording (never reach the second pattern)<br>
<br>
Expected:<br>
Loop isn't deleted, because it was never cloned.<br>
<br>
Actual: <br>
Loop is deleted.</66>

Looks like I posted the v0.7 too fast, sorry… 1) and 2) should be fixed in v0.8.

I fixed a bug that could lead to this, so hopefully it’s fixed too…

How to use this tool? Please help. Any manual welcome. Better the video.

Step 1. Create a loop of patterns in the pattern matrix sequence editor. You do that by clicking the buttons on the left of the pattern numbers.

Step 2. Go in the tools menu, select AutoClonePatterns and enable.

Step 3. Play the loop and record some notes. As soon as you begin to record, the loop will be automatically cloned in the pattern matrix sequence editor, allowing you to jam on the same loop as long as you want without overwriting any of your performance.

Hope it helps…

Thanks a lot Bystrano. It works!

p.s. But i`ve expected a little different thing, anyway thanks, this is useful too.

I have been wondering if people actually mean this when they’ve been saying loop in the Matrix. This area is actually the Sequence Editor and has a separate focus etc to the Matrix (unless that has changed with 2.6)

Yep, you’re right. I’ve been using renoise since 2.5, so I have always seen them both together. That’s why they were the same thing in my mind… till now!

same here! i’ve expected auto clone pattern tool for recording live automations etc.
can i make a suggestion for this feature?

You can use it to record automation too, you just have to do it in edit mode. Which is what you must do anyway if you want to use a midi controller to control the automated parameter. Isn’t that enough to do what you want to?

This would be a hard thing to program, I don’t know if it’s even possible with the actual scripting possibilities (my first guess would be it isn’t…). To me it would be too much work for such a small improvement.

This is great! I have been wanting something like this for ages!
Though in the future I hope you can make it even better by creating new tracks, since it would make it easier to select the best recording or cut and paste between recordings.
I´m really greatful for this.

Hi,

Here is a new version of this tool.

The cloning now only happens if the edit cursor follows the playback position, so that the tool stays out of your way when you’re not recording live, you don’t need to disable it.
I made some small other fixes and made the changes needed with beta 7. The keybindings, which used to be in the “Pattern Matrix” section are now in the “Pattern Sequencer” and in the “Global” sections.

I will upload it to the tools page after some testing.

Here is a version that will work with renoise 2.7.

I didn’t change anything but the version numbers, but it should be fine since the script uses functions that didn’t change in 2.7.

Yeah, I already tested it since a while with a manipulated version number, it works as fine as before. (Can’t live without this tool, thanks bystrano!)

This tool is wonderful. I’ve always missed “Capture Last Take”-like behaviour from Logic, in Renoise, and you just went and programmed a similar yet better replacement for that.
And being able to use this for right-button-click-drag on dsp-chain settings is just pure awesome. Excellent excellent work :)

Approved and published on the Tools page:

http://tools.renoise.com/tools/auto-clone-patterns

Made a really hacky alteration to this: Now when it makes the clone, it renames the clone-pattern-name to (originalname)Clone. Doesn’t do it for the whole content of the pattern_sequence yet (altho the table can be counted, I might try and get that going next, but here:

[details=“Click to view contents”] ```

function update_pattern_sequencer() – clone patterns and update loop sequence

–renoise.song().selected_pattern.name=renoise.song().selected_pattern.name … “Original”
local loop_start = renoise.song().transport.loop_sequence_start
local loop_end = renoise.song().transport.loop_sequence_end
local new_loop_start = loop_end + 1
local new_loop_end = new_loop_start + (loop_end - loop_start)

if loop_start <= renoise.song().transport.playback_pos.sequence and
renoise.song().transport.playback_pos.sequence <= loop_end then
– clone sequences
local sequencer = renoise.song().sequencer
sequencer:clone_range(loop_start, loop_end)

– update loop sequence
renoise.song().transport.loop_sequence_range = {new_loop_start, new_loop_end}
cloning = true
– for i=1,(table.count(renoise.song().transport.loop_sequence_range)) do
– song_pos.sequence
– renoise.song().selected_sequence_index,

renoise.song().selected_pattern.name=renoise.song().selected_pattern.name … “Clone”

– renoise.song().patterns[renoise.song().selected_pattern_index].name=renoise.song().patterns[renoise.song().selected_pattern_index].name … “Clone”
–end

end
end

I’ve contacted Bystrano and asked if I can update this for 2.8. But, I’m also bumping this thread in case it’s on a watch list.

E.g. http://www.renoise.com/tools/auto-clone-patterns

As far as I can tell, it’s simply changing the manifest file? Can someone confirm this?

Updated, for 2.8

http://www.renoise.com/tools/auto-clone-patterns

No changes except in the manifest.xml file

Thanks dblue, bystrano.