For example:
I have a melody going on for four patterns.
The melody needs to play half a beat before it is now.
I want to hit the backspace x times before the melody starts and all patterns get shifted in one go.
Now I have to copy the last half beat of the pattern melody, insert the lines at the top and past the copied piece. 4 times.
I did find the pattern rotate tool which should help with this (i just found it today and havent tried it yet), but then i still have to do this for all patterns in the song (wich can sometimes be more than 4 patterns mentioned in my example…
Have I missed a function for this? Is there a way to do this or is there a tool?
Im allready glad if the rotate tool works as i think it does btw
oh, and with pattern rotate tool i still have to copy the beginning half beat of the melody to the end of the empty pattern before the melody initially started. :s
I am not entirely clear what you are trying to accomplish.
One really handy shortcut for repetitions is Ctrl+P for continuous paste, and duplicating whole tracks to other patterns is best done in the pattern matrix.
I think I understand now although I never used the backspace key
Pattern Rotate is a indispensable tool but indeed it still always “wraps around” the pattern edges. It does not see the whole song as a continued series of patterns.
Thanks Cas,
So there is no option to see all patterns in a song as a continue series…
I did my best to write it down in an easy to understand way, but maybe i did not succeed
It is a dangerous option to have because you have no idea what might or will happen to notes that cross the boundary.
So such a tool (if expanded or created) would have to allow you to either really rotate everything (meaning what falls off the last pattern, gets injected into the first sequenced pattern and vice versa).
The tool itself has to take care that all track aliasses are automatically turned into duplicates (because aliassed tracks are a problem as well here) and all double assigned patterns in the sequence range have to be turned into unique patterns as well.
I have created such routines to detect these before:
function check_unique_pattern()
local song = renoise.song()
local double = {}
local doubles = 1
local add_one = 0
local hyve = 2
local track_index = song.selected_track_index
double[1] = song.sequencer.pattern_sequence[1]
local i = 2
local sp_bound = #song.sequencer.pattern_sequence
local alias_encountered = false
local return_val = 0
while i <= sp_bound do
local sequence_index = song.sequencer.pattern_sequence[i]
if song.patterns[sequence_index].tracks[track_index].is_alias == true then
alias_encountered = true
break
end
for j = 1, #double do
if song.sequencer.pattern_sequence[i] == double[j] then
doubles = doubles + 1
add_one = 0
break
else
add_one = 1
end
end
if add_one == 1 then
double[hyve] = song.sequencer.pattern_sequence[i]
add_one = 0
hyve = hyve +1
end
i = i + 1
end
if doubles > 1 or alias_encountered == true then
return_val = double, doubles, alias_encountered
end
return return_val
end
Making all patterns unique is as simple as:
local song = renoise.song()
song.sequencer:make_range_unique(1, #song.sequencer.pattern_sequence)
Creating duplicates from aliasses i have not coded, but shouldn’t be too hard.
Just a few (working) snippets i submit for the idea.
i’m not sure if i understood correctly and maybe you already knew this but you can move all notes on a track upwards if thats what you wanted to do.
on the right side of pattern editor theres a button to show “advanced pattern editor operations”.
from there, select “Track in song”, Notes-> Nudge: Up/Down
thanks vV for explaining a bit. I’m not a programmer so i don’t understand the routines and unfortunately I don’t have time to get into it. It’s not a big problem though, moving backwards can be done with a delay device, and wanting to move it forward does not happen to often…
@pussi:
I havent tried that, but guess it works the same as the insert and backspace key. Our renoise guru vV would have known about it
Yes, i would, but forgot it, sorry.
Though nudging doesn’t save notes that fall off the pattern so they don’t rotate.