What's new

Reaticulate - articulation management for REAPER - 0.3.0 now available

OP
tack

tack

Damned Dirty Ape
Any idea how to fix this?
It's possible you have an invalid color name or icon name. I recently improved robustness with the parser to more gracefully ignore invalid names, but the initial alpha release will throw this kind of error.

Can you paste your bank? I can take a look if you're not able to see an invalid color or icon name yourself. Or perhaps there's a different problem.
 

robgb

I was young once
It's possible you have an invalid color name or icon name. I recently improved robustness with the parser to more gracefully ignore invalid names, but the initial alpha release will throw this kind of error.

Can you paste your bank? I can take a look if you're not able to see an invalid color or icon name yourself. Or perhaps there's a different problem.
Rather than bother you with that yet, let me take a closer look at the website instructions to make sure it isn't simply user error (which it most likely is). If I can't figure it out, I'll post what I have. Thanks!
 

eboats

New Member
I've gotten this error a couple of times and I'm not sure what it means. I first got it when I chose "section" under the Cinematic Strings 2 bank that you provided. I got it again when I attempted to add my own user bank:

"Application Support/REAPER/Scripts/Reaticulate//app/lib/rtk.lua:36: attempt to index a nil value (local 's')"

Any idea how to fix this?
Null pointer, a common beginner programmer's error. Not likely to see that with professional products that have been tested by an experienced QA team.
 
OP
tack

tack

Damned Dirty Ape
Not likely to see that with professional products that have been tested by an experienced QA team.
Hysterical :)

I work at a corporation that does a lot of in-house development (multiple and very large development organizations) and as a member of the team that engineers their solutions for production, I can tell you that NPEs are perhaps the most common thing I see from their professionally developed and professionally QAed software.

I must also point out that this is an alpha release. So I'm really not sure why you're trolling here.
 

eboats

New Member
Hehe, I'm a software engineer myself. Users don't see null pointers from apps released to production where I work. That's what dev and QA teams are for.
 

robgb

I was young once
Rather than bother you with that yet, let me take a closer look at the website instructions to make sure it isn't simply user error (which it most likely is). If I can't figure it out, I'll post what I have. Thanks!
Yep. Totally user error. I've got it sorted out now.
 

robgb

I was young once
Great! Was it related to an invalid color or icon name? As I said, I did fix that particular bug but if it was something else, I should like to improve the reabank parser's robustness.

(Even if the upcoming bank creation GUI will prevent malformed banks, Postel's Law is a good thing.)
Yes. It was me using the wrong color name. I was trying to use "staccato" when I should have been using "short." Works like a charm now. My next question, is there a way to integrate this into the Reaper Web Remote or TouchOSC? John Tidey has done a cool little interface with the Web Remote I'd like to use to trigger the articulations.

https://reaperblog.net/course/reaperwrb/
 
OP
tack

tack

Damned Dirty Ape
My next question, is there a way to integrate this into the Reaper Web Remote or TouchOSC? John Tidey has done a cool little interface with the Web Remote I'd like to use to trigger the articulations.
Definitely yes with TouchOSC. You'd bind a CC of your choice (I use CC119) to the one of the "Reaticulate_Activate articulation by CC" actions (you probably want to use the "on default channel" variant of that action unless you want a more sophisticated multi-channel workflow). Then in your TouchOSC template, have the buttons emit CC119 where the value corresponds to the program number for the articulation.

I don't know about Web Remote, I'm afraid I haven't taken much time to investigate the new web interface stuff yet. It depends if it's possible to pass action context along with invoking the action. That is to say, it's not enough to just invoke the "Activate articulation by CC" action, but you'd also need to be able to pass in the CC value, as if you had triggered the action from a CC, as that indicates which articulation to activate.

If that's not possible, and the web remote isn't able to send arbitrary MIDI in the way TouchOSC does, and all it can do is invoke actions without specifying action context, then theoretically I would need to create 2176 separate actions to provide the full functionality ("Activate articulation 1 on channel 1", "Activate articulation 2 on channel 1", ..., "Activate articulation 42 on channel 11", ..., "Activate articulation 127 on default channel") which is a little absurd. :)
 

aaronventure

Active Member
I've been using stephane's Inspector for quite some time now and the only gripes I have with it are that it's introducing visual lags to the interface during playback and higher loads and that if I have Solo-ed a MIDI track that is inside a group whole the Inspector.lua script is open, there will be no sound - I have to solo the main group track as well.

Are there similar issues here? I would like to have it open at all times and I can't do it with Inspector for reasons stated above.
 
OP
tack

tack

Damned Dirty Ape
Are there similar issues here? I would like to have it open at all times and I can't do it with Inspector for reasons stated above.
I haven't experienced anything like that myself. I'd be quite curious to know if you do have any performance issues with Reaticulate, as I personally wouldn't find the kind of behavior you describe acceptable.

Reaticulate isn't trying to be a track inspector though. I'll be adding more functionality that wanders somewhat outside the realm of articulations (like integration of this CC sync functionality), but it's not aiming to be a generic track inspector.
 
OP
tack

tack

Damned Dirty Ape
As a side note, it does seem like Stephane has gotten busy with life, and there hasn't been an update of his inspector since 2016. This is a problem with closed source options like his, and it's the reason I never felt compelled to try it. There are a lot of smart folks in the Reaper community who could probably address issues like what you described if they were given access to the source code.

Reaticulate being open source should hopefully insulate it from this kind of fate, should I similarly become busy with life for a time.
 
Last edited:

aaronventure

Active Member
I haven't experienced anything like that myself. I'd be quite curious to know if you do have any performance issues with Reaticulate, as I personally wouldn't find the kind of behavior you describe acceptable.
I agree, I was sad to realize that this is what it's gonna be like but it wasn't too disruptive overall (just a little bit of swearing every now and then, especially when the whole thing starts to lag because I haven't closed the inspector and I haven't saved in 15 minutes :D)

Reaticulate isn't trying to be a track inspector though. I'll be adding more functionality that wanders somewhat outside the realm of articulations (like integration of this CC sync functionality), but it's not aiming to be a generic track inspector.
I can see that. I've just watched the video and WOW, I am truly impressed by the depth of it. I'll give it a try tomorrow. Thanks, and it looks like fantastic work.
 
OP
tack

tack

Damned Dirty Ape
I've just watched the video and WOW, I am truly impressed by the depth of it. I'll give it a try tomorrow. Thanks, and it looks like fantastic work.
Thanks Aaron! Looking forward to hearing about your experience.
 

robgb

I was young once
I haven't experienced any problems like those mentioned above. Reaticulate seems to work great. I've set up a generic template that I can use on most of my libraries and so far it's working like a charm.

Question: I've noticed that when I use my normal key switches (using flex router) while playing that they are sometimes reflected in reaticulate and sometimes not. And the midi bank/program change lane (in the midi editor) never reflects the changes if entered via key switch. Is this normal?
 
OP
tack

tack

Damned Dirty Ape
Question: I've noticed that when I use my normal key switches (using flex router) while playing that they are sometimes reflected in reaticulate and sometimes not.
Reaticulate only knows if a MIDI event corresponds to an articulation if it matches the output event configured for the program. In other words, if you have a program with an output event that sends G1, when you press G1, it assumes that you're triggering that program and the GUI reflects it.

But if you're using FlexRouter as an additional translation layer such that the key you're pressing is different than the one in the Reaticulate bank, it won't know that you're triggering it.

I've personally done away with FlexRouter in most cases, using Reaticulate as the sole translation layer for most patches.

Now, the manual keyswitch detection has some limitations: if you have a program with multiple note output events, right now it's the case that manually pressing any of the notes in the program will make Reaticulate think you've activated it. This is probably too surprising (and probably wrong), so I plan to tweak the logic such that if a program has multiple notes in the output events, it will ignore manual triggering.

And the midi bank/program change lane (in the midi editor) never reflects the changes if entered via key switch. Is this normal?
It's normal. I'm not sure how feasible this kind of realtime transformation is. But I do plan to create an action to trawl through the notes in selected MIDI items and convert manual keyswitches to program changes. (Tracked here.)
 
Top Bottom