What's new

Reaticulate - articulation management for REAPER - 0.5.13 now available

For "Toggle", is there anyway of defining the two toggle states?
eg.
cc:30,1 = off
cc:30,127 = on
If you have an on/off situation that emits two different output events, then the right thing to do is to have them as separate programs in a group.

Toggle was meant for cases when the same keyswitch toggled some state on the patch, for example in the Bohemian violin where the same keyswitch B0 toggles chords on and off. In your example, it's a separate event (CC30/1 and CC30/127) so since it's possible to set on and off discretely, they should be separate programs.
 
I just got an iPad and TouchOSC. The whole idea was to use the aforementioned combination to design a few custom layouts in order to enact articulations in certain Kontakt instruments running within REAPER. I thought the combination of an iPad and TouchOSC was all that was required to handle this for me.

Do I need this?
I think you can safely skip Reaticulate if you're happy to create custom TouchOSC layouts for all your patches, emitting the appropriate keyswitch event for the patch it describes.

You could think of it this as really just another kind of implementation that solves the same problems that Reaticulate does, more or less. Reaticulate provides a GUI, which TouchOSC does, and it loads all the banks for the patches of interest and describes their articulations, which your custom TouchOSC templates can do.

One thing that I don't think TouchOSC can do is emit multiple MIDI events for a single UI element, so Reaticulate has a leg up there. For example, say you wanted a single articulation button with Cinematic Studio Strings to enable non-legato sustains with con sordino enabled. That's possible with Reaticulate, by creating a program that emits all the events CSS needs to set that state:

Code:
//! c=long-light i=con-sord o=note:24/note:34,1/note:35,127
7 long con sord

But if you don't need anything fancy like that, and seeing the articulations in the piano roll as program changes isn't that important to you, and all your patches use note-based keyswitches (since you can't step record CCs or program changes) or you're not interested in step input of articulation changes, I think you'd get on just fine with a pure TouchOSC solution. I reckon that's what a lot of people are doing anyway.

[BTW Tack - from one Imperial man to another, Reaticulate looks stunning.]
Thanks! :)
 
I'm afraid I'm not aware of a means for a Reaper script to change snapshots within Kontakt. A possible kludge might be to create a custom multiscript to run in Kontakt, which could then at least be controlled via some special MIDI from Reaper, but even then I don't think it's possible for a Kontakt multiscript to adjust current snapshots of the active patches.
That's what I was afraid of. Thanks anyway!
 
Just noticed that with CSS, when I do divisi parts (legato off switch + expression @ 85%), and switch back to legato on, Reaticulate activates the standard legato, not the advanced one. I like to switch to advanced legato and compensate delay before rendering, therefore I wonder myself: how can I do it with Reaticulate?

EDIT: Found it. Just made the sustain articulation @CC58 = 6 ;)
 
Last edited:
EDIT: Found it. Just made the sustain articulation @CC58 = 6 ;)
Glad you found it. I actually retrofitted the CSS banks in my development branch to fix the particular gap you found (to include articulations for both standard and advanced legato), but also to switch to note-based keyswitches. CC-based keyswitches has a problem in which Kontakt will swallow multiple events for the same CC occurring at the same time and only pass through the last one. This prevented stacking output events.

For example, if you wanted an articulation for "advanced legato sustains con sordino" it would require emitting multiple output events, but with CCs, this just wouldn't work. Kontakt swallowed all but the last CC in the output event list.

(The previous factory bank for CSS doesn't do multiple output events so this wasn't a problem, but I'm considering some changes where that would be needed, so I figured I'd just port it over to note-based keyswitches. The disadvantage is that you now need separate banks for Sections and Ensembles.)
 
Indeed, I noticed that for multiple articulation layers I had to trigger the CC switch at different times, which imply ultra-zooming in the MIDI editor :-D I'm really glad we will be able to make note based switches in the next update!

Great to see that Reaticulate's development is going on so fast, dealing with real-situation issues :)
 
Great to see that Reaticulate's development is going on so fast, dealing with real-situation issues :)
Unfortunately not going quite as quickly as I'd hoped due to some back issues preventing extended sitting periods, but, yes, solving real problems is the goal. :)
 
Time for a standup desk!
Started researching actually. It would need to elevate this. Looks like the main complaint about standup desks is that they get quite wobbly at the height I'd need to keep it at (as I'm 6'1"). My search continues. Maybe I'll start a thread.
 
Started researching actually. It would need to elevate this. Looks like the main complaint about standup desks is that they get quite wobbly at the height I'd need to keep it at (as I'm 6'1"). My search continues. Maybe I'll start a thread.
ZAOR starts building a new standup line. I have a standup table build myself which is not wobbly at all.

A simple solution would be to keep your setup and have a simple standup solution on side.
 
What CC controller are you using there?
That's the iCON Platform-M.

As for standing desks:
I'd looked at that one as well (both business and home editions) and they seem to have a lot of wobble even much below the height I'd need (around 45"). In fact, I'm not sure I've seen one of those motorized elevating desks that didn't have significant instability above 40". It seems that only units with crossbeam support don't wobble badly, but then I would find that problematic as I do like to stretch my legs out when I'm sitting. Damned if I do ...

Cool rig though.
 
have a lot of wobble even much below the height I'd need (around 45").

I can tell you at its top height (46"?) I haven't really noticed much wobble. Yes it does wobble if you try to MAKE it wobble by grabbing hold and shaking it, but unless you're going to be dancing on it, I think you'll be fine.
 
well, awesome extention!
Now i'm confused at one moment:
How to realize both: multiple output rules adw switch (not layering) of the channel?
For example, i have about 30 patches with SSS template, being seated in 2 kontakts in VEPRO. I wat to be able layer anything with anything, so i made 2 tracks with the same JS plugins and reaticulate banks.
But for switching between banks i made simple JSFX:
Code:
slider1:1<1,127,1>CC NUM
slider2:0<0,1,1{Set BUS,Shift BUS}>mode

@init
ext_midi_bus = 1.0

@block
midirecv(offset, msg1, msg2, msg3)?(
  msg1 >= 0xb0 && msg1 < 0xc0 && msg2 == slider1  ? (
      slider2 == 0? (
        bus = msg3;
      ):(
        bus = midi_bus + msg3 + 1;
      );
    );
  midi_bus = bus-1;
  midisend (offset, msg1, msg2, msg3);
);
So, for setting the right bus i need to send CC (84 in my case) with the BUS Nr. But when i write output rule
Code:
//! c=legato i=legato g=1 o=cc:84,1/@2
2 legato_vi_II
reaticulate layers patches, but not switches.
configurations
Code:
//! c=legato i=legato g=1 o=@2/cc:84,1
2 legato_vi_II
and
Code:
//! c=legato i=legato g=1 o=@2 0=cc:84,1
2 legato_vi_II
don't work at all
 
So, for setting the right bus i need to send CC (84 in my case) with the BUS Nr. But when i write output rule
Can you describe exactly what MIDI outputs you want to be sent? e.g. which specific events on which channels.

and
Code:
//! c=legato i=legato g=1 o=@2 0=cc:84,1
2 legato_vi_II
don't work at all
Yeah, that's not syntactically valid, so I'm not surprised it doesn't work. :)
 
configurations
Code:
//! c=legato i=legato g=1 o=@2/cc:84,1
2 legato_vi_II
and
I guess just to clarify on what this does (or should do :)):

It'll output CC84 value 1 on the default channel (the channel that's highlighted in the GUI), and thereafter will ensure all subsequent MIDI events go to this default channel and channel 2.
 
Can you describe exactly what MIDI outputs you want to be sent? e.g. which specific events on which channels.
CC84 has to be sent on any channel with value 1 (or whatewer value being set in bank). It will set the proper bus.
Any other messages have to be rerouted to the channel (@channel) as with construction
Code:
//! c=legato i=legato g=1 o=@channel
1 legato_vi_I
 
CC84 has to be sent on any channel with value 1 (or whatewer value being set in bank). It will set the proper bus.
Any other messages have to be rerouted to the channel (@channel) as with construction
Perhaps you want:

Code:
//! c=legato i=legato g=1 o=cc@2:84,1
1 legato_vi_I

This will send CC84 value 1 on channel 2 and then route subsequent events to channel 2. If I understand right, this might happen to work because your CC84 event can be sent on any channel. If you had needed to send CC84 on channel 1 and then route to channel 2 while also avoiding sending subsequent events to both channels 1 and 2 (which is what your earlier syntax did), that'd have been a problem.
 
tried reaper once again this weekend and reaticulate is really really great. i like it better than cubase expression maps or the new articulation system in logic pro.

along with your other scripts (disable track etc) you can really build a good orchestral template now in reaper.

looking forward to future updates and a more easy way to create own banks.

great work!
 
Top Bottom