New Tool (2.8) Auto Clone Patterns

Nice! Seems to work here fine :) , thanks!

Am trying to push it to generate possible bugs, and thus far had a crash trying to undo all recorded input with your script enabled, crash gave the following notice in Renoises log:

IMHO, a variation of the Auto Add Pattern concept could be used to build something, here’s a simple spec:

  1. Set up a loop in the pattern matrix with the mouse

  2. Activate script, start recording

  3. The script creates 6 tracks, bright red (like, a rectangle where Y is the loop and X are the tracks) in the pattern matrix, puts Xs on them for good measure. This is to distinguish them from normal tracks

  4. As the user records, takes are shifted to the red tracks.

That’s it.

It implies that the user has 6 “punch in tracks” that will be overridden as time goes on, but at least it gives you 6 takes you can use. Change 6 to X if it’s a variable.

It also means idle cpu would be enough to handle this.

@ Jonas :
Looks like a new bug report thread is born… I can’t reproduce it though, and I have no idea what could have caused this. Anyway, buggy scripts can trigger error messages, but if renoise crashes, it’s a bug in renoise.

@ Conner_Bw :
Don’t you think step 4 will be a problem to implement? It should happen when the end of the pattern is reached, and I can’t think of a reliable way to “observe” this…

Minimum 2 patterns?

Shift previous track at any time the current track is playing.

That’s a strong limitation to me… And I don’t see what you could to with this that you can’t do with AutoClone. To me, AutoClone creates a mess in the pattern sequence that you have to clean up after your recordings, and your idea is to create this mess in the tracks instead, but you’ll have to clean up anyway. Have I missed something?

No, you haven’t missed anything. It’s just a horizontal AutoClone instead of vertical.

I didn’t say the solution was elegant, I just said it could be done with a variation of the current idea in this thread.

Actually, I missed the word “variation”… Sorry if I sounded too critical.

I can actually see a lot of benefits to Conner’s way. Most notibly, if you are recording over multiple-pattern loop (say 8 patterns) then it is a lot easier to choose takes for each individual pattern which are the best, while auditioning them with the others.

Although the way I see it would use normal Tracks rather than a new kind it seems Conner is proposing.

You want to take X number of passes. Clone Current Pattern X amount of times (including DSPs.) Mute all newly created Tracks. When you reach end of Loop move to next track and Mute the previous track.

Although don’t we have the issues of Song Position Data maybe not being accurate for this?

This way also helps a lot if you have long samples which rely on the new AutoSeek, even if only a single pattern recording. With current method you would have to move each pattern to the correct position to see how it sounds with the sample playing the correct position. With this method you just unmute the track you want to hear.

Before this gets totally derailed, maybe AutoClonePatterns_v0.4.xrnx is ready for the tools page and everything else is another thread?

Yep, I just uploaded version v0.5, which is pretty much the same as 0.4, but it remembers its state when renoise is quit, meaning you don’t have to enable it everytime you launch renoise.
I submitted it to the tool page too, it’s waiting for approval…

This is very cool, but IMHO a little modification would make it even better. Please correct me if the following is already possible:

Say that the looped region contains the “fundamentals”, some groove that you wish to record on top of.
Currently, the playback must enter the last pattern of the looped region before the auto-clone happens. This means that you are in fact recording something into the “fundamentals”, which is then carried over to the next take, and the next etc., overdubbing style.

Wouldn’t it be more useful if the cloning happened when you entered the looped region? Perhaps this is not the intention of this tool?

The current track is always deleted on clone, and renoise can only record to 1 track, so nothing gets carried over?

Did you not try the tool?

OK, somehow I got the idea that multiple looped patterns were supported.

I’m guessing all it would take is for the cloning to happen when playback enter the first looped pattern, instead of the last one. Would it be too much to ask for?

Multiple patterns are supported.

I’m a little confused? Is there a situation where how it works now doesn’t do what you expect? Or you would just rather it behave a different way?

Code wise it’s easy. Change line 81 from

  
 if renoise.song().transport.playback_pos.sequence == loop_end then  
  

To:

  
 if renoise.song().transport.playback_pos.sequence == loop_start then  
  

This should be a preference though, because I prefer the way it works now.

Furthermore, I’m not the author so this is merely an opinion.

Did you use the tool? Or what?

Ok I understand your issue now, I think?

This tool is meant to jam on a new track, it’s implied that the track you are recording on is empty. It supports X patterns, no problem. Once you reach the end of your jam, if you want to keep going, tada!

In your case, you have looped X patterns, where every track is full, and you want to create a clone and clear the track automatically before starting to jam.

Am i right?

Changing that line worked perfectly, thanks!

Let me try to explain what I didn’t want: the problem is that auto-cloning happens at the last pattern of the looped region, and I have just recorded something into those patterns when the cloning takes place.

But with the cloning happening before we enter the looped region, my backing track is perfectly intact and I can keep playing new stuff for as long as I want (just like how it works with a single pattern).

I agree that this behavior is odd, I didn’t think about it this way… It made me realise that this tool will behave even more oddly if you change tracks during your recording, which can definitly happen when jamming over multiple patterns.

I will work a bit on this and release a new version soon.

I just uploaded a new version, v0.6 on the tools page.
The cloning now happens at the beginning of the recording, as suggested by Danoise. It doesn’t clear the currently selected track in the clone anymore, since it’s no more needed. This makes the tool more consistent if you happen to change track during your recording.
After a recording, you will have an unaltered version of your loop after your recorded patterns. But you may also not want to keep it, so I added an option in the Tools menu that will automatically delete these unaltered patterns on rec stop.

What do you think, is it better like this?

EDIT : I just noticed the tool has to be validated again before it appears on the tool page. I added it as an attachement, so you can test it before it’s validated.

Yes sir! Works like a charm. I will be using this tool a LOT

thanks for the update bystrano!