Hi Buddy,
I could have gone into super detail and we still might of not got anywhere, so I've went and done it, and it works a treat for me. Here is a sample video I made on the Stanton SCS.3d demonstrating the sweep, but with LED feedback instead.
http://www.attigo.co.uk/video/LED%20Swe ... iPhone.m4v
Here is the Translators you will need to use:
Translator 1:
Code: Select all
Translator 0: Start Sweep
Options: stop=false
Incoming: MIDI 90 01 7f
Rules:
if ga>0 then exit rules, skip Outgoing Action
Outgoing: Periodic timer "Sweep Up": 20 ms (initial delay: 0 ms)
This will start the 'Sweep Up' periodic timer (20ms between triggers) when you press the button, just make
90 01 7f whatever your button input is. The rules stop the button from triggering the sweep if it is already in action.
Translator 2:
Code: Select all
Translator 1: Sweep Up
Options: stop=false
Incoming: On timer "Sweep Up"
Rules:
ga=ga+1
oo=ga
Outgoing: MIDI B0 01 oo
This receives the timer input every 20ms and adds 1 to the current velocity value (counts up), then it outputs a CC message of the value, you can also make
B0 01 oo whatever you want (whatever Ableton is listening for).
Translator 3:
Code: Select all
Translator 2: Sweep Up Limit
Options: stop=false
Incoming: On timer "Sweep Up"
Rules:
if ga<=126 then exit rules, skip Outgoing Action
Outgoing: Kill timer "Sweep Up"
This will stop the timer when it reaches the limit you want it to, I made it go up to 127 (full sweep) just for this example and will then stop the 'Sweep Up' counter.
Translator 4:
Code: Select all
Translator 3: Sweep Change Direction
Options: stop=false
Incoming: On timer "Sweep Up"
Rules:
if ga<=126 then exit rules, skip Outgoing Action
Outgoing: Periodic timer "Sweep Down": 20 ms (initial delay: 0 ms)
This works the same as the above Translator, but rather than 'killing' the Up timer, it starts the 'Sweep Down' timer.
Translator 5:
Code: Select all
Translator 4: Sweep Down
Options: stop=false
Incoming: On timer "Sweep Down"
Rules:
ga=ga-1
oo=ga
Outgoing: MIDI B0 01 oo
This works the same as the second Translator, but counts back down the way...
Translator 6:
Code: Select all
Translator 5: Sweep Stop
Options: stop=false
Incoming: On timer "Sweep Down"
Rules:
if ga>0 then exit rules, skip Outgoing Action
Outgoing: Kill timer "Sweep Down"
This will kill the 'Sweep Down' timer when it reaches 0 again.
You can change the values accordingly, if you want to make the sweep quicker, you could change the timer value from 20 to something smaller, or making the number larger will make it last for longer. You could also have the sweep up and sweep down times different which could be pretty cool. One more cool thing you could do is change the rules on the first Translator from '
if ga>0 then exit rules, skip Outgoing Action' to '
ga=0', and this will relaunch the sweep every time you press the button.
I hope this makes sense and you can get it rolling...
Scott