What's new

Reaticulate - articulation management for REAPER - 0.5.13 now available

Now that I test this out a bit further, I realized I should have disabled CC chasing on the special divisi bank. Because these programs are setting up routing from channel 16 to (variously) channels 1-4, in addition to sending the CC11, and because Reaticulate will chase all CCs by default, it happens that it will end up chasing whatever crap might have appeared on channel 16 into these target channels.

A cleaner solution would be to mark the CC11 output events as non-routing so that no CC chasing takes place anyway. This is enhancement is planned, but meanwhile the simple workaround is to disable CC chasing on the divisi bank by specifying f=!chase at the bank level (which is equivalent to specifying f=!chase on each individual articulation).

Code:
//! g="Utilities" n="Divisi" f=!chase
Bank 1 1 Divisi
//! c=long i=note-whole o=cc@1:11,127
120 unison
//! c=long i=note-whole o=cc@1:11,104/cc@2:11,104
121 div 2
//! c=long i=note-whole o=cc@1:11,86/cc@2:11,86/cc@3:11,86
122 div 3
//! c=long i=note-whole o=cc@1:11,64/cc@2:11,64/cc@3:11,64/cc@4:11,64
123 div 4
 
Works just fine:

works.png


(A bit cropped, divs are on channel 16)

Happy up here :)
 
Last edited:
Hey tack, I saw you closed a bunch of stuff today. When can we expect a release? Really happy to be rid of Inspector soon.
 
Hey tack, I saw you closed a bunch of stuff today. When can we expect a release? Really happy to be rid of Inspector soon.
I've been saying to the effect of "any day now" for so long that I feel embarrassed, so I better stop trying to answer this question lest I lose all remaining credibility. :)

I think what I may do though is start adding reapack indexes to the master branch to allow the more adventurous to try it, and more importantly, help with testing. Even though I'm calling Reaticulate alpha software, I'm still taking some care to make it stable. And I've introduced some pretty major changes to master such that regressions are a real possibility (in spite of my own testing). I'd probably feel better pushing a release if I had more feedback from others helping with testing.

Thoughts?

BTW, what are your hot button issues keeping you on Inspector? Was it just #20?
 
Wow - Really nice work Tack. Only spotted it now. Let us know if there is anything we can do to support your project ;)
 
Thoughts?

As long as you make it a separate instance completely so it doesn't mess up my projects, I'd love to!

BTW, what are your hot button issues keeping you on Inspector? Was it just #20?

Yeah, the inability to use Reaticulate with Berlin Woodwinds the way I do with Inspector (two notes at the same time lets me join vibrato and no vibrato into one expression and crossfade between them.

I also wonder if you have in the pipeline an option that inspector has - left click being the way it is now, but right click actually inserts the program change into MIDI without having to have step input.
 
As long as you make it a separate instance completely so it doesn't mess up my projects, I'd love to!
That's quite tricker than it sounds. You could always install it from a portable install to test projects ahead of time. But it's ok if you leave the bleeding edge to others too. :)

I also wonder if you have in the pipeline an option that inspector has - left click being the way it is now, but right click actually inserts the program change into MIDI without having to have step input.
Yes that's what @Levitanus has asked for in #20 if I understand him correctly. Although he was asking about a keyboard modifier, I think a right-click behavior would work as well. It's easy to implement and it'll be done in the upcoming release.
 
That's quite tricker than it sounds. You could always install it from a portable install to test projects ahead of time. But it's ok if you leave the bleeding edge to others too. :)

I mean there would be two separate installations to choose from, no?

Would it be tricky because you would have to rename all the scripts and everything that goes with it?

Yes that's what @Levitanus has asked for in #20 if I understand him correctly. Although he was asking about a keyboard modifier, I think a right-click behavior would work as well. It's easy to implement and it'll be done in the upcoming release.

Right ON! You're a true hero.
 
I mean there would be two separate installations to choose from, no?

Would it be tricky because you would have to rename all the scripts and everything that goes with it?
Pretty much. It would be available under a different ReaPack location, but I would need to rename all the actions and the JSFX itself to not conflict with the other installation. I think right now that's more trouble than it's worth. Maybe once the project increases in maturity. Right now I at least still have the "alpha" label to fall back on. :)
 
I got an idea. I don't know if it would be possible (I have a feeling that it wouldn't) but I'll ask anyway:

Could it be done so that we can drag and drop articulations from the script GUI into the Bank/Program select lane in the MIDI Editor?
 
Or you could just open the lane and click on the articulations. Much faster, actually.

You can do this? Could you elaborate further? You mean in the lane in the TCP?

Wouldn't it be the same like it is right now? Click to position, click the articulation.
 
Could it be done so that we can drag and drop articulations from the script GUI into the Bank/Program select lane in the MIDI Editor?
I'm not sure if this is implementable either. If it is, the UX probably wouldn't be very good, given that I'm not able to paint outside Reaticulate's UI window.

But with the right-click stuff we mentioned earlier, I think all this saves you is the extra click of having to reposition the edit cursor first?
 
I'm not sure if this is implementable either. If it is, the UX probably wouldn't be very good, given that I'm not able to paint outside Reaticulate's UI window.

But with the right-click stuff we mentioned earlier, I think all this saves you is the extra click of having to reposition the edit cursor first?

Actually yes. My bad, I was always thinking about opening the script too since Inspector is so laggy and has to be closed and opened every time.
 
A bit of a discussion over on The Sound Board but I thought I'd share here as well:

Very soon (this weekend or early next week) I'm going to push the next release (0.2.0). Thanks to @NoamL my interest has been rekindled in tackling the problem of legato delays. I've put together a standalone proof-of-concept just to make sure the basic plumbing will work:



As with Noam's LPX solution, this is all dynamically adjusted during playback. No note nudging involved.

Of course the I'm-totally-working-on-it-and-it's-coming-soon-honest GUI for building banks will make all this easy to configure, but in the meantime, as we're all forced to sling together our banks in a text editor, I'm considering this sort of syntax:

Code:
//! c=legato  i=legato   o=note:24,127/note:34,65
//! dc=vel:0-127,-100/vel+leg:0-64,-333/vel+leg:65-100,-250/vel+leg:101-127,-125
21 legato adv

Again, the scary syntax will eventually be hidden behind a pretty GUI, but the idea is that we have a new articulation level attribute 'dc' (delay compensation), and in the above example, that bit of dense and confusing syntax would:
  • for non-legato notes with velocity from 0-127, shift the note by -100ms
  • for legato-connected notes with velocity 0-64, shift the note by -333ms
  • for legato-connected notes with velocity 65-100, shift the note by -250ms
  • for legato-connected notes with velocity 101-127, shift the note by -125ms
This should be extendable to use CC values to trigger delays as well, so e.g. you can use the current value of the modwheel to control the note offsets during playback.
 
That's great for a lot of users, but if you already use a workaround (in my case, CSS Control Panel) and want to keep this workaround (because of the CC-controlled short notes and one-note trills), it would be amazing to have like a check box to activate or disable delay compensation, avoiding users like me or users accustomed to write with the delay to edit the Reatictulate-factory.reabank file to delete the dc lines :)

What is great with this dc idea is that the syntax remains very simple, and so users can easily implement it to other libraries with a bit of delay (like Con Moto Cellos).

I'm really glad the update is coming.
 
A bit of a discussion over on The Sound Board but I thought I'd share here as well:

Very soon (this weekend or early next week) I'm going to push the next release (0.2.0). Thanks to @NoamL my interest has been rekindled in tackling the problem of legato delays. I've put together a standalone proof-of-concept just to make sure the basic plumbing will work:



As with Noam's LPX solution, this is all dynamically adjusted during playback. No note nudging involved.

Of course the I'm-totally-working-on-it-and-it's-coming-soon-honest GUI for building banks will make all this easy to configure, but in the meantime, as we're all forced to sling together our banks in a text editor, I'm considering this sort of syntax:

Code:
//! c=legato  i=legato   o=note:24,127/note:34,65
//! dc=vel:0-127,-100/vel+leg:0-64,-333/vel+leg:65-100,-250/vel+leg:101-127,-125
21 legato adv

Again, the scary syntax will eventually be hidden behind a pretty GUI, but the idea is that we have a new articulation level attribute 'dc' (delay compensation), and in the above example, that bit of dense and confusing syntax would:
  • for non-legato notes with velocity from 0-127, shift the note by -100ms
  • for legato-connected notes with velocity 0-64, shift the note by -333ms
  • for legato-connected notes with velocity 65-100, shift the note by -250ms
  • for legato-connected notes with velocity 101-127, shift the note by -125ms
This should be extendable to use CC values to trigger delays as well, so e.g. you can use the current value of the modwheel to control the note offsets during playback.


Great to hear, looking forward to it!

I'm sure you already thought of this, but I'll ask anyway: I like the new CSS Bank in the video (no toggles), but since it's a factory bank, will it overwrite the banks that we already have? If I load a project that used the old bank, does the info stay loaded in the script or does it reload from the file every time the project opens?

Thanks a lot for everything, man.
 
Top Bottom