General

Step sequencer + parameter locks (elektron style)

Started by bassik on .

Sign in or create an account to join the conversation.

12 posts

Topic starter
Hello all,

It is already a week I am researching and trying myself to create a sequencer for microtonic that can have parameter lock functionality, the typical elektron style sequencer.

I was able to put together a note step sequencer and a cc step sequencer (forgot the user projects name) that would do roughly the same thing (basically they run on teh same clock and the cc step modify the cc value at that step) but it is not the same thing performance wise.

You have to go through pages and if you want to go back to original you need to remember the slider postion (cc istep i slider based).

It would be great if this could be done using one single page in which there is only one slider per parameter and I can write to the steps the values I want.
Also the addition of a button that deletes the variations would be ace.

Do you know if there is anything similar for lemur?

sorry for teh newbie question but I am scratching my head on this.

thank you for any response in advance
Hello,

yes, this is something similar to what I have done so far.
The problem is that not all parameters are accessible from one page.
I would like to be able to modify each parameter per step by holding a step button and modifying the slider (you shall have one slider per parameter).
Also if I hold a button, the slider will go to the saved state for that button/step.

I try to sketch it down if it is not clear.
Ah now I understand the problem, I thought you want just one parameter per step. How many parameters would you like to be able to edit per step? I think I've got an idea how to do this but Ill have to check when Im home.
Haven't used the new sequencer object yet, (got stuck building my own prior to v5 and havent transitioned over), but it may help you more to have an abstract instead.

So the essence of what you want to to is, reuse one interface (or part of the interface) for multiple instances of the values that the interface can control.

You'll want to make what I can best call a 'mother ship' (I typically name it Globals but whatever) that will store all of the values.

So lets say you have velocity and pitch, they are both fader objects.

The (probably hidden) mothership object will have 2 variables to coorelate, these variables will be arrays, with as many nodes as there are steps in the sequencer.

You'll need On change scripts for Fader and Pitch that look at which step is being held when this chane is happening.

You will use this step as a node pointer for the array.

So you would say something like
//-----Pitch Fader Object
//-----onChange of x

decl s = pressedStep; //-----sort out which step is being held
Mothership.pitchValues[s] = x; //-----push its new value to the mothership
now, when that step of the sequence plays something, sort out which step is firing, then find the fader value for that step, and utilize it for midi out...
//-----
decl s = activeStep; //-----sort out which step is being fired
decl pitchOutput = Mothership.pitchValues[s]; //-----value to output
You can also use the above principle to force all faders to display their appropriate values when a given step is pressed...
Hello Traxus,

This makes a lot of sense.
The idea is that one of just having one single cc value interface that can be modified by pressing steps and that can recall the setting when I press the step.

This guy has done something great but do not have a lemur interface.
http://fabriziopoce.com/steplocker.html

I am not really familiar with lemur scripting but I assume my faders shall have named as the variable (in the case of your script pitch and velocity).
Am I right?
So the script could read the vvarioable values.

If this works it shall be the key solution.
Hello,

So I have had a first go and try with the example sent by MrCorba (Traxus sorry if I haven't tried your idea first but I need to go up the step ladder of learning scripting slowly) and I have managed to modify the step seq to 8 channels with 8 parameter.

Now the original idea is made with pads in order to select which step we are modifying.
This is not ideal as the pad does not keep lit when you select it, so you do not know which step you are looking at on teh top row of sliders.
In the attached file I have tried to use switches in radio mode and I have transferred the same script of the pad object to the switch object.
What I do not understand is why the switch object keep recalling teh step sliders behaviour but is not able to save modifications!!!
So every time I use the switch, the step sliders return to the positions they had before I pushed any switch.
If I do with pads the step sliders record modifications.
If i do modification with pads and then use the switch, all modifications are lost in the multislider object!!!

I am lost now...do not know why the script behaves like this with the switch objects (sorry but I am a bit of a newbie here).

I would really appreciate if you can help me on this.

Please!!!

Thanks a lot in advance

StepSeq_v3.jzml
Hello MrCorba,

thank you very much for having a look at it.
I knew it was something very easy to find but, you know, when you get stuck in something, most of the times you are not able to see the simplest mistakes!!!
You always need another look :mrgreen:

So next step for me will be to get this running in sync with ableton and to control via midi different parameters.
Also I was thinking that it would be great to add a fader for swing and to change the step from 1/16 to different divisions.

Also the other idea that came to my mind is to make this a melodic step sequencer as well.
I will need to find out how to implement scales in the midi output....or going through osc but this will need M4L.

So the first seed is planted let's see where it can go...and there is also the idea from traxus that can reduce the number of pages!!!

Thank you very much!!! I will post here what I can come up with