Is this posible in MT 1.5 ?

-fortune-

2006-06-20 17:53:52

I just tested MT 1.5 and wow, the new features "timers" and "rules" roolzz.

But i would like to do something that i don't know if MT can.

i'd like to control Bifilter plugin with 1 knob in Ableton with this settings:

(all in channel 16)
- CC 109 --> type of filter---CC109=01(Low pass)---CC109=31(Hi pass)
- CC 104 --> cutoff
- CC 96 --> ON/OFF

ok then:

-sending CC20 between 0 to 62 then Bifilter ON , type of filter Low pass.

-sending CC20 between 63 to 65 then Bifilter OFF.

-sending CC20 between 66 to 127 then Bifilter ON, type of filter Hi pass.

as you can see in the central position of the knob Bifilter is OFF , turning to the left is a LP filter and to the right is a HP filter. Can i do it with the new RULES?

thx

florian

2006-06-20 20:08:14

I think this should be possible.

We use global variable ga to remember the ON/OFF state: 0 is not initialized, 1 is off, 127 is on. We use gb for type of filter. I use some expressions to map the value range (see comments in square brackets).

Code: Select all

Translator 1: Switch on
GENERAL: "Stop Processing": unchecked!
INCOMING: BF 14 pp [CC20 on channel 16]
RULES: 
 if ga=127 then "skip this translator"
 if pp>65 then "skip next rule"
 if pp>=63 then "skip this translator"
 Assignment ga=127
OUTGOING: BF 60 ga  [CC96 on channel 16]

Translator 2: Switch off
GENERAL: "Stop Processing": unchecked!
INCOMING: BF 14 pp [CC20 on channel 16]
RULES: 
 if ga=1 then "skip this translator"
 if pp<63 then "skip this translator"
 if pp>65 then "skip this translator"
 Assignment ga=1
OUTGOING: BF 60 ga  [CC96 on channel 16]

Translator 3: Switch to lowpass
GENERAL: "Stop Processing": unchecked!
INCOMING: BF 14 pp [CC20 on channel 16]
RULES: 
 if gb=1 then "skip this translator"
 if pp>=63 then "skip this translator"
 Assignment gb=1
OUTGOING: BF 6D gb  [CC109 on channel 16]

Translator 4: Switch to highpass
GENERAL:  "Stop Processing": unchecked!
INCOMING: BF 14 pp [CC20 on channel 16]
RULES: 
 if gb=31 then "skip this translator"
 if pp<=65 then "skip this translator"
 Assignment gb=31
OUTGOING: BF 6D gb  [CC109 on channel 16]

Translator 5: Send lowpass
GENERAL: "Stop Processing": checked!
INCOMING: BF 14 pp [CC20 on channel 16]
RULES: 
 if pp>=63 then "skip this translator"
    [map 0..62 to 0..127:]
 Expression pp=pp*127
 Expression pp=pp/62
OUTGOING: BF 68 pp  [CC104 on channel 16]

Translator 6: Send highpass
GENERAL: "Stop Processing": checked!
INCOMING: BF 14 pp [CC20 on channel 16]
RULES: 
 if pp<=65 then "skip this translator"
   [map 66..127 to 0..127:]
 Expression pp=pp-66
 Expression pp=pp*127
 Expression pp=pp/61
OUTGOING: BF 68 pp  [CC104 on channel 16]
I see that a "GOTO" would be quite welcome. Then the above could be done much easier. Also is planned to have multiple Outgoing Actions per Translator, so then one Translator would be enough for the entire thing.

Please let me know if this works!
Florian

(edited 2006-11-22 for proper global variable names)

-fortune-

2006-06-21 00:43:08

Wooow Florian it works!!! :):) thx a lot

I just changed the global variable g1 to ga and g2 to gb and inverted the ON/OFF rules 'cause bifilter have 127=off and 0=on ,strange :shock:

Thanks , thanks , thanks

florian

2006-06-21 01:01:01

very cool!
thanks for finding out that global variables start with "ga" and not "g1" :)

Glad it works. I'll work on improving the rules to make such tasks easier!

Florian