arturia keystep step position with launchpad pro

I have a new version that I created after posting the one I did yesterday.
It will clear the sequence when you set your last note and also turn off all pad LED’s
I fixed a bug that always ensure that it goes back to the first column when it hits note 18. The issue before is if you pressed a key to set the last note and the sequence was already past that note, it kept going.

I will post shortly when I get back to my PC. On my Chromebook right now.

Thats cool, yes I was playing around with it in the code this morning. Ok I think our time zones are quite apart as its my evening now and I just had a double eye procedure so cant see properly so I will sign off. I look forward to seeing it, the coding methodology is fascinating. I tried to find in the translator where the magic was taking place mathematically but I couldnt find it.

Hi Peter,

Here is the latest

The calculation for note number is found in 1.0 “Send Sequence LP Pro”

// This sets the last note Last note played. We use that to turn of previous note on
qq=gf

// This is a general purpose counter. We set at 0 when we start the timer and increment it each time it

// runs. We set it back to 0 when we have completed the sequence
ga=ga+1

// This looks at sync signals. It is a MOD operator and will set rr to 0 every 24 sync signals
rr=ga%24

// If it is not a multiple of 24, we move on without doing anything else
if rr!=0 then exit rules, skip Outgoing Action

// gc is used to calculate the note to play. It is the base number where all note calculations are done
gc=gc+1
// skip over 9 and 0 – We are only insterested in 81-88 71-78 etc if it ends in 0 we want to skip over it

// Again we use the MOD operator to determine if it is a multiple of 10

pp=gc%10

// We also skip over if the remainder is 9 (ie 89, 79, 69 etc)
if pp==9 then gc=gc+1
// Calculate led to light
// gd = row ge = column
// calculate column
ge=gc%10

// If remainder is 0 we increment the note value
if ge==0 then gc=gc+1

// and set to the next column
if ge==0 then ge=ge+1
// calculater row

// Since rows go from top to bottome down, we have to reverse 10’s digit (which is row number)
gd=gc/10
gd=8-gd
// put together 10’s digit is row (reversed) and 1’s digit is column
pp=gd*10
pp=pp+ge
// pp now contains the note number
// capture last note for next iteration
gf=pp

// reset gp counter
ga=0
//set this to the last note (light displayed) before restarting
if pp==gg then ga=0
if pp==gg then gc=-1

// Special case to ensure we never go past last note on pad

if pp==18 then ga=0

if pp==18 then gc-1

 

You can find what every global variable is used for in 0.1 Init Global Variables

 


Attachments:
1525712548842_Keystep-Visualiser-64-step-working-caldwell-2018-05-07.bmtp

This one works with the exception that if I stop the sequencer and start again it doesnt start from the first column first row it starts from second column first row. Cell 82

Hi Peter,

 

Try this version. It actually has support for LaunchPad Mk2 and APC40 MK2, but it should open with only presets open for Launchpad Pro.

When you open it it will prompt you for aliases for the other devices. You can simply select "None- Don’t ask again".

 


Attachments:
1525790053925_Keystep-Visualiser-64-step-working-caldwell-2018-05-07a.bmtp

I think this is the latest. I am finding that it works but if I stop the keystep sequencer, then restart the sequencer the visualizer will then only ever start on cell 82 and not on cell 81 after the restart.

Hmm, check the translator for the stop sequence. I’m not at my computer right now but if I remember gc should be set to negative 1 and ga to 0. You can set it either at the end of the stop rules or at the beginning of the start rules.

The translator that sets the lights looks at gc and calculates which light to set from there. I set it to -1 so that when the timer starts it starts at 0. The timer increments by one at the beginning of each iteration.

If you get stuck, chime in again and I will help. The objective of this board is not just to do it for you but to help you understand how it is done yourself to make you more self sufficient. It you want a complete solution, I’m available for contract to do work for you. Just email me if you want me to help with a complete solution.

This board is primarily to help new users get over the learning curve or to get them unstuck when they run into an issue.

Steve Caldwell
Bome Q&A Moderator and
Indepedent Bome Programmings Consultant/Specialist
bome@sniz.biz

I’ve spent a couple of days digging into the code and it was the stop routine causing the start bug. It would stop and turn off all the lights, on restart the led the first was turned off so although the counting was perfect the led on the first cell just could not light on start once the sequencer was stopped. I added a turn on light instruction on start, it now functions. I’ve added the project here. I am going to use this as a Bome MT pro example in a video demo I am making of the software and post that to my youtube channel as it’s a great real world example of “The power of Bomebox with MP pro”.


Attachments:
1526143137508_Keystep-Visualiser-MultiStep.bmtp

Wonderful! Post a link here when it is complete. I’d love to watch it.

Steve

of course I meant MT Pro at the end.