tom
Converser

Posts: 15
|
Post by tom on Jun 16, 2014 14:30:37 GMT
Idd quite complex, but promising. 1 switch at a time will do, and i'll just set the midi keyboard to another channel. So far i got error messages when installing the rules at both scenes. 9X 7B-7F = CF 00 +H1000 # auto return to scene 0 after 1sec and 9X 7B-7F 01-7F 01 = XX +B # block trigger note ons  
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jun 16, 2014 15:25:01 GMT
Bah! - OK, try this
# top 5 button hold (or not) magic 9X 7B-7F 00 = 8X # always force note offs 9X 7B-7F = CF 02 +C # switch to Hold Active scene on note on NX 7B = CF 00 +H1000 # auto return to scene 0 after 1sec NX 7C = CF 00 +H1000 # auto return to scene 0 after 1sec NX 7D = CF 00 +H1000 # auto return to scene 0 after 1sec NX 7E = CF 00 +H1000 # auto return to scene 0 after 1sec NX 7F = CF 00 +H1000 # auto return to scene 0 after 1sec NX 7B = C0 76 +H1000 # schedule hold/trigger NX 7C = C0 77 +H1000 # schedule hold/trigger NX 7D = C0 78 +H1000 # schedule hold/trigger NX 7E = C0 79 +H1000 # schedule hold/trigger NX 7F = C0 7A +H1000 # schedule hold/trigger NX 7B-7F = XX +B # block trigger notes CF = XX +B # block internal CCs
And
# hold active logic 9X 7B-7F 01 = XX +B # block trigger note ons 9X 7B-7F 00 = 8X # always force note offs NX 7B = FE +H1 # inert hold event to ensure holds cancel on note off NX 7C = FE +H1 # inert hold event to ensure holds cancel on note off NX 7D = FE +H1 # inert hold event to ensure holds cancel on note off NX 7E = FE +H1 # inert hold event to ensure holds cancel on note off NX 7F = FE +H1 # inert hold event to ensure holds cancel on note off 8X 7B-7F = CF 00 +C # note off, immediately return to scene 0 8X 7B-7F = CX # note off, issue PC NX 7B-7F = XX +B # block trigger notes CF = XX +B # block internal CCs
Regards, Nic.
|
|
tom
Converser

Posts: 15
|
Post by tom on Jun 16, 2014 15:38:14 GMT
All 5 "# auto return to scene 0 after 1sec" give an error on install
And on #Hold active only the first line gives an error #ERR 9X 7B-7F 01-7F 01 = XX +B # block trigger note ons
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jun 16, 2014 15:53:42 GMT
OK, I have edited the above for typos.
If that fails, then leave it with me and I'll load into a device and check so you don't have to do my dirty work for me.
Regards, Nic.
|
|
tom
Converser

Posts: 15
|
Post by tom on Jun 16, 2014 16:04:16 GMT
They installed fine. I'll get back when i have setup my fcb and done some testing. As enthusiastic as i am, it will have to wait 3-4 days until i get back home.
|
|
tom
Converser

Posts: 15
|
Post by tom on Jun 22, 2014 13:58:29 GMT
Ok, the timing works perfectly. 1 PC message being sent on press-release before timeout, or 1 PC message at the timeout, but.. The messages are the same. For note 127, i get pc command 127 on both possibilities. For note 126 I get pc 126 on both. And so forth..
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jun 22, 2014 16:01:07 GMT
You are correct it is sending the same program change set on hold or cancel.
I have just modified the rules above so it will send the lower set on hold.
Regards, Nic.
|
|
tom
Converser

Posts: 15
|
Post by tom on Jun 23, 2014 9:48:39 GMT
Good, this is working so far. I now get on a short press: Ch1 Note on, Ch1 PC 127 and Ch 16 PC 0. And on long press: Ch 1 Note on, Ch 16 PC 0, Ch 1 PC 122, Ch 1 Note off
The Ch 16 PC 0, shows up every time. Also, Loopy recognises note on and offs. So when i want to make a binding, the last message is "Ch 16 PC 0" or "Ch 1 Note off"
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jun 23, 2014 11:23:09 GMT
OK, I have added block rules to both rulesets to block off the note events and the internal CCs. Some of these were being blocked off in the other set of rules, but it should do no harm having them in these rules also.
Regards, Nic.
|
|
tom
Converser

Posts: 15
|
Post by tom on Jun 30, 2014 11:07:43 GMT
It works beautifully now. The remaining note possibilities on channel 1 are being sent as normal. Beautiful!
So for me to make sense of it...
It seems that on short press, the note command will be converted to a PC equivalent number command, correct?
# top 5 button hold (or not) magic
9X 7B-7F 00 = 8X # always force note offs Cancel output of notes 7B-7F. This must equal to note 123-127 or D#-G Octave 10. 9X 7B-7F = CF 02 +C # switch to Hold Active scene on note on If i would like to adjust the range, i'll have to adjust the range 7B-7F here too NX 7B = CF 00 +H1000 # auto return to scene 0 after 1sec
NX 7C = CF 00 +H1000 # auto return to scene 0 after 1sec
NX 7D = CF 00 +H1000 # auto return to scene 0 after 1sec NX 7E = CF 00 +H1000 # auto return to scene 0 after 1sec
NX 7F = CF 00 +H1000 # auto return to scene 0 after 1sec
NX 7B = C0 76 +H1000 # schedule hold/trigger
NX 7C = C0 77 +H1000 # schedule hold/trigger
NX 7D = C0 78 +H1000 # schedule hold/trigger Here on long press 7D will be converted to a 78 = PC 120 NX 7E = C0 79 +H1000 # schedule hold/trigger
NX 7F = C0 7A +H1000 # schedule hold/trigger
NX 7B-7F = XX +B # block trigger notes Adjust range CF = XX +B # block internal CCs
# hold active logic
9X 7B-7F 01 = XX +B # block trigger note ons 9X 7B-7F 00 = 8X # always force note offs
NX 7B = FE +H1 # inert hold event to ensure holds cancel on note off
NX 7C = FE +H1 # inert hold event to ensure holds cancel on note off
NX 7D = FE +H1 # inert hold event to ensure holds cancel on note off
NX 7E = FE +H1 # inert hold event to ensure holds cancel on note off
NX 7F = FE +H1 # inert hold event to ensure holds cancel on note off
8X 7B-7F = CF 00 +C # note off, immediately return to scene 0
8X 7B-7F = CX # note off, issue PC On long press after +H1000 time limit, 7D or note 125 will be converted to PC 125 NX 7B-7F = XX +B # block trigger notes
CF = XX +B # block internal CCs
And in scene 2 it will just be a matter of adjusting the 7B-7F range. Am i making sense of it?
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jul 1, 2014 7:23:36 GMT
Travelling with patchy/sporadic internet. please excuse brevity.
We are hijacking a range of 5 trigger notes at the top of the keyboard (7B to 7F).
Short press, the note number is converted to the corresponding program change number. Long press, note number converted to program change number by individual rule
To adjust the range say to 79 to 7F (2 more notes) then change where it says 7B-7F to 79-7F
BUT!
you also need to modify the manual (long press) rules to adjust for the new range for the long press event *and* auto-scene return including adding two new sets of long press rules for the new long press events.
Regards, Nic.
|
|
tom
Converser

Posts: 15
|
Post by tom on Oct 17, 2014 7:11:37 GMT
Hey Nic,
This whole thing is working beautifully for me. No more double PC messages send, and the the great possibilities in loopy, allowing for more loops to be used while still having full control-abilities over other features. Thanks a lot for this!
Now, i want to incorporate Tonestack into my setup. But to be able to change presets in this app, it needs to receive CC messages with values over 64. What do i need to change to have the steambyter spit out CC messages on a > 1 second press?
Tom
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Oct 17, 2014 9:33:46 GMT
Hi tom, Assuming you want to incorporate this with your existing setup that suppresses the double ups, you would modify the first ruleset (hold inactive) as follows. These rules are responsible for converting a held switch on the FCB1010 to program change: NX 7B = C0 76 +H1000 # schedule hold/trigger NX 7C = C0 77 +H1000 # schedule hold/trigger NX 7D = C0 78 +H1000 # schedule hold/trigger NX 7E = C0 79 +H1000 # schedule hold/trigger NX 7F = C0 7A +H1000 # schedule hold/triggerTo send a CC instead of a program change modify the rule(s) to send CC instead. For example, to change the 1st button to send CC 70 (46 hex) change the first rule so: NX 7B = B0 46 7F +H1000 # schedule hold/trigger (CC for tonestack)So you can mix and match what your buttons do. If you want a held button to send program change *and* CC, just include both rules: NX 7B = C0 76 +H1000 # schedule hold/trigger NX 7B = B0 46 7F +H1000 # schedule hold/trigger (CC for tonestack)Hope that answers your question. If you want to change what is sent on not-held buttons, then you modify the second ruleset: 8X 7B-7F = CX # note off, issue PCand replace with 8X 7B = B0 46 7F 8X 7C-7F = CX # note off, issue PCto trigger the CC on button 1 press (and not program change) That's the gist of what you need I think. Let us know how you get on. Regards, Nic.
|
|
tom
Converser

Posts: 15
|
Post by tom on Oct 17, 2014 15:52:24 GMT
Great! Fairly quickly implemented (some trouble with the saving process), but working lovely now!
Next step, write a killer looping song with the new setup. Make a video, and tell people all about how i did this.
I plan to one day reward you for your effort. Thanks a lot!
|
|