I found a solution by setting the song position as m1 modifier then using this m1 to set the start loop point but the loop position as always one bar of difference, any idea why this happen?
hi, I found a solution! I added a reaction on the same button than the one I use for activate the loop.
this reaction set the current song position to m1 modifier and my button also set the loop at the m1 position and this work nicely!
@john do you know if that could be possible to set the loop end with the encoder instead of loop length? with loop length I only can map two values to my loop length.
What 2 values can you only map with loop length?
There's no specific loop end action but you should be able to set the loop length to whatever you need.
M’y encoders are relative so I only can set a value when velocity is 1 or 127, what I d like is to have my encoder that make the loop longer or shorter when I turn knob, by exemple more or less one bar by each tick of my encoder,
For the moment I only can set a value for encoder turn left and another value when encoder turn right.
You would need 2 Action blocks, 1 for when you turn the encoder left & another for when turned right.
In each action block, add a condition to check the velocity value of the encoder.
First Action block should check that the velocity is 1 (so turning left) and in action block 2, check for velocity 127.
In the action section for each...
select 'live object model > song > set loop length
In the 'Beats' option, you want to add/minus a value to the current loop length.
This can be done like so (make sure to select 'custom code' for the beats option so you can enter code) :
self.song().loop_length + 4.0
self.song().loop_length - 4.0
The fist line of code above gets the current loop length and adds 1 bar to it (4.0) and the second does the same but minuses 1 bar,
do you think something like this could be used to scroll between the different option of the clip grid quantization? by exemple if my grid is 1/8 turning left go to 1/16 and turning right go to 1/4?
I copy pasted what you wrote and this doesn't t seems to work.
I just saw something strange, in my controller template my encoder 20 is set to channel 16 value 60 and in my condition in the script editor that write me :self.midi_cc_ch_15_val_60.cur_val == 1
so channel become 15 instead of 16 in my loop length reaction.
i let the files here if you want to check if that s a bug maybe?
Yes, that is true, the channels start counting from zero ;-)
I checked the code for 'loop_length' and came to the conclusion that although, when displayed in CSS log, the numbers were correct, it was not reflected in Ableton. So you just have to put the calculation back in the 'loop_length', like this: "self.song().loop_length = self.song().loop_length + 4.0"
I also simplified the 'clip grid quantization' script I made for you last time. So now you only have to adjust ('Endless encoder 7' and 'Endless encoder 7 latest velocity value') to the encoder you will use.
I tested both scripts with a relative knob. You can check them out.
About the 'loop_length' script, I just now saw that is exactly the code that is on John's attachment: "increase decrease loop length.png" (and that is also what he was describing in his last post)
Doh.. I'd better go to sleep ;-)
oh damn nearly all works nicely thank you guys!!!! really thank you!!!
just a problem to scroll between 1/16 to 1/8 and vice verse, from 1/8 that jump to 1/32 and from 1/16 that jump to 1/4
any idea ?
I checked the code and it seems fine. The 'jumping' in quantization has to do with ordering the Action Blocks.
When you put as first the blocks with 1/4 in the condition, then 1/8, then 1/16 and as last 1/32, you will be able to move from 1/32 to 1/4 easily, but the other way will always catch 1/32.
So I have written the same script in one Action, which should work fine.
Comments
I found a solution by setting the song position as m1 modifier then using this m1 to set the start loop point but the loop position as always one bar of difference, any idea why this happen?
Just a wild guess here, but could it have something to do with quantization? Try setting it on 'none'?
just tried, quantize doesn't seems to make difference
I created a solution for this a while back - reminder to self, this really needs to be added as a script in the import section of CSS.
Scrub from current position in the arrangement timeline (insert boom emoji here :) ):
https://remotify.io/community/question/song-position-control-scrub-arran...
edit: I see now that this doesn't actually answer your question (insert hand slapping face emoji)
Si you have a solution for my problem of loop that doesn’t exactly set the beginning at the exact point I need?
hi, I found a solution! I added a reaction on the same button than the one I use for activate the loop.
this reaction set the current song position to m1 modifier and my button also set the loop at the m1 position and this work nicely!
@john do you know if that could be possible to set the loop end with the encoder instead of loop length? with loop length I only can map two values to my loop length.
What 2 values can you only map with loop length?
There's no specific loop end action but you should be able to set the loop length to whatever you need.
M’y encoders are relative so I only can set a value when velocity is 1 or 127, what I d like is to have my encoder that make the loop longer or shorter when I turn knob, by exemple more or less one bar by each tick of my encoder,
For the moment I only can set a value for encoder turn left and another value when encoder turn right.
You would need 2 Action blocks, 1 for when you turn the encoder left & another for when turned right.
In each action block, add a condition to check the velocity value of the encoder.
First Action block should check that the velocity is 1 (so turning left) and in action block 2, check for velocity 127.
In the action section for each...
select 'live object model > song > set loop length
In the 'Beats' option, you want to add/minus a value to the current loop length.
This can be done like so (make sure to select 'custom code' for the beats option so you can enter code) :
self.song().loop_length + 4.0
self.song().loop_length - 4.0
The fist line of code above gets the current loop length and adds 1 bar to it (4.0) and the second does the same but minuses 1 bar,
thanks a lot!! I didn't thought that + or - could be used!!
do you think something like this could be used to scroll between the different option of the clip grid quantization? by exemple if my grid is 1/8 turning left go to 1/16 and turning right go to 1/4?
the +4 or -4 does not work on the loop length after testing :-(
it needs to be + 4.0 or - 4.0
I copy pasted what you wrote and this doesn't t seems to work.
I just saw something strange, in my controller template my encoder 20 is set to channel 16 value 60 and in my condition in the script editor that write me :self.midi_cc_ch_15_val_60.cur_val == 1
so channel become 15 instead of 16 in my loop length reaction.
i let the files here if you want to check if that s a bug maybe?
maybe the channels start counting from zero, I thought about it just after sending the post sorry!
Hello benwadub,
Yes, that is true, the channels start counting from zero ;-)
I checked the code for 'loop_length' and came to the conclusion that although, when displayed in CSS log, the numbers were correct, it was not reflected in Ableton. So you just have to put the calculation back in the 'loop_length', like this: "self.song().loop_length = self.song().loop_length + 4.0"
I also simplified the 'clip grid quantization' script I made for you last time. So now you only have to adjust ('Endless encoder 7' and 'Endless encoder 7 latest velocity value') to the encoder you will use.
I tested both scripts with a relative knob. You can check them out.
A la prochaine ;-)
About the 'loop_length' script, I just now saw that is exactly the code that is on John's attachment: "increase decrease loop length.png" (and that is also what he was describing in his last post)
Doh.. I'd better go to sleep ;-)
thanks! I ll try that as soon as possible!
you speak French too?
oh damn nearly all works nicely thank you guys!!!! really thank you!!!
just a problem to scroll between 1/16 to 1/8 and vice verse, from 1/8 that jump to 1/32 and from 1/16 that jump to 1/4
any idea ?
Hi Ben,
Glad it is working, kinda.. ;-)
I checked the code and it seems fine. The 'jumping' in quantization has to do with ordering the Action Blocks.
When you put as first the blocks with 1/4 in the condition, then 1/8, then 1/16 and as last 1/32, you will be able to move from 1/32 to 1/4 easily, but the other way will always catch 1/32.
So I have written the same script in one Action, which should work fine.
Cheers ;-)