Reaticulate - articulation management for REAPER - 0.4.0 now available

robgb

I was young once
Sounds like the plugin is crashing and taking Reaper out with it. Does the behavior change if you tell Reaper to run the instrument FX as a dedicated process? If the plugins fails but Reaper stays alive that corrobates the hypothesis that the plugin is crashing.

Out of curiosity when you say Spitfire instrument is this Kontakt or their proprietary player?
It's a Kontakt instrument using Kontakt 6.11. It's new behavior, so I don't know too many particulars at this point. I thought running an instrument FX as a dedicated process was only applicable for 32-bit FX. I see no way of running 64-bit Kontakt that way. ??

I'll try running it with the Reaticulate debugger running and see what happens.
 

Vadium

Active Member
sometimes crashes version 5.980 of Reaper
Yes, I have same random crashes too (with other Kontakt instruments, not with Spitfire, placed in Vepro 7 (last versions) on the other computer). macOS 10.3.6. I will try to use dedicated process

-----------------------------
How to specify, what articulation in group 2 must be pre-selected as default on the opening track? (for example, I want set as default release = 64)

//! c=default i=list g=2 o=cc:72,127
21 Release 127

//! c=default i=list g=2 o=cc:72,100
22 Release 100

//! c=default i=list g=2 o=cc:72,64
23 Release 64

//! c=default i=list g=2 o=cc:72,40
24 Release 40
 
Last edited:
OP
tack

tack

Damned Dirty Ape
I thought running an instrument FX as a dedicated process was only applicable for 32-bit FX. I see no way of running 64-bit Kontakt that way. ??
I'm afraid I'm more than a little clueless when it comes to OS X, but as far as I can tell it should be possible? Right click on the FX in the "Add FX" window, select Run As | Dedicated Process.

Kontakt crashes all the time for me, but not due to anything Reaticulate sends to it, but it happens when I close the FX window. (You might have seen my thread on the Reaper forums. It remains a mystery.)

Anyway, Reaper or any FX crashing isn't going to be a bug in Reaticulate as such. There may be a way to work around it if we can get to the bottom of it.

How to specify, what articulation in group 2 must be pre-selected as default on the opening track? (for example, I want set as default release = 64)
This capability doesn't exist currently, mainly because upon initialization, Reaticulate can't know what state the instrument is in, so it just assumes nothing and waits for the first activation. I guess I could add a default flag that you can assign to one articulation in each group to handle the init case. I'm not super confident that's the best behavior though, just because absent knowledge of what state the instrument's in, my intuition is still that it seems best to assume nothing. Maybe you can convince me by expanding on your use-case.
 

Vadium

Active Member
Maybe you can convince me by expanding on your use-case.
I have a couple of instances of an instrument with one articulation in each, and parameter (for example, release) in random state in each, so I want to control this parameter from Reaticulate on init state, before playing. I don't need to know instrument state, but want just to force send a right init value to it. I see 2 way for it:
1) In each project to place a parameter init value at start of an instrument track
2) to have an "init preselected slot" in a bank, and value from this slot will be chased by instrument (as I apologize, there are fewer unnecessary actions in this case, no?) In Cubase, for example, the first slot selected as default on init state.
It can be as option: select nothing if "def slot" isn't specified
 
Last edited:
OP
tack

tack

Damned Dirty Ape
don't need to know instrument state, but want just to force send a right value to it.
Oh you didn't mean showing some default articulation as activated in the GUI, but actually activating it by sending the output events for that articulation. I misunderstood, I thought you were asking about a cosmetic thing only.

This would presumably only happen at the moment the bank is assigned to the track, and at no other time? Obviously it would require the bank to be added after the patch is loaded rather than before.

Anyway, currently this capability doesn't exist. I'll consider if I want to add it.

1) In each project place a parameter init value at start of an instrument track
This is what I do. Also because I want CCs to be initialized a certain way, so it just makes sense to put all my desired default state into a little stub MIDI item at the front of the track.
 

Audio Birdi

Active Member
HI @tack,

Tried setting up reaticulate with EastWest Hollywood Strings and getting some weird issues. I'm using version 0.3.1

Whenever I switch articulations, CC 65 gets turned on automatically when changing patches. (portamento script).

Also, it doesn't register the articulation change when selecting the articulation first time, so have to click on it twice to get it to respond / trigger properly.

Another strange thing I've seen is, when selecting program change number 3 next to an articulation name, a big line of numbers appears next to the articulation name on the right which is odd, since this hasn't been shown on any other program change numbers.

I've attached the .reabank file to this post.

Any help would be most appreciated, thank you!

Kabir
 

Attachments

OP
tack

tack

Damned Dirty Ape
@Audio Birdi sorry for the delay! This came in on Sunday when I was busy, but then it slipped my mind! :blush:

Whenever I switch articulations, CC 65 gets turned on automatically when changing patches. (portamento script).
I don't see anything obviously wrong in your Reabank here. Your routing-only output events like [email protected] are redundant because e.g. [email protected]:65,0 already implies that. But that won't hurt anything. Also many articulations have duplicate events for CC69 value 127 which seems little odd?

As I look at the MIDI sent out by Reaticulate, all the articulations except Portamento are sending CC65 value 0 on their respective channel. Portamento sends CC65 value 127.

You can confirm this yourself by adding a ReaControlMIDI instance after Reaticulate in the FX chain and showing the MIDI activity log. Do you also see this? Are you sure that CC65 value 0 is what you need to send to turn portamento off?

Another strange thing I've seen is, when selecting program change number 3 next to an articulation name, a big line of numbers appears next to the articulation name on the right which is odd, since this hasn't been shown on any other program change numbers.
I'm not really sure what you mean here. The "big line of numbers" you describe sounds like the channel assignment. (Reaticulate will draw a boxed number to the right of the articulation name for each source channel that the articulation is mapped to.) But I'm not sure how that's happening, or what you mean by "selecting program change number 3 next to an articulation name." Might be best if you're able to take a screen capture of that behaviour, and what you're doing to trigger it?
 

Audio Birdi

Active Member
Hi @tack,

No problem at all! :)

So, whilst screen recording and screen capturing, oddly, both issues seem to be not being replicated, so all appears to be working OK at the moment! :D

Thank you for creating this, is an awesome plugin that speeds things up big-time!

I'm currently seeing if there's a way to get an elgato stream deck to automatically send and receive midi data from Reaticulate when changing tracks in reaper. The whole thing looks daunting as I don't know where to start with the SDK!

May go this approach if I don't get anywhere with it:


Always wondered how to get this working with Lemur but will see how the stream deck will work out with interfacing with reaper.
 

Vadium

Active Member
how to get this working with Lemur
seems good, but using of Lemur requires a big lot of extra entering zillion articulations to Lemur.. Additionally, as I know, Lemur has a limitation of data size for all button names - only 256 (!) symbols, as described on 11 min. in this video
- it is not a trivial task to fit all articulation names to Lemur articulation list. As has been previously written, I think that there are 2 easier ways:

1) if Reaticulate will able to show articulations not as a list, but as a spreadsheet, all we need is just to use a tablet as an additional external monitor (by using, for example, a https://lunadisplay.com/ software for iPad) and open Reaticulate as a separate window on a tablet. It already works, but a list representation of articulations does not use a full tablet screen effectively.

2) if Reaticulate will able to send articulation names by OSC, we can just receive and show these names on a tablet.
In both cases, a general idea is only one time to write an articulation bank in only one place and share this data between devices - it saves a lot of time.

Also a question: how to use a right-click on articulation on a tablet? :)
 
Last edited:

Audio Birdi

Active Member
seems good, but using of Lemur requires a big lot of extra entering zillion articulations to Lemur.. Additionally, as I know, Lemur has a limitation of data size for a button names - it is not a trivial task to fit all articulation names to Lemur articulation list. As has been previously written, I think that there are 2 easier ways:

1) if Reaticulate will able to show articulations not as a list, but as a spreadsheet, all we need is just to use a tablet as an additional external monitor (by using, for example, a https://lunadisplay.com/ software for iPad) and open Reaticulate as a separate window on a tablet. It already works, but a list representation of articulations does not use a full screen effectively.

2) if Reaticulate will able to send articulation names by OSC, we can just receive and show these names on a tablet.

In both cases, a general idea is only one time to write an articulation bank in only one place and share this data between devices - it saves a lot of time.

Also a question: how to use a right-click on articulation on a tablet? :)
Agreed, a responsive spreadsheet (which can turn into a list when having the window with less width) will allow for a much better way of showing articulations in reaticulate. The separate window on a tablet is a great idea. Can you already select articulations in the current list view from a tablet?

Hoping OSC gets implemented in future too! :)
 

Vadium

Active Member
Can you already select articulations in the current list view from a tablet?
Yes, certainly (the video was posted here) - tablet works as a traditional second display with any soft, but with bonus - as touchscreen display! but from a tablet, I can only select articulation. if I need to make a right-click, I must to move a mouse cursor to tablet and make a right-click - as with a traditional second monitor. Maybe it is possible to assign a right-click to tablet gesture (two fingers pressing) - I have not tested it yet.
 
Last edited:
OP
tack

tack

Damned Dirty Ape
if I need to make a right-click, I must to move a mouse cursor to tablet and make a right-click - as with a traditional second monitor. Maybe it is possible to assign a right-click to tablet gesture (two fingers pressing) - I have not tested it yet.
How about support for long presses in lieu of right-click? That should be relatively easy to implement.

Edit: or perhaps a double-tap instead. This way it's consistent with the "Activate selected articulation on default channel" action, wherein, according to the docs, "triggering this action twice in rapid succession will force-insert the program change event into the current MIDI item at the edit cursor."

I can imagine implementing this logic for some other actions too. So double tapping articulations in the UI would be better from a consistency perspective.
 

Vadium

Active Member
How about support for long presses in lieu of right-click?
I think it is very individual (as writing manner in phones), and best way to make these commands customizable for users. In cases with a lot of notes, I prefer one short right-click - long press or double click are makes an overall process slower
 

Audio Birdi

Active Member
How you transform CC to Play program selection?

I have tried to use 5 instances of Play in Plogue Bidule and found, that it uses CPU not effectively and overload it...
Hi there!

Sorry for the delay in reply!

I use one instance of PLAY per instrument, with mutliple channel based patches containing solo and keyswitch patches per channel.

I've attached my user reaticulate file and scripts I use to insert program change messages at the edit cursor. Still trying to figure out how to have them insert at each selected note.

I only have Hollywood Strings Violins 1 done so far in Reaticulate as a test.

Hope this helps!
 

Attachments

Vadium

Active Member
Is there a way to force modifying a passing note's velocity to selected value? For example, if I select a Legato articulation from a bank, velocity for all notes I play transforms to 127, if I select Portamento, velocity for all notes I play transforms to 1 - is it possible? (attached picture - how it realized in Cubase Expression maps)

Screen Shot 2019-08-11 at 01.55.25.JPEG
 
Last edited:
OP
tack

tack

Damned Dirty Ape
For example, if I select a Legato articulation from a bank, velocity for all notes I play transforms to 127, if I select Portamento, velocity for all notes I play transforms to 1 - is it possible?
I'm afraid not, but I understand the use-case and it fits with Reaticulate's purpose. I'll look at adding that feature.
 
OP
tack

tack

Damned Dirty Ape
(attached picture - how it realized in Cubase Expression maps)
Everything else there is self-explanatory (or clear from Cubase's documentation) except for Length. Does one specify a fixed note length there, or is it like velocity where it's expressed as a percentage of the incoming note duration?

BTW, tracking here if you want to comment more about requirements: https://github.com/jtackaberry/reaticulate/issues/72
 

Vadium

Active Member
expressed as a percentage
yes, percentage. from 20 (why not 1?) to 200%

One more question about using and routing a VePro. there are not only midi channels, but also lot of midi ports can be used in one VePro instance. One port can contain up to 16 midi channels. There are some cases, where several ports need for one instrument (for example, large instruments like OT Strings, but not Kontakt-based - it is impossible to use a flexrouter). So, is it possible (may be in far future) to control from Reaticulate a routing not only between midi channels but also between ports? (Legato @port1 @1, staccato @port2 @14, etc) - is it technically possible?
 

Attachments

OP
tack

tack

Damned Dirty Ape
So, is it possible (may be in far future) to control from Reaticulate a routing not only between midi channels but also between ports? (Legato @port1 @1, staccato @port2 @14, etc) - is it technically possible?
It's not possible today, but it's planned. I see I don't have an issue open on GitHub for that (will open onehave opened one), but I have a TODO in the source code. :)