Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER General Discussion Forum

Reply
 
Thread Tools Display Modes
Old 05-27-2023, 08:06 AM   #2121
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by sychron View Post
I'm facing the same Problem after uninstalling Rearticulate via Reapack.
Checked my SWS Startup Actions to see whether the script was called from there - no.
Does anyone know a solution to this? WHat does make reaper try to launch that script even when Rearticulate is uninstalled?
Sorry you ran into this. When you enable autostart in Reaticulate's settings, it adds a stanza to a file called __startup.lua which exists in your REAPER Scripts directory. This is a special file that REAPER automatically runs every time it starts. If you edit this file and remove the stanza, the error will go away.

I submitted a FR to ReaPack that would allow me to remove this bit of code when someone uninstalls Reaticulate via ReaPack, but unfortunately it's not a trivial change so I don't expect to see it any time soon.

In the meantime, I should be able to make this stanza a bit more defensive, so even though there's no mechanism to remove it on uninstall at least it won't cause an error when REAPER starts up. I'll do that for the next release.
tack is offline   Reply With Quote
Old 05-27-2023, 08:12 AM   #2122
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Stroudy View Post
Could I ask for a minor FR? A number column to the articulations list? Simply so I can quickly see what slot number corresponds to which articulation?
Makes sense. I've opened an issue on GitHub to track the request.


Quote:
Originally Posted by Stroudy View Post
Also, is there a way (that you know of) to auto-populate a program list (articulation list) over OSC? Or anything else to enable some kind of remote control that automatically lists the available articulations?
Unfortunately I'm not aware of anything there. All this time I've managed to avoid really understanding OSC well enough to know how to even go about implementing something like that. But I'm open to extending Reaticulate to improve these kinds of integration, if someone is able to propose a protocol or general design.
tack is offline   Reply With Quote
Old 05-28-2023, 09:50 AM   #2123
K8ch
Human being with feelings
 
K8ch's Avatar
 
Join Date: Nov 2010
Location: New England
Posts: 678
Default Any new icons or buttons?

Is it safe to assume that the no new icons or button colors have been added, since this was launched?

I'm occasionally find articulations for which there are no corresponding icons, so I thought I'd ask (I did check the actual website, but the list looked unchanged from well, a year ago)

Just askin'...

Peace,
Keith
__________________
aka K8ch
(www.KeithHaydon.com)
K8ch is offline   Reply With Quote
Old 05-28-2023, 12:26 PM   #2124
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by K8ch View Post
Is it safe to assume that the no new icons or button colors have been added, since this was launched?

I'm occasionally find articulations for which there are no corresponding icons, so I thought I'd ask (I did check the actual website, but the list looked unchanged from well, a year ago)

Just askin'...

Peace,
Keith
They shouldn't have changed... Or at least I hope so. I'm having a programmer friend making me a Bank Creator for Reaticulate and the last thing I'd want right now is for all the attributes to change again 😂
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 05-28-2023, 12:27 PM   #2125
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Dumb jokes aside, they haven't changed. Stupid question: have you checked the bank itself for syntax errors/typos in the code?
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 05-28-2023, 03:45 PM   #2126
K8ch
Human being with feelings
 
K8ch's Avatar
 
Join Date: Nov 2010
Location: New England
Posts: 678
Default

Quote:
Originally Posted by Kitarraman View Post
Dumb jokes aside, they haven't changed. Stupid question: have you checked the bank itself for syntax errors/typos in the code?
Sorry if I wasn't clear. Let me try again:
Some of my libraries have articulations that don't exactly match any of the "icon" names.
When that happens, I simply use the icon that's the closest fit.
It's no big deal.

But, it would be nice to know if there have been any ADDITIONS to the list of articulation icons (found here: https://reaticulate.com/reabank).

Or, has this list has remained completely unchanged?
It seems the list has remained unchanged...and I just wanted to verify that.

So, that's what I was asking about.


Did that help?

Keith
__________________
aka K8ch
(www.KeithHaydon.com)
K8ch is offline   Reply With Quote
Old 05-28-2023, 05:21 PM   #2127
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by K8ch View Post
Is it safe to assume that the no new icons or button colors have been added, since this was launched?
v0.5.0 saw an overhaul of all icons as part of moving from low resolution bitmaps (mostly screen scrapes) to vector-based icons, which was needed to support HiDPI/Retina displays. In the process, in added a few new icons -- not many, maybe a half dozen. I seem to have neglected to mention that in the release notes, and I forget now which ones I added, although I do remember portato being among them.

As for colors, the color names haven't changed, but you don't have to use color names. You can also define articulation colors in #rrggbb form, so colors can be arbitrary.

Quote:
Originally Posted by K8ch View Post
I'm occasionally find articulations for which there are no corresponding icons, so I thought I'd ask (I did check the actual website, but the list looked unchanged from well, a year ago)
Feel free to open an issue on GitHub to request new icons, although I'd appreciate if you could point me at examples I can use as a reference.
tack is offline   Reply With Quote
Old 05-28-2023, 05:44 PM   #2128
K8ch
Human being with feelings
 
K8ch's Avatar
 
Join Date: Nov 2010
Location: New England
Posts: 678
Default

Quote:
Originally Posted by tack View Post
In the process, in added a few new icons -- not many, maybe a half dozen....
Okay...here's a list of articulations that have no icon (as far as I know )
I'm not at all educated in musical notation...so some of these may use other names:

Martele, Mordent (up maj/min; down maj/min), sordino, Grace Notes (up/down; maj/min), Glissando (up slow/fast, down slow/fast), Flutter-tongue, Pickup, Smear, Stem (on, off), Plunger (on/off) and Shakes
__________________
aka K8ch
(www.KeithHaydon.com)
K8ch is offline   Reply With Quote
Old 05-30-2023, 02:06 AM   #2129
Stroudy
Human being with feelings
 
Stroudy's Avatar
 
Join Date: Jul 2014
Location: London
Posts: 733
Default

Quote:
Originally Posted by Kitarraman View Post
They shouldn't have changed... Or at least I hope so. I'm having a programmer friend making me a Bank Creator for Reaticulate and the last thing I'd want right now is for all the attributes to change again 😂
Bank Creator, you say? Sounds good - will it have a broader use or is it very personal workflow specific?
Stroudy is offline   Reply With Quote
Old 05-30-2023, 02:58 AM   #2130
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by Stroudy View Post
Bank Creator, you say? Sounds good - will it have a broader use or is it very personal workflow specific?
I designed it for broader scenarios, but it's still super buggy. Besides, I'm evaluating the pros and cons of making it publicly available: I'm not the one developing it and since I'm paying this friend for his work and time, I don't see a sustainable way of providing tech support over time (other than keep paying him, but that's out of the question)
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 05-31-2023, 04:46 AM   #2131
robynsveil
Human being with feelings
 
robynsveil's Avatar
 
Join Date: Dec 2019
Location: Brisbane, Australia
Posts: 75
Default

Quote:
Originally Posted by Spookye View Post
Hi all..... does anyone have or are able to create an articulation bank for "Virtual Playing Orchestra" to be used with Reaticulate?? It's a good orchestral library, for someone like me who has difficulty using too heavy orchestral banks. I'm not able to create it...... Thanks in advance.
http://virtualplaying.com/virtual-playing-orchestra/
I'm afraid this is a bit of a can of worms. I'm probably one of the least knowledged persons on this board - almost certainly so - so please take what I say with that in mind. When I write reabanks, I more or less assume the use of Kontakt as the player and UACC-locking. I've only really been to any degree successful creating reabanks for Spitfire libraries that DON'T use their proprietary player just because I haven't figured out how to invoke an articulation if NOT tied to UACC. Sorry that I'm not able to help: I have seen VPO used in Musescore but sort-of have stuck to their more mainstream stuff.
robynsveil is offline   Reply With Quote
Old 06-05-2023, 08:52 AM   #2132
Stroudy
Human being with feelings
 
Stroudy's Avatar
 
Join Date: Jul 2014
Location: London
Posts: 733
Default

Quote:
Originally Posted by tack View Post
Makes sense. I've opened an issue on GitHub to track the request.



Unfortunately I'm not aware of anything there. All this time I've managed to avoid really understanding OSC well enough to know how to even go about implementing something like that. But I'm open to extending Reaticulate to improve these kinds of integration, if someone is able to propose a protocol or general design.
Hey, Thanks!

Well, if I could trouble you for a minor feature.... because I'm implementing something in Liine Lemur, that uses MIDI rather than OSC - which it would have to because that's how your wonderful reaticulate sends feedback. MSB and LSB. Bank an Program

https://www.youtube.com/watch?v=R3juwh5E448

The guy in that video has created something pretty cool, but I'm building a system that improves on this. I'm hoping you might be able to help, in fact. I need a simple way to output the Articulation Names and Colours to text. Seeing as you basically already have this for the script, I was wondering if you might be able to add this feature? Something as simple as copy Articulation names to clipboard and copy articulation colours to clipboard.

If you are willing/able to help here, I'll be able to share my Lemur Template, and perhaps others will be able to get a ton of use from it too.

Here's a rough prototype:


Thanks
Stroudy is offline   Reply With Quote
Old 06-08-2023, 08:33 AM   #2133
Stroudy
Human being with feelings
 
Stroudy's Avatar
 
Join Date: Jul 2014
Location: London
Posts: 733
Default

I must have something wrong...

When I use the factory banks Reaticulate sends feedback correctly - my Lemur app receives the Bank number listed in the ReaBank file. But with my user ReaBank file, Reaticulate doesn't seem to send the correct bank number. I get CC0 value 57 regardless.
cc32 is similarly nonsensical with 69

Any thoughts?

Here's my one and only patch so far.

Code:
// Reabank file for Reaticulate - https://reaticulate.com/
//
// This file is a specially formatted Reabank file that is notated for use by Reaticulate.
// Specification can be found here:
//
//      https://reaticulate.com/reabank.html
//
// You can also import user-contributed bank files for additional libraries not included
// in the factory set:
//
//      https://reaticulate.com/banks
//
//----------------------------------------------------------------------------

//! g="Spitfire/Solo Strings" n="Violin, Viola, Cello"
//! m="Set patch to UACC"
//! id=e99788a7-a29d-944b-886a-e55dd3586e3e
Bank 65 7 Spitfire - Solo Strings

//! c=legato i=legato o=@1 note=0 &&Leg,test
20 legato perform
//! c=legato i=legato-bowed2 o=note-hold@1:28
21 legato Accent
//! c=legato i=legato-gliss o=note-hold@1:24
31 legato Gliss
//! c=legato i=legato-bowed2 o=note-hold@1:28/note@2:2
28 legato Accent 2 (custom)
//! c=long i=note-whole o=note@2:0
1 long
//! c=long i=legato-bowed2 o=note@2:0/note@3:1
2 long Accent Staccato
//! c=long i=legato-bowed2 o=note@2:0/note@3:2
3 long Accent Spiccato
//! c=short i=staccato o=note@2:1
40 staccato
//! c=short-light i=spiccato o=note@2:2
42 Spiccato
//! c=pizz i=pizz o=note@2:3
56 pizz
//! c=short i=harmonics-natural-eighth o=note@2:4
61 harmonic staccato
//! c=long i=harmonics o=note@2:5
62 harmonic long
Stroudy is offline   Reply With Quote
Old 06-10-2023, 09:26 AM   #2134
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Stroudy View Post
Something as simple as copy Articulation names to clipboard and copy articulation colours to clipboard.
Do you propose the clipboard because we need the ability for something outside REAPER to read the data?

In other contexts, I was thinking about adding the current articulations using SetExtState (non-persisted). This would allow other ReaScripts to use this information, but not things external to REAPER.

Clipboard would theoretically work, but the user experience wouldn't be good because, because as a user having my clipboard get regularly clobbered would be pretty frustrating. If some kind of inter-process communication is needed, then perhaps a file could be updated every time the banks changes. It's a bit clunky, but it certainly wouldn't be the first time the filesystem has been used for IPC.

Problem is I don't know what the constraints/requirements are, so I'm not sure what to propose.

Quote:
Originally Posted by Stroudy View Post
When I use the factory banks Reaticulate sends feedback correctly - my Lemur app receives the Bank number listed in the ReaBank file. But with my user ReaBank file, Reaticulate doesn't seem to send the correct bank number. I get CC0 value 57 regardless.
cc32 is similarly nonsensical with 69
This is my failure: I neglected to update Reaticulate's documentation on changes that were introduced in 0.5 (and specifically 0.5.7).

In Reaticulate 0.5, bank MSB/LSB started to be dynamically generated. Read more from the release notes, which explains the motivation and implementation. If your bank defines an explicit MSB/LSB, Reaticulate it prefers those values if possible, but there's no guarantee: if some other bank in the project got dynamically assigned that MSB/LSB, Reaticulate will generate another one for the latter bank, because it would not be able to satisfy the requested MSB/LSB.

Because of this change, the previous behavior where Bank Selects were fed to the control surface stopped making sense. But I failed to notice this, and Reaticulate 0.5.0 went out the door with the MSB/LSB overhaul, but had the same logic to send Bank Select on track select. A user reported this brokenness last year.

So in Reaticulate 0.5.7 (released last September) I added the feature where users can define their own custom event(s) when a track is selected. This means the event your control surface receives to define the selected track can now be customized, but it also means it's no longer part of the bank definition, rather it's part of the track. (Maybe not all that inconvenient if you use project or track templates.)

But I also forgot to update the docs to reflect this change. I've updated them now -- better late than never.

The CC0 and CC32 events you're seeing being sent to the control surface are actually just part of Reaticulate's standard "blast all CCs on track select" logic to cause faders on the control surface to sync to current levels on that track. Whatever Reaticulate happened to observe coming from REAPER on CC0 and CC32 just get replayed. These could be nonsense.

Now, in principle you could just set your custom message on track select to Bank Select and choose the MSB/LSB you want. Reaticulate will send this first thing when the track is selected. The problem which suddenly occurs to me is that when Reaticulate chases CCs afterward, it could end up confusing the control surface when it gets a different CC0/CC32 immediately after.

Same thing could happen with a CC as the custom message. Note-based events would be pretty safe, except for note-offs for notes 0 and 1 which Reaticulate uses for the articulation group and the current default channel. And of course you can use a custom event such as a SysEx which would be the safest route to avoid potential collisions.

I'll work on a fix to the problem in the next week or so. (The fix being Reaticulate will filter out the necessary CCs when it resyncs current CC values to the control surface, in order to avoid clobbering a user-defined track select message.)


P.S. Maybe you could just link to the image in your previous post rather than embedding it inline? It's gigantic, and because REAPER's forum styling is from circa 1996 it makes posts on the same page very difficult to read due to all the horizontal scrolling. (Edit: I just discovered the REAPER 5 style on the forum which brings the forum's appearance into the 2000s! Woot!)

Last edited by tack; 06-10-2023 at 09:37 AM.
tack is offline   Reply With Quote
Old 06-11-2023, 06:23 AM   #2135
sekim
Human being with feelings
 
Join Date: May 2006
Posts: 472
Default

For those interested, attached is my track template for BBCSO Discover using Reaticulate. It needs the BBCSO Discover .reabank file posted on the Reaticulate GitHub at https://github.com/jtackaberry/reati...scover.reabank

I'm using BBCSO Pro but my 13yo son wanted to do some stuff in BBCSO so I set him up a nice track template for Discover to use with Reaticulate so things go super fast for him. And posted here for anyone else who may want it. Note that it uses Reaticulate only for Strings, Brass, Winds. The rest are "normal" tracks, since this is how the .reabank file works. Also note that I created the template with all FX offline so that it will load immediately and also not take an old laptop to its knees when it loads. So you'll need to bring the FX for the track(s) you're interested in online.

Last edited by sekim; 09-20-2023 at 09:10 AM.
sekim is offline   Reply With Quote
Old 06-13-2023, 04:18 AM   #2136
Stroudy
Human being with feelings
 
Stroudy's Avatar
 
Join Date: Jul 2014
Location: London
Posts: 733
Default

Quote:
Originally Posted by tack View Post
Do you propose the clipboard because we need the ability for something outside REAPER to read the data?
Tack, thank you for the detailed response. I see why you would do it that way, and it is an improvement. The Bank MSB/LSB messages on Track Select do seem to work. I'm not sure what is being sent on the other channels, but ch1 seems to work ok. That said I don't understand the channel settings on the top row in your lua Script - I' don’t know how or why I would implement this in my workflow, but perhaps this could be a stumbling block for others.

The idea I had about the clipboard would be a simple way to copy/paste the Articulation names into a script that would mirror what reaticulate was doing on my iPad control surface. I propose this as a menu function (next to edit ReaBank in "TextEdit"), not something that happens on track or bank changes. It just provides a convenient way to incorporate things on my Lemur OSC setup, rather than type all the articulation names into Lemur or TouchOSC.

The ideal workflow would be for Reaticulate to dynamically update a control surface with the current track's articulation names. How this happens is the question.

One thought, is if your Reaticulate plugin could list and name parameters (sliders?) with the articulation names? I don't know enough of OSC to implement this at the moment, but I've seen other OSC control surfaces for both TouchOSC and Lemur that dynamically list a plugin's parameters. I guess it depends on whether your script can communicate that information to your plugin. Is that right?

Thanks
Stroudy is offline   Reply With Quote
Old 06-13-2023, 11:18 AM   #2137
CPacaud
Human being with feelings
 
Join Date: Nov 2022
Location: Québec, QC, Canada
Posts: 26
Default

Hey Tack! Thanks for the wonderful tool. It completely changed my workflow and made working with different sample libraries much more fluid and clean.

Question : I'm wondering if there's a way I could make an action to toggle "Insert articulations based on selected notes when MIDI editor is open" and assign it to a toolbar button and/or kb shortcut. I'm finding I'd like to toggle it on and off depending on the context. It seems to be missing from the Reaticulate actions, and looking at those scripts, I can't quite figure how I could make this work - though I'm no scripter so I might be missing something obvious.
CPacaud is offline   Reply With Quote
Old 06-27-2023, 04:59 PM   #2138
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by CPacaud View Post
Question : I'm wondering if there's a way I could make an action to toggle "Insert articulations based on selected notes when MIDI editor is open" and assign it to a toolbar button and/or kb shortcut. I'm finding I'd like to toggle it on and off depending on the context. It seems to be missing from the Reaticulate actions, and looking at those scripts, I can't quite figure how I could make this work - though I'm no scripter so I might be missing something obvious.
Sorry for the late reply on this one, CPacaud.

You're not missing anything obvious, I just plumb forgot to include this action. And Reaticulate didn't expose the appropriate hooks for you to be able to add that yourself as a custom action.

I've committed a fix for both: I added the action to toggle this option, and I added the capability for actions to set/toggle arbitrary Reaticulate settings, so in case this comes up again in the future at least I'll have something useful to tell folks in the moment.

This doesn't help you right now until I cut a new release with this changes. I'll throw that on my to-do list for this weekend or next.

I did also commit a fix to a problem reported here by "nso" yesterday, which they've since deleted because I suspect they found the root cause, which was a malformed bank. But I consider any crashes to be bugs -- even if you pass Reaticulate a bank full of gibberish, it should have the good graces to either ignore it or provide a useful error, not crash and burn.
tack is offline   Reply With Quote
Old 07-01-2023, 01:09 AM   #2139
Bruceqld
Human being with feelings
 
Join Date: Nov 2021
Location: Queensland, Australia.
Posts: 507
Default

A quick question. I have not yet tried Reaticulate but it looks great. If I use it to add articulations, does it do so using the original data type, or does it change it to something else? In other words, if I was to program articulations in Reaticulate then try to play back the project in a version of Reaper that did not have it installed, would the midi data still be there to trigger the articulations, or would there be an error.

Thanks
Bruceqld is offline   Reply With Quote
Old 07-01-2023, 08:20 AM   #2140
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Bruceqld View Post
In other words, if I was to program articulations in Reaticulate then try to play back the project in a version of Reaper that did not have it installed, would the midi data still be there to trigger the articulations, or would there be an error.
Articulations are stored in MIDI items as Program Change messages, and Reaticulate (as a JSFX insert on each track) translates them to whatever the underlying instrument needs in realtime.

If the Reaticulate JSFX insert is disabled (because, for example, it's not present on the system) then articulations won't change and playback won't work correctly.
tack is offline   Reply With Quote
Old 07-16-2023, 02:43 AM   #2141
Jerok
Human being with feelings
 
Join Date: Jul 2014
Location: Sweden
Posts: 150
Default

I have been using a user bank for Audio Empire Nucleus Core that i grabbed from user banks Github and i found some of it not as it should.

this is my findings and i hope someone who understands this better then me could help.

these are missing in Soloist section
04 Solo clarinet is missing, has a Legato and Sustained Patch with mapping to c-1 in kontakt
06 Solo Bassoon is missing , has a Legato and Sustained Patch with mapping to c-1 in kontakt




Banks i have noticed not working

Strings
02 10 Violas, is mapped to start posision c-2 in kontkt and c-1 in the Bank file
03 6 Celli, is mapped to start posision c-2 in kontkt and c-1 in the Bank file
04 4 Basses, is mapped to start posision c-2 in kontkt and c-1 in the Bank file
05 16WIns + 10Vlas 8va; is mapped to start posision c-2 in kontkt and c-1 in the Bank file
06 6CII + 4DblBass 8va: is mapped to start posision c-2 in kontkt and c-1 in the Bank file
07 Strings - Full Ens is mapped to start posision c-2 in kontkt and c-1 in the Bank file

I dont understand why this is happaning but
The workaround for this is to adjust kontakt key posission to match the bank,
would love to have a working complete bank =)

here is the userbank that i am using.

https://github.com/jtackaberry/reati...ucleus.reabank


Thanks for all the good work
/J
Jerok is offline   Reply With Quote
Old 08-08-2023, 08:10 PM   #2142
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

hey tak how are you?

I am testing reaper v7 with lua 5.4
Just a heads up that it might need some changes as I got this bug :

Code:
 
...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:206: 

...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:7756: attempt to perform bitwise operation on a string value (field 'v')
Maybe you are already up to that but just reporting hehe, we are discussing it here:
https://forums.cockos.com/showthread.php?t=281435

I didnt look at your code, but i was assuming it is from this incompatibility in lua 5.4 :
http://www.lua.org/manual/5.4/manual.html#8
daniellumertz is offline   Reply With Quote
Old 08-09-2023, 08:16 AM   #2143
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by daniellumertz View Post
hey tak how are you?

I am testing reaper v7 with lua 5.4
Just a heads up that it might need some changes as I got this bug :

Code:
 
...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:206: 

...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:7756: attempt to perform bitwise operation on a string value (field 'v')
Maybe you are already up to that but just reporting hehe, we are discussing it here:
https://forums.cockos.com/showthread.php?t=281435

I didnt look at your code, but i was assuming it is from this incompatibility in lua 5.4 :
http://www.lua.org/manual/5.4/manual.html#8
... REAPER... 7? Is THAT time already? 🤩
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 08-09-2023, 04:01 PM   #2144
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by daniellumertz View Post
I am testing reaper v7 with lua 5.4
Just a heads up that it might need some changes as I got this bug
Thanks for testing! I've been lurking on that thread you referenced the past few days. I did try out Reaticulate (and its cousin project, rtk) very (very!) briefly on 7.0pre4 and saw it started up ok, but didn't really put it through its paces. So I appreciate your feedback here.

The fix for this issue is certainly easy -- likely true with all such issues -- but I need to shake the tree to see what falls out. I plan to work on that this weekend and I'll push out Reaticulate 0.5.11-pre1 for wider testing after I fix what I find.

Thanks again!
tack is offline   Reply With Quote
Old 08-10-2023, 04:19 AM   #2145
mucknog
Human being with feelings
 
mucknog's Avatar
 
Join Date: Jun 2011
Posts: 195
Default

I was overwhelmed by the track count of my old template, so I switched from one track per articulation to multis using Reaticulate.

@tack You did a incredible job, Reatiuculate works like a charm.

The only thing missing, is some kind of dynamic delay compensation (negative delay) because nuging those notes around is not a lot of fun.
I am aware of Foresight & the Kontakt script, but having an all-in one solution in Reaticulate would be awesome.
You have stated earlier that you consider implementing such a method. Did you already do this, or do you have plans to do this in the future?

Cheers & thanks again.

(I already posted this on the vi-control forum but it seems you are more active here)
__________________
www.recordmixplay.de
mucknog is offline   Reply With Quote
Old 08-10-2023, 05:06 PM   #2146
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

Quote:
Originally Posted by tack View Post
Thanks for testing! I've been lurking on that thread you referenced the past few days. I did try out Reaticulate (and its cousin project, rtk) very (very!) briefly on 7.0pre4 and saw it started up ok, but didn't really put it through its paces. So I appreciate your feedback here.

The fix for this issue is certainly easy -- likely true with all such issues -- but I need to shake the tree to see what falls out. I plan to work on that this weekend and I'll push out Reaticulate 0.5.11-pre1 for wider testing after I fix what I find.

Thanks again!
No problems tak, its such an amazing script that i rely on very foundly, if you need i can try to recreate and send you the project
daniellumertz is offline   Reply With Quote
Old 08-10-2023, 05:21 PM   #2147
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by mucknog View Post
(I already posted this on the vi-control forum but it seems you are more active here)
I wouldn't say more active, more just luck of a draw, or perhaps something like a stopped clock being inadvertently correct twice a day.

Since you hit me up on VI-C first, I replied over there.
tack is offline   Reply With Quote
Old 08-12-2023, 07:08 PM   #2148
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

Seems that bug or something like this

If make two channels in Track Articulations (even with same bank), then only one of them works.

I also tried to specify something like

//! c=default i=staccato o=@1/note:16
16 Staccato
//! c=default i=spiccato o=@1/note:15
15 Spiccato Slow

//! c=default i=staccato o=@2/note:16
16 Sul Tasto
//! c=default i=spiccato o=@2/note:15
15 Con Sordino


-- but still only one Kontakt Instrument with specified MIDI channel does key-switch.
Attached Images
File Type: png вцффцвфцв.png (14.1 KB, 41 views)
ARkaine2 is offline   Reply With Quote
Old 08-12-2023, 07:37 PM   #2149
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by ARkaine2 View Post
Seems that bug or something like this

If make two channels in Track Articulations (even with same bank), then only one of them works.

I also tried to specify something like

//! c=default i=staccato o=@1/note:16
16 Staccato
//! c=default i=spiccato o=@1/note:15
15 Spiccato Slow

//! c=default i=staccato o=@2/note:16
16 Sul Tasto
//! c=default i=spiccato o=@2/note:15
15 Con Sordino


-- but still only one Kontakt Instrument with specified MIDI channel does key-switch.
You can't reuse the same program number between different articulations in the same bank. You'll need to pick different (unused) ones for sul tasto and con sordino.

Also be sure the output events actually do what you think they do: o=@2/note:16 says "route future incoming MIDI to channel 2, AND send note 16 to the destination channel assigned to the bank in the track configuration screen." If you want to send note 16 to channel 2 and setup routing for future incoming MIDI to channel 2, you want o=note@2:16.

HTH.
tack is offline   Reply With Quote
Old 08-13-2023, 08:46 AM   #2150
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

Quote:
Originally Posted by tack View Post
You can't reuse the same program number between different articulations in the same bank. You'll need to pick different (unused) ones for sul tasto and con sordino.

Also be sure the output events actually do what you think they do: o=@2/note:16 says "route future incoming MIDI to channel 2, AND send note 16 to the destination channel assigned to the bank in the track configuration screen." If you want to send note 16 to channel 2 and setup routing for future incoming MIDI to channel 2, you want o=note@2:16.

HTH.
Thanks for answer, I little clarifying.
But problem still exists:

When I place articulations in order (and they are in one bank),
then when I select (for example) o=note@1:12 IT (Reaticulate) SELECTS o=note@2:12
(in screenshot: I selected Sustain (which is note C at Channel 1), but it changed to Tremolo (which is note C at Channel 2))
so, MIDI messages that pass thru Reaticulate make playable only one instrument.
https://freeimage.host/i/HDGf41e

Bank * * AI Areia (Ens)
//! c=default i=sustain o=note@1:12
12 Sustain
//! c=default i=marcato-half o=note@1:18
18 Marcato Long
//! c=default i=marcato-quarter o=note@1:17
17 Marcato Short
//! c=default i=staccato o=note@1:16
16 Staccato
//! c=default i=spiccato o=note@1:15
15 Spiccato Slow
//!c=default i=spiccato o=note@1:14
14 Spiccato Fast
//! c=default i=pizz o=note@1:13
13 Pizzicato
//!c=default-light i=portato-half o=note@2:18
18 Portato
//!c=default i=con-sord o=note@2:15
15 Con Sordino
//!c=default i=sul-tasto o=note@2:16
16 Sul Tasto
//!c=default i=harmonics o=note@2:17
17 Harmonics
//!c=default-light i=pizz-half o=note@2:20
20 Bartoc Pizzicato
//!c=default-light i=col-legno-half o=note@2:19
19 Col Legno
//!c=default i=tremolo o=note@2:12
12 Tremolo
//! c=default i=trill o=note@2:13
13 Trill m2
//!c=default i=trill-maj2 o=note@2:14
14 Trill M2
Attached Images
File Type: png 1.png (11.6 KB, 36 views)

Last edited by ARkaine2; 08-13-2023 at 09:03 AM.
ARkaine2 is offline   Reply With Quote
Old 08-13-2023, 09:10 AM   #2151
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by ARkaine2 View Post
But problem still exists:
Because you didn't fix the program number conflicts.

Quote:
Originally Posted by ARkaine2 View Post
When I place articulations in order (and they are in one bank),
then when I select (for example) o=note@1:12 IT (Reaticulate) SELECTS o=note@2:12
This is because tremolo is using program 12, which conflicts with (and overrides) Sustain which is also using program 12.

Quote:
Originally Posted by ARkaine2 View Post
//!c=default-light i=portato-half o=note@2:18
18 Portato
^^
Program 18 conflicts with (and overrides) Marcato Long. You'll need to pick a different program for portato.

Quote:
Originally Posted by ARkaine2 View Post
//!c=default i=con-sord o=note@2:15
15 Con Sordino
^^
Program 15 conflicts with (and overrides) Spiccato Slow. You'll need to pick a different program for Con Sordino.

Quote:
Originally Posted by ARkaine2 View Post
//!c=default i=sul-tasto o=note@2:16
16 Sul Tasto
^^
Conflicts with Staccato.

Quote:
Originally Posted by ARkaine2 View Post
//!c=default i=harmonics o=note@2:17
17 Harmonics
^^
Conflicts with Marcato Short.

Quote:
Originally Posted by ARkaine2 View Post
//!c=default i=tremolo o=note@2:12
12 Tremolo
^^
Conflicts with Sustain.

Quote:
Originally Posted by ARkaine2 View Post
//! c=default i=trill o=note@2:13
13 Trill m2
^^
Conflicts with Pizzacato.

Quote:
Originally Posted by ARkaine2 View Post
//!c=default i=trill-maj2 o=note@2:14
14 Trill M2
^^
Conflicts with Portato Fast.

Once you ensure all articulations in the same bank use unique program numbers that'll get you past this particular hurdle. It doesn't matter what the program numbers are -- they aren't in any way related to the output events that control the virtual instrument -- only that each articulation has a unique one within the bank.
tack is offline   Reply With Quote
Old 08-13-2023, 10:19 AM   #2152
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

Quote:
Originally Posted by tack View Post
Because you didn't fix the program number conflicts.


This is because tremolo is using program 12, which conflicts with (and overrides) Sustain which is also using program 12.


Program 18 conflicts with (and overrides) Marcato Long. You'll need to pick a different program for portato.


Program 15 conflicts with (and overrides) Spiccato Slow. You'll need to pick a different program for Con Sordino.


Conflicts with Staccato.


Conflicts with Marcato Short.


Conflicts with Sustain.


Conflicts with Pizzacato.


Conflicts with Portato Fast.

Once you ensure all articulations in the same bank use unique program numbers that'll get you past this particular hurdle. It doesn't matter what the program numbers are -- they aren't in any way related to the output events that control the virtual instrument -- only that each articulation has a unique one within the bank.

I tried to make articulations as placed in separate banks (in .reabank file) and load them into Reaticulate (as different banks), but there's still a limitation (I see "error" message).

Bank * * AI Areia (Ens 1)
//! c=default i=sustain o=note@1:12
12 Sustain
//! c=default i=marcato-half o=note@1:18
18 Marcato Long
//! c=default i=marcato-quarter o=note@1:17
17 Marcato Short
//! c=default i=staccato o=note@1:16
16 Staccato
//! c=default i=spiccato o=note@1:15
15 Spiccato Slow
//!c=default i=spiccato o=note@1:14
14 Spiccato Fast
//! c=default i=pizz o=note@1:13
13 Pizzicato

Bank * * AI Areia (Ens 2)
//!c=default-light i=portato-half o=note@2:18
18 Portato
//!c=default i=con-sord o=note@2:15
15 Con Sordino
//!c=default i=sul-tasto o=note@2:16
16 Sul Tasto
//!c=default i=harmonics o=note@2:17
17 Harmonics
//!c=default-light i=pizz-half o=note@2:20
20 Bartoc Pizzicato
//!c=default-light i=col-legno-half o=note@2:19
19 Col Legno
//!c=default i=tremolo o=note@2:12
12 Tremolo
//! c=default i=trill o=note@2:13
13 Trill m2
//!c=default i=trill-maj2 o=note@2:14
14 Trill M2


Sad, that it's not possible to switch between articulations of two (Kontakt) instruments with two MIDI-channels.
Still thanks for support/feedback.
Maybe sometime it will become possible.
Attached Images
File Type: png 2.png (16.1 KB, 45 views)
File Type: png 3.png (12.9 KB, 36 views)

Last edited by ARkaine2; 08-13-2023 at 10:25 AM.
ARkaine2 is offline   Reply With Quote
Old 08-13-2023, 10:35 AM   #2153
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by ARkaine2 View Post
Sad, that it's not possible to switch between articulations of two (Kontakt) instruments with two MIDI-channels. Still thanks for support/feedback. Maybe sometime it will become possible.
It's possible today, you just need to pick program numbers that don't conflict. Choose different program numbers for the second set and it will work. Maybe just start at 1, and increment by one for each new articulation: 1, 2, 3, 4, 5, etc.
tack is offline   Reply With Quote
Old 08-13-2023, 11:32 AM   #2154
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by ARkaine2 View Post
but there's still a limitation (I see "error" message).
I detect there might be a language barrier, so I don't want to get too nuanced about why that error message exists.

I'll just jump into fixes with your existing banks. You've already discovered the two approaches you can take to this:
  1. A single bank with explicit channel assignments for each articulation. This is like a multi-timbral (aka "multi") VI setup, except in your case you have multiple articulations per channel rather than one. Same idea in practice.
  2. Split your articulations into separate group and, rather than banking the channel assignments directly into the bank, leave that choice up to when you add the bank to a given track.

Regardless of which option you use, within a given bank all articulations must have unique program numbers. This is a fundamental requirement of MIDI.

For option #2, in practice it also requires program number uniqueness across all banks on the same track that use the same source MIDI channel (in your case it's "Omni"). That's what the warning means in the screenshots you attached. Unlike the paragraph above, this isn't a fundamental MIDI thing, it's a limitation of Reaticulate right now.

The solution is to use unique program numbers between the two banks.

Option 1 - Single bank with explicit channel assignments

This bank requires the VI(s) to be assigned channels 1 and 2. Each articulation is explicitly assigned to either channels 1 or 2.

If this is the way you will set up this instrument all the time, then the single bank option is perfectly fine.

Code:
//! g="Audio Imperia" n="Areia"
//! m="Assign Sustain through Pizzicato to channel 1, Con Sordino and later to channel 2"
Bank * * AI Areia
//! c=default i=sustain o=note@1:12
1 Sustain
//! c=default i=marcato-half o=note@1:18
2 Marcato Long
//! c=default i=marcato-quarter o=note@1:17
3 Marcato Short
//! c=default i=staccato o=note@1:16
4 Staccato
//! c=default i=spiccato o=note@1:15
5 Spiccato Slow
//!c=default i=spiccato o=note@1:14
6 Spiccato Fast
//! c=default i=pizz o=note@1:13
7 Pizzicato
//!c=short-light i=portato-half o=note@2:18
8 Portato
//!c=default i=con-sord o=note@2:15
9 Con Sordino
//!c=default i=sul-tasto o=note@2:16
10 Sul Tasto
//!c=default i=harmonics o=note@2:17
11 Harmonics
//!c=short-light i=pizz-half o=note@2:20
12 Bartoc Pizzicato
//!c=short-light i=col-legno-half o=note@2:19
13 Col Legno
//!c=default i=tremolo o=note@2:12
14 Tremolo
//! c=default i=trill o=note@2:13
15 Trill m2
//!c=default i=trill-maj2 o=note@2:14
16 Trill M2

Option 2 - Separate banks with no explicit channel assignments

This option doesn't bake explicit MIDI channels into the bank definition. It leaves it entirely up to the user at track setup time to decide which group of articulations go on which MIDI channel. It could be channels 9 and 10 for all it cares.

If you often only ever use one or the other group of articulations on a given track, this would be a better approach than option 1.

Code:
//! g="Audio Imperia" n="Areia (Ens1)"
Bank * * AI Areia (Ens 1)
//! c=default i=sustain o=note:12
1 Sustain
//! c=default i=marcato-half o=note:18
2 Marcato Long
//! c=default i=marcato-quarter o=note:17
3 Marcato Short
//! c=default i=staccato o=note:16
4 Staccato
//! c=default i=spiccato o=note:15
5 Spiccato Slow
//!c=default i=spiccato o=note:14
6 Spiccato Fast
//! c=default i=pizz o=note:13
7 Pizzicato

//! g="Audio Imperia" n="Areia (Ens2)"
Bank * * AI Areia (Ens 2)
//!c=short-light i=portato-half o=note:18
8 Portato
//!c=default i=con-sord o=note:15
9 Con Sordino
//!c=default i=sul-tasto o=note:16
10 Sul Tasto
//!c=default i=harmonics o=note:17
11 Harmonics
//!c=short-light i=pizz-half o=note:20
12 Bartoc Pizzicato
//!c=short-light i=col-legno-half o=note:19
13 Col Legno
//!c=default i=tremolo o=note:12
14 Tremolo
//! c=default i=trill o=note:13
15 Trill m2
//!c=default i=trill-maj2 o=note:14
16 Trill M2

Last edited by tack; 08-13-2023 at 11:42 AM.
tack is offline   Reply With Quote
Old 08-13-2023, 12:24 PM   #2155
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

tack, thanks, it works.
ARkaine2 is offline   Reply With Quote
Old 08-14-2023, 06:22 PM   #2156
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

And one more ask/question:

Is it possible (and if yes, how) to remove "error" message

The selected track is different than the active take in the MIDI Editor. The articulations below may not apply to the active take.

?


I tried to change settings ("cleared" all checkboxes), but no result.
ARkaine2 is offline   Reply With Quote
Old 08-14-2023, 06:49 PM   #2157
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by ARkaine2 View Post
The selected track is different than the active take in the MIDI Editor. The articulations below may not apply to the active take.
Reaticulate shows the articulations for the selected track. If you open an item in the MIDI editor but select a different track, Reaticulate is showing you articulations that may not apply to the item in the MIDI editor. So if you insert an articulation into the current item, it's actually referring to a different track. That's why the warning is there.

If you click on MIDI items in another track instead of clicking on the track, then assuming "MIDI Options: Track list/media item lane follows selection changes in arrange view" is enabled (which I believe is default), then this should keep the selected track and the MIDI editor item in sync.

At least, that's assuming you use one MIDI editor per project. If you're using one MIDI editor per track, or one MIDI Editor per item, I see now it doesn't quite work right. (I'll take a look at that.)
tack is offline   Reply With Quote
Old 08-17-2023, 04:30 AM   #2158
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 3,378
Default

EDIT: I've sorted it i didn't hit the refresh button afterwards. I'll leave this up in case anyone else has the same issue


Can Anyone tell me what I need to do with this to get it to work?

I pasted it into the reabank text editor but it doesn't appear anywhere afterwards.

//! g="Spitfire/Appassionata Strings" n="Techniques"
Bank 10 1 Spitfire Appassionata Strings Techniques
//! c=legato i=legato o=note:0
20 legato
//! c=legato i=legato o=note:1
21 legato (slurred)
//! c=long i=note-whole o=note:2
1 sustain
//! c=fx i=note-whole o=note:3
90 hairpin short
//! c=fx i=note-whole o=note:4
91 hairpin medium
//! c=fx i=bow-down o=note:5
92 hairpin bow change
//! c=short i=staccato o=note:6
48 glancing attack


cheers

M

p.s. it's for the Appassionata spitfire strings
__________________
https://www.marcuscliffe.com/

Last edited by norbury brook; 08-17-2023 at 06:25 AM.
norbury brook is offline   Reply With Quote
Old 08-17-2023, 07:07 AM   #2159
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by norbury brook View Post
EDIT: I've sorted it i didn't hit the refresh button afterwards. I'll leave this up in case anyone else has the same issue
Great, glad you sorted it out.

FWIW, that is documented:



But sometimes these things are easy to miss.

Quote:
Originally Posted by norbury brook View Post
//! g="Spitfire/Appassionata Strings" n="Techniques"
Bank 10 1 Spitfire Appassionata Strings Techniques
When I first read your post, my initial thought was you were reusing Bank 10 1 somewhere else and there was a conflict.

I still recommend you do this instead:

Code:
//! g="Spitfire/Appassionata Strings" n="Techniques"
Bank * * Spitfire Appassionata Strings Techniques
Let Reaticulate manage the MSB/LSB for you, it will ensure you can't have conflicts.
tack is offline   Reply With Quote
Old 08-17-2023, 12:17 PM   #2160
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 3,378
Default

Quote:
Originally Posted by tack View Post
Great, glad you sorted it out.

FWIW, that is documented:



But sometimes these things are easy to miss.



When I first read your post, my initial thought was you were reusing Bank 10 1 somewhere else and there was a conflict.

I still recommend you do this instead:

Code:
//! g="Spitfire/Appassionata Strings" n="Techniques"
Bank * * Spitfire Appassionata Strings Techniques
Let Reaticulate manage the MSB/LSB for you, it will ensure you can't have conflicts.


Thanks so having the 2x asterix means there'll never be any conflict as it will choose an unused number?


M
__________________
https://www.marcuscliffe.com/
norbury brook is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 11:01 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.