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

Reply
 
Thread Tools Display Modes
Old 04-11-2024, 02:38 PM   #2361
K8ch
Human being with feelings
 
K8ch's Avatar
 
Join Date: Nov 2010
Location: New England
Posts: 709
Default

Quote:
Originally Posted by mozart999uk View Post
Is it that you want to hide those additional lanes from view?
Hmm That's a really good question as I hadn't thought about it.
I'd more or less assumed it was writing to those CC lanes, in error.
Oops.

If Reaticulate requires usage of several CC lanes, that's fine.
I just wanted to make sure they were all necessary.

So, then, I suppose it -would- be helpful to hide those particular CC lanes since I 1)don't need them for anything else 2) don't need to see them 3) don't want to accidentally delete one

Any ideas about the best way to hide those CC lanes?
__________________
aka K8ch
(www.KeithHaydon.com)
K8ch is online now   Reply With Quote
Old 04-12-2024, 12:43 AM   #2362
mozart999uk
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,853
Default

Quote:
Originally Posted by K8ch View Post
Hmm That's a really good question as I hadn't thought about it.
I'd more or less assumed it was writing to those CC lanes, in error.
Oops.

If Reaticulate requires usage of several CC lanes, that's fine.
I just wanted to make sure they were all necessary.

So, then, I suppose it -would- be helpful to hide those particular CC lanes since I 1)don't need them for anything else 2) don't need to see them 3) don't want to accidentally delete one

Any ideas about the best way to hide those CC lanes?
I found this script in the forums here somewhere.

https://stash.reaper.fm/48475/EDU_MI...iculations.lua

I've incorporated it into various other scripts of mine, for example, to show all used CC lanes but hide 0 and 32....very useful indeed.

I've searched but I can't find the original and can't remember who created it. Someone in the reaticulate community perhaps? Would like to thank them..
mozart999uk is offline   Reply With Quote
Old 04-12-2024, 11:39 AM   #2363
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Tack, I'm modifying your bank for Cinematic Studio Strings to control the different types of staccato and pizzicato with another MIDI CC (the fact that it's handled via MIDI CC01 is bugging me).
Looking at your code, there's one thing I can't understand (the manual doesn't explain what I'm looking for).
For the legato keyswitch, you have the following command:
Code:
//! c=legato i=legato o=note:24,1/note:34,65/note:32,65
20 legato std
With
Code:
note:24,1
you set the legato mode on low latency and with
Code:
note:32,65
you tell the library to turn on the legato. Ok, it checks out.
I can't fathom what note 34 has control over.
On the legato keyswitches, you have it set at velocity 65, and on sustain, trills, tremolo, harmonics, marcatos and spiccatos it's set at 1, but nothing's happening when I click on that note (Bb0), the manual doesn't mention if it controls something and, from the looks of it, it the key doesn't look active in the Kontakt's GUI.
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 04-13-2024, 05:58 AM   #2364
K8ch
Human being with feelings
 
K8ch's Avatar
 
Join Date: Nov 2010
Location: New England
Posts: 709
Default

Quote:
Originally Posted by mozart999uk View Post
I found this script in the forums here somewhere.

https://stash.reaper.fm/48475/EDU_MI...iculations.lua

I've incorporated it into various other scripts of mine, for example, to show all used CC lanes but hide 0 and 32....very useful indeed.

I've searched but I can't find the original and can't remember who created it. Someone in the reaticulate community perhaps? Would like to thank them..
Thank you.
I put the file in the "Effects" folder, but I don't see it in the MIDI piano roll actions.
What did I do wrong?

Update: the "Select CC lanes to show" action seems to automatically hide the non-essential lanes, so this is some help.


Peace,
Keith
__________________
aka K8ch
(www.KeithHaydon.com)

Last edited by K8ch; 04-14-2024 at 09:44 AM.
K8ch is online now   Reply With Quote
Old 05-02-2024, 02:40 PM   #2365
Jerok
Human being with feelings
 
Join Date: Jul 2014
Location: Sweden
Posts: 181
Default

Hey all,
I am working on a reaticulate setup for Mit guitar.

but i want this to work so that if i select more then one note all will get the
trigger, is that possivble

//----------------------------------------------------------------------------
// Guitar Articulation for Mint Guitar and Axe Machina
//

//! g="Guitar" n="Mint"

Bank * * Guitar Mint
//! c=Open i=note-whole o=note:24
24 Open
//! c=Muted i=note-eighth o=note:25
25 Muted
//! c=Flageolet i=fx o=note:26
26 Flageolet
//! c=Tremolo i=tremolo o=note:27
27 Tremolo
Jerok is offline   Reply With Quote
Old 05-05-2024, 10:59 AM   #2366
maxcomposer
Human being with feelings
 
Join Date: Jan 2020
Location: Québec, Canada
Posts: 125
Default

To the OP : is there a timeline of roadmap for a GUI for creating custom Banks?

Last edited by maxcomposer; 05-05-2024 at 11:00 AM. Reason: missing last part
maxcomposer is offline   Reply With Quote
Old 05-07-2024, 01:38 AM   #2367
mozart999uk
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,853
Default

Quote:
Originally Posted by K8ch View Post
Thank you.
I put the file in the "Effects" folder, but I don't see it in the MIDI piano roll actions.
What did I do wrong?

Update: the "Select CC lanes to show" action seems to automatically hide the non-essential lanes, so this is some help.


Peace,
Keith
Apologies Keith. Didn't see your reply.

You need to put the file in the scripts folder, open reaper, open the actions window, click "new action" and in the drop down select "load reascript".

Looking around a bit more it seems the script came from "reapero"....
mozart999uk is offline   Reply With Quote
Old 05-10-2024, 02:09 PM   #2368
rocketman3746
Human being with feelings
 
Join Date: Apr 2014
Posts: 9
Default Updated BBCSO banks

Hello, I've visited the github page with all of the banks, but the bank for Spitfire BBCSO Pro doesn't have all of the instruments. I don't know if they added instruments in a later update maybe? But I'm having a hard time wrapping my head around the code in order to just fix the bank myself. Has anyone updated this by any chance?

Specifically, these instruments are missing (they both lack the standard layout that I could have cloned):

-Cimbasso
-Bass Flute
rocketman3746 is offline   Reply With Quote
Old 05-11-2024, 03:02 AM   #2369
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Tack, on the topic of uploading/updating banks on GitHub, can I do it autonomously without inconveniencing you for such a trivial matter?
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 07-06-2024, 03:36 PM   #2370
Andy Post
Human being with feelings
 
Join Date: Feb 2020
Posts: 10
Default Clearing articulations from other midi channels

At some point in my project, Reaticulate seems to have received PCs on two midi channels I don't use. It has no other affect than to keep the articulation hilighted in the GUI. It's a little distracting, that's all. I can't figure out how to clear them.

Anybody know?
Andy Post is offline   Reply With Quote
Old 07-06-2024, 03:42 PM   #2371
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,621
Default

Quote:
Originally Posted by Andy Post View Post
It has no other affect than to keep the articulation hilighted in the GUI. It's a little distracting, that's all. I can't figure out how to clear them.
There are two ways:
  1. In Reaticulate's track configuration screen, click the button "Clear active articulations in UI" in the Track Tweaks section.
  2. In the articulation list, middle click on specific articulations whose channel assignment you want to clear.
tack is offline   Reply With Quote
Old 07-08-2024, 03:16 PM   #2372
Andy Post
Human being with feelings
 
Join Date: Feb 2020
Posts: 10
Default

Thank you, Sir.
Andy Post is offline   Reply With Quote
Old 07-09-2024, 06:00 AM   #2373
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Hi Tack, I've purchased a second-hand Platform M and its expansion. I'm studying how you set things up in this old video of yours.
I know this script is now deprecated, and we can do this within Reaticulate itself, but I wanted to hear any advice you have to spare on setting up your Platform and if there are bugs/oddities with samplers and players you have encountered so far.
Best,
Kitarraman
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com

Last edited by Kitarraman; 07-12-2024 at 03:09 AM. Reason: Correction
Kitarraman is offline   Reply With Quote
Old 07-09-2024, 11:33 AM   #2374
vsthem
Human being with feelings
 
Join Date: Nov 2018
Posts: 707
Default

Any progress on a central hub for reabanks? A GUI for creating banks?

I know you volunteer your time to this, but would love to see these two things come to fruition someday.
vsthem is offline   Reply With Quote
Old 07-12-2024, 02:02 AM   #2375
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Quote:
Originally Posted by Kitarraman View Post
Hi Tack, I've purchased a second-hand Platform M+ and its expansion. I'm studying how you set things up in this old video of yours.
I know this script is now deprecated, and we can do this within Reaticulate itself, but I wanted to hear any advice you have to spare on setting up your Platform and if there are bugs/oddities with samplers and players you have encountered so far.
Best,
Kitarraman
Ok, I've managed to get the Platform M to work, but I don't get any MIDI Out signal. What should I look out for?

OK, so the feedback to the control surface works on Touch OSC but not on Platform M.
I've made sure the Platform M is set to receive MIDI Output, I've set it as the output device from within Reaticulate, MIDI bus is set to 1 and articulation has program changes selected. The same settings work for TouchOSC
In the "Open Track Settings" menu, I've left the "Feedback on Track Select" Disabled. What am I missing?
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com

Last edited by Kitarraman; 07-12-2024 at 03:08 AM. Reason: Update
Kitarraman is offline   Reply With Quote
Old 07-12-2024, 03:33 PM   #2376
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 3,411
Default

without ploughing through 60 pages of thread, may i ask @tack if this works with the multiple levels of Vienna synchron instruments? and if so how does it manage 3 or 4 levels of key switching?


M
__________________
https://www.marcuscliffe.com/
norbury brook is offline   Reply With Quote
Old 07-17-2024, 11:52 AM   #2377
Andy Post
Human being with feelings
 
Join Date: Feb 2020
Posts: 10
Default Error message explanation?

I'm getting an error when I try to load a bank.

ReaScript Error:

...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:206: ...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:6279: bad argument #1 to 'MIDI_CountEvts' (MediaItem_Take expected)

ReaScript console output:

12:44:12.292 [ERROR] fatal: ...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:6279: bad argument #1 to 'MIDI_CountEvts' (MediaItem_Take expected)
stack traceback:
...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:205: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reati culate.lua:204>
[C]: in field 'MIDI_CountEvts'
...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:6279: in function 'remap_bank_select_multiple'
...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:6327: in function 'remap_bank_select'
[C]: in function 'xpcall'
...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:210: in field 'call'
...pData\Roaming\REAPER\Scripts\Reaticulate\reatic ulate.lua:218: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reati culate.lua:218>

Is there any information in here that might help me find the problem in the .reabank file?

This only happens if I switch banks when Reaticulate is running. If I restart Reaticulate_Main.lua (the above error is fatal), Reaticulate works fine. There must be cruft in the file, but I can't see anything wrong.
Andy Post is offline   Reply With Quote
Old 07-24-2024, 09:54 AM   #2378
vsthem
Human being with feelings
 
Join Date: Nov 2018
Posts: 707
Default

I've had a lot of trouble with Embertone's Herring Clarinet playing nice with Reaticulate. This may be the only library I use with Hold Notes for articulations, so I suspect that's where the trouble is.

For the entirety of the track, no matter the articulation selected, "Trill Major" is also highlighted in Reaticulate (pictured). What's strange though, is that it is only engaging when it's not supposed to in one particular section. I've deleted the section and rerecorded it, and it still is playing Trill Major when Legato should be playing (pictured) in this ONE SECTION.

https://imgur.com/Vu1qtTD

Here is the ReaBank

//----------------------------------------------------------------------------
// Source: axb312 - https://vi-control.net/community/thr...1/post-4326515
// Stevie - https://vi-control.net/community/thr...1/post-4420939
//
//! g="Embertone" n="Herring Clarinet"
//! chase=1,15,96
//! m="Velocity less than 13 is portamento. Velocity at 127 is ornament"

//! id=4b42e6e5-510b-4874-9d90-31e1a665453e
Bank * * Embertone Herring Clarinet

//! c=legato i=legato o=note:36/note:41
20 Legato
//! c=legato i=legato o=note:36/note:41/note-hold:37
21 Tongued Legato

//! c=short i=staccato o=note:38
40 Short

//! c=long i=trill-min2 o=note:36/note-hold:39
70 Trill Minor
//! c=long i=trill-maj2 o=note:36/note-hold:40
71 Trill Major


ALSO, I just saw on your update log that you had a specific fix for this instrument in 0.4.0 Could there have been a regression?

Thanks all!
vsthem is offline   Reply With Quote
Old 07-24-2024, 09:57 AM   #2379
vsthem
Human being with feelings
 
Join Date: Nov 2018
Posts: 707
Default

FWIW, creating a new track with the same track template, and then copying the midi data over fixes the problem. Maybe a bug with the Embertone Instrument?
vsthem is offline   Reply With Quote
Old 07-29-2024, 07:54 AM   #2380
VirtualVirgin
Human being with feelings
 
Join Date: Aug 2023
Posts: 26
Default Having trouble with Reaticulate MIDI channel change

So I can get the MIDI channel to change which is helpful for stacking instruments such as Kontakt where you effectively switch patches by loading multis.

When I use a Reaticulate articulation I can use o=@2 to the change to channel 2, o=@3 to change to 3 etc.

This routes the incoming MIDI notes to the new channel.

But my issue is, I can't get the other articulations to send their messages on the new channel.

The other articulations actually switch the channel back to 1, even though no channel is specified in the o=

If I add o=@- to each of the other articulations, the behavior stays the same. It switches back to 1, even though the Reaticulate site says that it should keep the previous channel.

If I add - as a prefix to every message of the other articulations, it allows the incoming MIDI notes to stay on the channel that was selected, but then it does not send the o= messages to that channel. The o= messages just keep transmitting on channel 1 instead.

I want both the incoming MIDI notes and the articulations in Reaticulate to transmit on the new channel.

How do I achieve that?
VirtualVirgin is offline   Reply With Quote
Old 07-29-2024, 09:10 AM   #2381
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Quote:
Originally Posted by VirtualVirgin View Post
The other articulations actually switch the channel back to 1, even though no channel is specified in the o=
That's where the issue lies. Whenever you're switching to articulations on channels other than MIDI CH1, your code should be o=note@2:24 to recall C0 at MIDI CH2.
Hope this helps
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 07-31-2024, 08:25 AM   #2382
VirtualVirgin
Human being with feelings
 
Join Date: Aug 2023
Posts: 26
Default

Quote:
Originally Posted by Kitarraman View Post
That's where the issue lies. Whenever you're switching to articulations on channels other than MIDI CH1, your code should be o=note@2:24 to recall C0 at MIDI CH2.
Hope this helps
I'm afraid I'm not sure what you mean.

I have some articulation slots that specifically change the MIDI channel.
I need the other articulations (the ones not sending channel change mesages) in the Reabank to send on whatever I channel I have just switched to.

If I annotate the other articulations with specific MIDI channel "@", then they will only transmit on that specified channel, which is not what I want.
I want them to transmit on whatever channel was last switched to.

Also, not sure what you mean by "recall C0". I don't know what the note messages have to do with channel change.
VirtualVirgin is offline   Reply With Quote
Old 07-31-2024, 11:00 AM   #2383
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Quote:
Originally Posted by VirtualVirgin View Post
If I annotate the other articulations with specific MIDI channel "@", then they will only transmit on that specified channel, which is not what I want.
I want them to transmit on whatever channel was last switched to.
I understood perfectly what you tried to achieve, but I still think that's where the problem lies.
iirc, Reaticulate sends an output command matching the MIDI Channel selected in its GUI, unless you code the channel change in the key switch itself.
For example, if you insert a channel change with one of the commands you made and follow it up with another key switch (say, spiccato), it will send an output MIDI Signal corresponding to the note where the Spiccato articulation is, but it will follow the channel you have selected on the GUI, not the one you specified with the previous key switch.
From my point of view, you can either hard code the channel changes in your articulations (as I've already suggested) or remember which MIDI CH THAT articulation is on, switch the CH from the Reaticulate GUI and insert your key switch.
I have a bunch of Kontakt Multis set the way you want this to work out; I ended up putting the MIDI CH change IN THE CODE because it was the most reliable way I could find to achieve this result
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 07-31-2024, 11:09 AM   #2384
VirtualVirgin
Human being with feelings
 
Join Date: Aug 2023
Posts: 26
Default

Quote:
Originally Posted by Kitarraman View Post
I understood perfectly what you tried to achieve, but I still think that's where the problem lies.
iirc, Reaticulate sends an output command matching the MIDI Channel selected in its GUI, unless you code the channel change in the key switch itself.
For example, if you insert a channel change with one of the commands you made and follow it up with another key switch (say, spiccato), it will send an output MIDI Signal corresponding to the note where the Spiccato articulation is, but it will follow the channel you have selected on the GUI, not the one you specified with the previous key switch.
From my point of view, you can either hard code the channel changes in your articulations (as I've already suggested) or remember which MIDI CH THAT articulation is on, switch the CH from the Reaticulate GUI and insert your key switch.
I have a bunch of Kontakt Multis set the way you want this to work out; I ended up putting the MIDI CH change IN THE CODE because it was the most reliable way I could find to achieve this result
Sorry, this is still not what I am referring to.

The articulations to follow the MIDI channel change are not to be "hard coded" to one MIDI channel address. They are to be used on any of the 16 channels that I have selected in the previous channel change. That is because all 16 channels in this situation share the same set of key switch articulations.


"or remember which MIDI CH THAT articulation is on"
It's not on one channel. It is available on all 16.
VirtualVirgin is offline   Reply With Quote
Old 08-02-2024, 03:27 AM   #2385
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
Default

@Tack, I noticed we don't have an icon for "shake".
Would you mind implementing that one?

__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 08-02-2024, 11:21 AM   #2386
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Quote:
Originally Posted by VirtualVirgin View Post
Sorry, this is still not what I am referring to.

The articulations to follow the MIDI channel change are not to be "hard coded" to one MIDI channel address. They are to be used on any of the 16 channels that I have selected in the previous channel change. That is because all 16 channels in this situation share the same set of key switch articulations.


"or remember which MIDI CH THAT articulation is on"
It's not on one channel. It is available on all 16.
Can you share the code and a use-case scenario?
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 08-03-2024, 08:20 AM   #2387
VirtualVirgin
Human being with feelings
 
Join Date: Aug 2023
Posts: 26
Default

Quote:
Originally Posted by Kitarraman View Post
Can you share the code and a use-case scenario?
Yes, so here is an example:

In this case the channel changes are only used to switch out the instrument.
It is a stack of 5 snares found in the VSL Synchron Percussion library.
They are each a separate preset file, so to keep them all on one track in Reaper, I have 5 Synchron Players loaded, each on a separate MIDI channel (1-5).

The articulations/techniques are almost identical in all 5 snares.
The ideal would be for the instrument switches to switch the MIDI channel, then the keyswitches of sticks/rods/brushes/mallets or snares on/off etc. to work on any of the 5 channels that we just pointed to with the instrument switch (so sending the KS to the appropriate snare).
Attached Files
File Type: txt Synchron Snares Stack.txt (863 Bytes, 123 views)
VirtualVirgin is offline   Reply With Quote
Old 08-04-2024, 08:41 AM   #2388
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 241
Default

Quote:
Originally Posted by VirtualVirgin View Post
Yes, so here is an example:

In this case the channel changes are only used to switch out the instrument.
It is a stack of 5 snares found in the VSL Synchron Percussion library.
They are each a separate preset file, so to keep them all on one track in Reaper, I have 5 Synchron Players loaded, each on a separate MIDI channel (1-5).

The articulations/techniques are almost identical in all 5 snares.
The ideal would be for the instrument switches to switch the MIDI channel, then the keyswitches of sticks/rods/brushes/mallets or snares on/off etc. to work on any of the 5 channels that we just pointed to with the instrument switch (so sending the KS to the appropriate snare).
Okay, looking at your code, I can only give you this advice: the way the code is structured, the key switches for sticks, rods, brushes, and mallets will all go to MIDI CH1, even if you put before them the Snare Type key switch.
This happens because, not having specified which MIDI CH you want to target with which tool, Reaticulate sends it straight to the MIDI CH selected in its GUI (the numbers below the search bar).
And, yes, this happens even if you insert a key switch routing all notes to a specific channel because the moment you hit the "Sticks" key switch (i.e.), it sends new information to your instrument, including the MIDI Ch.

Your use-case is a scenario very similar to what Tack demonstrated years ago on making a divisi line using the same library: he would set a multi in Kontakt with two instances of the same instrument (so they share key switches and all) routed to MIDI Ch1 and MIDI Ch2. In that video, when Tack needed to send a key switch to MIDI Ch 2, he would first click on the number 2 on Reaticulate GUI and then input notes.
I know it's not optimal, but given the current setup, I suppose it's the best outcome you can get. You use your key switches as reminders of which snare you need, but then you make the actual MIDI Ch change through Reaticulate's GUI.
Let me know if this works for you
__________________
Kitarraman
Composer and Sound Designer for Videogames
https://www.kitarraman.com
Kitarraman is offline   Reply With Quote
Old 08-04-2024, 09:50 AM   #2389
VirtualVirgin
Human being with feelings
 
Join Date: Aug 2023
Posts: 26
Default

Quote:
Originally Posted by Kitarraman View Post
Okay, looking at your code, I can only give you this advice: the way the code is structured, the key switches for sticks, rods, brushes, and mallets will all go to MIDI CH1, even if you put before them the Snare Type key switch.
This happens because, not having specified which MIDI CH you want to target with which tool, Reaticulate sends it straight to the MIDI CH selected in its GUI (the numbers below the search bar).
And, yes, this happens even if you insert a key switch routing all notes to a specific channel because the moment you hit the "Sticks" key switch (i.e.), it sends new information to your instrument, including the MIDI Ch.

Your use-case is a scenario very similar to what Tack demonstrated years ago on making a divisi line using the same library: he would set a multi in Kontakt with two instances of the same instrument (so they share key switches and all) routed to MIDI Ch1 and MIDI Ch2. In that video, when Tack needed to send a key switch to MIDI Ch 2, he would first click on the number 2 on Reaticulate GUI and then input notes.
I know it's not optimal, but given the current setup, I suppose it's the best outcome you can get. You use your key switches as reminders of which snare you need, but then you make the actual MIDI Ch change through Reaticulate's GUI.
Let me know if this works for you
Thanks for looking at it

This method you describe is mostly not usable for me as a major purpose of using Reaticulate in my orchestral template is to handle incoming MIDI streamed directly from Dorico. In Dorico I have expression maps built to correspond to the PC messages of the Reaticulate articulation slots.
Just trying to achieve instrument changes from the same staff in the score and have a corresponding track in Reaper- a 1:1

What about this text from the Reaticulate page:

"Where elements enclosed in square brackets are optional, and where:

Output events prefixed with - don't affect the routing of future MIDI events. Otherwise, if channels are not prefixed this way then any future user-generated MIDI event will be routed to this channel when the articulation is activated (which in most cases is what you want).

type defines the type of output event (see below), e.g. note, cc, etc.

@channel specifies the destination MIDI channel of the output event and, unless type is prefixed with -, it implies subsequent MIDI events will also be routed to that destination channel.

When channel is not specified, the destination channel will be dictated by the destination channel the defined by the user when the bank was configured on the track. (See the usage page for more information on source and destination channels.)

Alternatively, a special channel value of - will direct the output event to the destination(s) setup by the previously activated articulation."

So that last line there about "a special channel value of -"
It sounds like there is potential for that to do what I am asking.
If I use an instrument change articulation that specifies a MIDI channel, and the other articulation programs are use this "value of -",
then it should put out the messages defined by that articulation on the MIDI channel that was specified in the previous program?

Last edited by VirtualVirgin; 08-05-2024 at 07:50 AM.
VirtualVirgin is offline   Reply With Quote
Old 08-21-2024, 05:30 AM   #2390
Pittamaniak
Human being with feelings
 
Join Date: Jun 2020
Posts: 1
Default Reabanks not readable

I'm having trouble with Reaticulate.
Something seems to have gone wrong somehow with my reaticulate banks file.
It's right now in Unix (LF) | ANSI but everything is scrambled and entirely unreadable.
Is there a way to translate it to Windows (CRLF) | UTF-8?
Pittamaniak is offline   Reply With Quote
Old 08-21-2024, 09:46 AM   #2391
h77
Human being with feelings
 
Join Date: Apr 2017
Posts: 18
Default

Quote:
Originally Posted by Pittamaniak View Post
I'm having trouble with Reaticulate.
Something seems to have gone wrong somehow with my reaticulate banks file.
It's right now in Unix (LF) | ANSI but everything is scrambled and entirely unreadable.
Is there a way to translate it to Windows (CRLF) | UTF-8?
I think you can do this using Notepad++ - but not entirely sure. Might be worth a try.
h77 is offline   Reply With Quote
Old 08-22-2024, 04:59 PM   #2392
asai
Human being with feelings
 
asai's Avatar
 
Join Date: Apr 2016
Location: Tuscon, AZ
Posts: 97
Default Programming Playback Offsets

I would like to write a script to be able to nudge MIDI notes to the left, based on which Reaticulate articulation is active. E.g. earlier for slow legato than for fast legato when using CSS.

I reckon I can write a config file with these offsets programmed in.

However, what I can't seem to do right now, is read anything from Reaticulate apart from Raw MIDI data that's available through the MIDI_GetEvt method from which I can see that the CSS "sustain" parameter has a value of 1.

Now I could parse the Reabank file easy enough and match that up, but is there any way of fetching which articulation is loaded up in Reaticulate to begin with?

Does Reaticulate have any sort of API?
asai is offline   Reply With Quote
Old 08-23-2024, 07:11 AM   #2393
Stroudy
Human being with feelings
 
Stroudy's Avatar
 
Join Date: Jul 2014
Location: London
Posts: 759
Default

On a similar topic, I'd like to return the current reabank file.

My aim is to send the current reabank of the selected track to TouchOSC as a string via OSC.

Any help on how to achieve that bit would be greatly appreciated
Stroudy is offline   Reply With Quote
Old 09-02-2024, 10:01 AM   #2394
asai
Human being with feelings
 
asai's Avatar
 
Join Date: Apr 2016
Location: Tuscon, AZ
Posts: 97
Default

OK, with the help of Greptile AI (great AI that parses Github code and allows you then to ask questions directly about the code's functionality,) I was able to get this script working at a basic level. This returns info about the loaded Reaticulate bank on the currently selected track. I had to include this script into C:\Program Files\Reaper(x64)\lua: https://github.com/LuaDist/dkjson/bl...ter/dkjson.lua

Hope it helps.

Code:
-- Reaticulate Bank Query Script

function msg(m)
  reaper.ShowConsoleMsg(tostring(m) .. "\n")
end

function getReaticulateData(track)
  if not track then return nil end
  local ok, str = reaper.GetSetMediaTrackInfo_String(track, "P_EXT:reaticulate", "", false)
  if not ok or str == "" then return nil end

  str = str:sub(2)

  local json = require("dkjson")

  local jsonString = str
-- Decode the JSON string into a Lua table
  local data, pos, err = json.decode(jsonString, 1, nil)
  return data
end

function getLoadedBanks(track)
  local bankData = getReaticulateData(track)

  return bankData
end

function getBankName(track, guid)
  local ok, name = reaper.GetSetMediaTrackInfo_String(track, "P_EXT:reaticulate_bankname_" .. guid, "", false)
  return ok and name or "Unknown Bank"
end

function main()
  local track = reaper.GetSelectedTrack(0, 0)
  
  if not track then
    msg("No track selected.")
    return
  end
  
  local banks = getLoadedBanks(track)
  msg(banks.banks[1].name)
  
end

main()

Last edited by asai; 09-02-2024 at 10:20 AM.
asai is offline   Reply With Quote
Old 09-10-2024, 06:28 AM   #2395
Stroudy
Human being with feelings
 
Stroudy's Avatar
 
Join Date: Jul 2014
Location: London
Posts: 759
Default

Quote:
Originally Posted by asai View Post
OK, with the help of Greptile AI (great AI that parses Github code and allows you then to ask questions directly about the code's functionality,) I was able to get this script working at a basic level. This returns info about the loaded Reaticulate bank on the currently selected track. I had to include this script into C:\Program Files\Reaper(x64)\lua: https://github.com/LuaDist/dkjson/bl...ter/dkjson.lua

Hope it helps.

This sounds very promising. I couldn't get it working with your instructions, though.

I've installed the script you put in the code quote - all good there.

I don't have a folder in my Reaper director called "lua" so I created one. It still doesn't work. I get an error saying it needs a bunch of files related to dkjson.lua. I tried putting in the same folder as your script - still not working.

I put dkjson.lua into my scripts folder and amended your script

local json = dofile(reaper.GetResourcePath() .. "/Scripts/Stroudys Scripts/dkjson.lua")

Instead of require.

It's successfully returning the Bank name.

Any idea how I return the list of artuiculations?

As in:

Stroudy is offline   Reply With Quote
Old Today, 07:14 AM   #2396
asai
Human being with feelings
 
asai's Avatar
 
Join Date: Apr 2016
Location: Tuscon, AZ
Posts: 97
Default

Right now, I just have a script that returns the currently active articulation for a selected group of MIDI notes, however, if you want to return the list of available articulations, that's dependent on parsing the relevant Reabank file, for which I don't have any example code at the moment, but it would be loading the file in Lua and parsing the articulation names with some string matching code.

I will post my whole script soon that nudges notes based on an offset table for the selected group of MIDI notes. That might help give some hints.
asai 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 07:45 PM.


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