Samoz
2016-10-16 18:40:50
Hi,
I'm trying to programm my "personal" footcontroller to trigger clips in Ableton Live.
The basics are working but sometimes the combination of adrenalin and the used switches produce double triggers.
I found a solution in the forum which works great, but...
I expected the translators to work strictly serial, but reading the output they seam to work some kind of parallel.
That means, I expected:
1. The incomming midi gets filtered by the first three translators
2. The "cleaned" midi signal gets transposed by translator 0.4
The result should have been max. one transposed midi note on event within 2 seconds.
but What I get at the midi out is:
1. a propperly gated, untransposed input signal and
2. a fantastic transposed, but totally ungated note on event with every single input trigger
I found a workaround by implementing the gate in every single "Transpose" translator ( means: the "Passthrough" translator has a transposed output), but since I have a lot of presets with different transpose actions...
Is there a way to filter the input once in the first "allways on" preset and than continue with the "clean" signal?
Probably it's one of this "stupid" mistakes, but I hope someone can help me to understand what's going on.
Thanks!
-------------------------------------------------
[x] Preset 0: Kill Double Trigger + Transpose
[x] Translator 0.0: Init
Incoming: on activation of this preset
Rules: go=0
Outgoing: (none)
[x] Translator 0.1: Passthrough
Options: swallow
Incoming: MIDI pp qq rr
Rules: if go==1 then exit rules, skip Outgoing Action
Outgoing: MIDI pp qq rr
[x] Translator 0.2: Lockout Timer -->Set "go"
Options: swallow
Incoming: MIDI pp qq rr
Rules: if go==1 then exit rules, execute Outgoing Action
go=1
Outgoing: One-shot timer "LockOutTime": 2000 ms delay
// Gatetime is very high for testing
[x] Translator 0.3: Timer --> Reset "go"
Incoming: On timer "LockOutTime"
Rules: go=0
Outgoing: (none)
[x] Translator 0.4: Transposer Note On
Options: swallow
Incoming: Note On on ch. 1 set 'gn' to note with any velocity
Rules:
Outgoing: Note On on ch. 1 with note:60 (0x3C) and velocity:127 (0x7F)
-------------------------------------------------
btw. a feature request:
I'm missing a debug mode where I can trigger every single working step manually.
That would help to find out where things go the unexpected way
I'm trying to programm my "personal" footcontroller to trigger clips in Ableton Live.
The basics are working but sometimes the combination of adrenalin and the used switches produce double triggers.
I found a solution in the forum which works great, but...
I expected the translators to work strictly serial, but reading the output they seam to work some kind of parallel.
That means, I expected:
1. The incomming midi gets filtered by the first three translators
2. The "cleaned" midi signal gets transposed by translator 0.4
The result should have been max. one transposed midi note on event within 2 seconds.
but What I get at the midi out is:
1. a propperly gated, untransposed input signal and
2. a fantastic transposed, but totally ungated note on event with every single input trigger
I found a workaround by implementing the gate in every single "Transpose" translator ( means: the "Passthrough" translator has a transposed output), but since I have a lot of presets with different transpose actions...
Is there a way to filter the input once in the first "allways on" preset and than continue with the "clean" signal?
Probably it's one of this "stupid" mistakes, but I hope someone can help me to understand what's going on.
Thanks!
-------------------------------------------------
[x] Preset 0: Kill Double Trigger + Transpose
[x] Translator 0.0: Init
Incoming: on activation of this preset
Rules: go=0
Outgoing: (none)
[x] Translator 0.1: Passthrough
Options: swallow
Incoming: MIDI pp qq rr
Rules: if go==1 then exit rules, skip Outgoing Action
Outgoing: MIDI pp qq rr
[x] Translator 0.2: Lockout Timer -->Set "go"
Options: swallow
Incoming: MIDI pp qq rr
Rules: if go==1 then exit rules, execute Outgoing Action
go=1
Outgoing: One-shot timer "LockOutTime": 2000 ms delay
// Gatetime is very high for testing
[x] Translator 0.3: Timer --> Reset "go"
Incoming: On timer "LockOutTime"
Rules: go=0
Outgoing: (none)
[x] Translator 0.4: Transposer Note On
Options: swallow
Incoming: Note On on ch. 1 set 'gn' to note with any velocity
Rules:
Outgoing: Note On on ch. 1 with note:60 (0x3C) and velocity:127 (0x7F)
-------------------------------------------------
btw. a feature request:
I'm missing a debug mode where I can trigger every single working step manually.
That would help to find out where things go the unexpected way