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

Reply
 
Thread Tools Display Modes
Old 01-30-2019, 04:14 PM   #321
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default Error with Miroslav

Tack, I tried to create a custom bank for IK Multimedia's Miroslav Philharmonik, but a few weird things happened:
I was programming the 14 Violins Ensemble and I noticed that reaticulate changed the articulations only on keyswitches placed on the white keys. I eventually got it working (don't remember what I did exaclty, probably I specified MIDI Channel 1 on all articulations and armed the track)... Then it stopped changing articulation altogether before giving me the following error message: "...ta\Roaming\REAPER\Scripts\Reaticulate\\app\lib \utils.lua:144: attempt to perform arithmetic on a nil value (local 'note')".

What can I do to fix this?
Kitarraman is online now   Reply With Quote
Old 01-30-2019, 04:22 PM   #322
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Kitarraman View Post
I was programming the 14 Violins Ensemble and I noticed that reaticulate changed the articulations only on keyswitches placed on the white keys.
Weird. I can't think of anything that would explain this -- Reaticulate itself doesn't even have a notion of white or black keys, only MIDI note numbers.

Quote:
Originally Posted by Kitarraman View Post
Then it stopped changing articulation altogether before giving me the following error message: "...ta\Roaming\REAPER\Scripts\Reaticulate\\app\lib \utils.lua:144: attempt to perform arithmetic on a nil value (local 'note')".
I don't suppose you still have the reabank file that caused this? I try to make the parser robust but I confess I didn't try as hard as I might have.

Quote:
Originally Posted by Kitarraman View Post
Reaticulate's GUI doesn't highlight the articulation chosen, which must mean that there's something wrong with my code.

...

24 Body Perc
//! c=fx i=fx o=25
...
'25' isn't a valid output event. Is it supposed to send note events? If so, try o=note:25. This is documented here but if you scroll down a bit from there you can see some examples which you can model your own events from (rather than trying to wade through the terse technical specification ).
tack is offline   Reply With Quote
Old 01-30-2019, 11:52 PM   #323
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by tack View Post
Weird. I can't think of anything that would explain this -- Reaticulate itself doesn't even have a notion of white or black keys, only MIDI note numbers.


I don't suppose you still have the reabank file that caused this? I try to make the parser robust but I confess I didn't try as hard as I might have.
No, but I can rewrite all the code and post it here in order to troubleshoot the problem



Quote:
Originally Posted by tack View Post
'25' isn't a valid output event. Is it supposed to send note events? If so, try o=note:25. This is documented here but if you scroll down a bit from there you can see some examples which you can model your own events from (rather than trying to wade through the terse technical specification ).
Yep, I realised that as soon as I posted the reply, thus the edited post. Very moronic of me

Last edited by Kitarraman; 01-31-2019 at 12:11 AM.
Kitarraman is online now   Reply With Quote
Old 01-30-2019, 11:54 PM   #324
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

BTW, where can we post our banks? Here on Reaper's forum? I'd like to be of help to anyone who has my same libraries, so they don't have to type all that code again.
Kitarraman is online now   Reply With Quote
Old 01-31-2019, 08:34 AM   #325
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

That's what I coded this far... I have no idea why it isn't working

//! g="IK Multimedia/Miroslav Philharmonik/Strings/Violins" n="14 Violins Multi"
Bank 12 24 Ik Multimedia Miroslav Philharmonik 14 Violins Multi
//! c=long i=note-whole o=note:24
24 Sustain A
//! c=long i=bow-up o=note:25
25 Sustain Up
//! c=long-light i=sfz o=note:26
26 Sustain fff
//! c=long-light i=note-whole o=note:27
27 No Vib Mf
//! c=long i=note-whole o=note:28
28 No Vib d-u
//! c=long i=note-whole o=note:29
29 Sustain d-u

I tried adding "/@1" after the note output (to be sure that Miroslav was receiving the program change) but the keys don't light up in Miroslav's interface, so something must be off.
If I play the keyswitches with the MIDI keyboard though, Reaticulate's GUI follows the articulation change request by the keyboard... That's odd
Kitarraman is online now   Reply With Quote
Old 01-31-2019, 08:48 AM   #326
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Kitarraman View Post
BTW, where can we post our banks? Here on Reaper's forum? I'd like to be of help to anyone who has my same libraries, so they don't have to type all that code again.
Here on the forum for now. I have loftier visions in mind for sharing and discovery but I'm not ready for that yet. :/
tack is offline   Reply With Quote
Old 01-31-2019, 08:56 AM   #327
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Kitarraman View Post
//! c=long i=note-whole o=note:24
24 Sustain A

...

I tried adding "/@1" after the note output (to be sure that Miroslav was receiving the program change) but the keys don't light up in Miroslav's interface, so something must be off.
A couple observations here. Does Miroslav actually need to receive Program Change messages? Because here Reaticulate will output note events, not program changes. If you actually mean program changes, then you should do something like o=program:24 to make sure Reaticulate emits a program change rather than a note.

If you really did mean note, then the next thing is to make sure the note values are correct to trigger the right articulations on the patch.

o=note:24 will send a note-on (and note-off) for note 24 to the MIDI channel determined by the destination channel when you configure the back on the track. By default the destination channel says "Source" which means it'll just send output events on whatever channel the program change came in on -- i.e. the "source channel". And by default the source channel is Omni, so program changes can come in on any channel.

Assuming you're using the default channel assignment of Source=Omni and Dest=Source for that bank, if the program change comes in on ch 1, then the note to trigger the articulation on the patch will be send on ch 1.

If you want to force the note to always go on ch 1 regardless of what the bank's channel mapping is configured on the track, or regardless of what channel the program change is assigned to in the piano roll, then what you want is actually o=note@1:24

o=note:24/@1 is two separate output event actions, which means:
  • Send note 24 on the destination channel defined by the bank's channel mapping. Subsequent (non-program change) events will be routed to this channel.
  • Also route subsequent messages to channel 1.
tack is offline   Reply With Quote
Old 01-31-2019, 09:04 AM   #328
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by tack View Post
Here on the forum for now. I have loftier visions in mind for sharing and discovery but I'm not ready for that yet. :/
Ok, so these are my banks for Chris Hein's instruments. I'm not sure that syntax-wise they're 100% correct, but they work for me without being a pain in the ass, so I figured they should be good enough to be shared
Kitarraman is online now   Reply With Quote
Old 01-31-2019, 09:29 AM   #329
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Ok, so a couple of things:
1)
Quote:
Originally Posted by tack View Post
Does Miroslav actually need to receive Program Change messages? Because here Reaticulate will output note events, not program changes. If you actually mean program changes, then you should do something like o=program:24 to make sure Reaticulate emits a program change rather than a note.

If you really did mean note, then the next thing is to make sure the note values are correct to trigger the right articulations on the patch.[/LIST]
I honestly have no clue... I guess Miroslav needs note events because, by default, you change articulation with the keys ranging from C0 to G1. So I think that using the correspondent note number should do the trick.

2)
Quote:
Originally Posted by tack View Post
o=note:24 will send a note-on (and note-off) for note 24 to the MIDI channel determined by the destination channel when you configure the back on the track. By default the destination channel says "Source" which means it'll just send output events on whatever channel the program change came in on -- i.e. the "source channel". And by default the source channel is Omni, so program changes can come in on any channel.

Assuming you're using the default channel assignment of Source=Omni and Dest=Source for that bank, if the program change comes in on ch 1, then the note to trigger the articulation on the patch will be send on ch 1.

If you want to force the note to always go on ch 1 regardless of what the bank's channel mapping is configured on the track, or regardless of what channel the program change is assigned to in the piano roll, then what you want is actually o=note@1:24

o=note:24/@1 is two separate output event actions, which means:
  • Send note 24 on the destination channel defined by the bank's channel mapping. Subsequent (non-program change) events will be routed to this channel.
  • Also route subsequent messages to channel 1.
Instrument is on Channel 1, when I click on the GUI to change the articulation, the "square" showing whether MIDI events are being sent on Miroslav lights up. So, Miroslav does receive something from Reaticulate... The point is what? I tried shifting octaves but I never hit the right note (pun non-intended). I also tried forcing notes to go on channel 1, but that didn't work either...
Kitarraman is online now   Reply With Quote
Old 01-31-2019, 09:30 AM   #330
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Here are the banks for Requiem Profession and 8diOboe by 8Dio
Attached Files
File Type: txt 8Dio Requiem Professional.txt (21.5 KB, 219 views)
File Type: txt 8Dio diOboe.txt (373 Bytes, 193 views)
Kitarraman is online now   Reply With Quote
Old 01-31-2019, 10:56 AM   #331
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Kitarraman View Post
So, Miroslav does receive something from Reaticulate... The point is what? I tried shifting octaves but I never hit the right note (pun non-intended). I also tried forcing notes to go on channel 1, but that didn't work either...
You can insert a ReaControlMIDI in between Reaticulate and the VSTi to be sure what Reaticulate is emitting. Whether that's actually the right thing for the particular instrument, I can't help there.

Thanks for sharing your banks!
tack is offline   Reply With Quote
Old 01-31-2019, 11:19 AM   #332
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by tack View Post
You can insert a ReaControlMIDI in between Reaticulate and the VSTi to be sure what Reaticulate is emitting. Whether that's actually the right thing for the particular instrument, I can't help there.

Thanks for sharing your banks!
Okay, thanks. I'll give it another try. The weirdest thing of all is that the MIDI keyboard is emitting to Reaticulate, it's the other way around (the one I need) that doesn't work. If I get it to work, I'll post the banks here
Kitarraman is online now   Reply With Quote
Old 01-31-2019, 11:27 AM   #333
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Kitarraman View Post
Okay, thanks. I'll give it another try. The weirdest thing of all is that the MIDI keyboard is emitting to Reaticulate, it's the other way around (the one I need) that doesn't work. If I get it to work, I'll post the banks here
The good news (?) is that this is consistent with the possibility that you're not sending the right MIDI events to the instrument.

If you tell Reaticulate to send note C3 to activate legato (say), if you hit C3 on your keyboard, Reaticulate will show the articulation as being active in the UI and then send C3 to the VSTi. But if the VSTi actually needs C2 and not C3, it won't do anything useful. Reaticulate isn't able to know if the output event had the desired effect because there isn't any (standard) way to communicate with the instrument.
tack is offline   Reply With Quote
Old 01-31-2019, 11:36 AM   #334
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by tack View Post
The good news (?) is that this is consistent with the possibility that you're not sending the right MIDI events to the instrument.

If you tell Reaticulate to send note C3 to activate legato (say), if you hit C3 on your keyboard, Reaticulate will show the articulation as being active in the UI and then send C3 to the VSTi. But if the VSTi actually needs C2 and not C3, it won't do anything useful. Reaticulate isn't able to know if the output event had the desired effect because there isn't any (standard) way to communicate with the instrument.
I'll look into that, but I'm sure the notes are correct. Before writing them down in the Reabank, I open both the VSTi window and the MIDI editor, click on C0 on the piano roll, check that it changed the articulation, get the note number and insert it in Reabank
Kitarraman is online now   Reply With Quote
Old 02-06-2019, 06:32 AM   #335
Herrmann
Human being with feelings
 
Join Date: Jan 2016
Posts: 14
Default

I had issue with octave shift with EW play. Other than that, it is working great.
Herrmann is offline   Reply With Quote
Old 02-07-2019, 12:04 PM   #336
sklathill
Human being with feelings
 
Join Date: Jan 2013
Posts: 7
Default

Reaticulate Panel doesn't show up with SWS-Extension v2.10.0.

I just updated it this morning, and Reaticulate will not show up anymore in new or existing projects.

I still had v2.9.7.0 SWS installer on hand, so installed that, and my existing projects work again, so that's good.

Just an FYI.
sklathill is offline   Reply With Quote
Old 02-07-2019, 12:16 PM   #337
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by sklathill View Post
Reaticulate Panel doesn't show up with SWS-Extension v2.10.0.
Thanks for the heads up. I'll take a look ASAP.
tack is offline   Reply With Quote
Old 02-07-2019, 05:16 PM   #338
Icchan
Human being with feelings
 
Icchan's Avatar
 
Join Date: Dec 2011
Location: Finland
Posts: 792
Default

Reaticulate looks really great. You've done wonderful work!

I really hope you'll get other people helping with the code and features as well from the forums, so that life possibly happening won't freeze the developement and that GUI you were talkig about would be a bit easier to do (I do believe you take pull requests?)

If I make a mapping for a library that isn't on there yet, will you take my pull request to include it to the factory one? Of course assuming it's tested and works etc...

I was thinking to use this with Shreddage especially

I wonder if you should have a separate branch for .Reabank file developement so you can merge it at some point...

I do have one thing I'm wondering: Why did you choose to use //! as a command "prefix"? I mean, it's a bit confusing when comments are "//" and commands are "//!". It's as good as any as far as computer is concerned, but it does make it a bit difficult to read, and perhaps a bit more error prone...

I'm not complaining, just curious.


Forget it... I just realized that you wanted it to be compatible with reapers .Reabank parser such that nothing will break. (It's late and I'm dumdum)
Icchan is offline   Reply With Quote
Old 02-07-2019, 05:49 PM   #339
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by sklathill View Post
Reaticulate Panel doesn't show up with SWS-Extension v2.10.0.
Hm, I'm not having any issues myself with 2.10.0.

If you manually trigger the Reaticulate_Main action, does the window show up then? Or do you see an error message?

If it shows up, was the issue that Reaticulate just wasn't autostarting on launch? In that case, in after having manually started Reaticulate, perhaps try in the settings page to toggle Autostart to Never back to "When REAPER starts"?
tack is offline   Reply With Quote
Old 02-07-2019, 05:54 PM   #340
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Icchan View Post
Reaticulate looks really great. You've done wonderful work!
Thanks!

Quote:
Originally Posted by Icchan View Post
I really hope you'll get other people helping with the code and features as well from the forums, so that life possibly happening won't freeze the developement and that GUI you were talkig about would be a bit easier to do (I do believe you take pull requests?)
I will graciously review all pull requests, but I'm afraid I'll have to exempt the the GUI bank editor from that. I have a pile of code in my local branch and I'm just too far down that path now to take pull requests for that feature. I appreciate it's one of the most essential features for Reaticulate's wider adoption.

But for other features, yes, if the code is high quality (or at least not much worse than the current quality ), I'm grateful for the help.


Quote:
Originally Posted by Icchan View Post
If I make a mapping for a library that isn't on there yet, will you take my pull request to include it to the factory one? Of course assuming it's tested and works etc...
So actually I'm pretty much abandoning the factory banks idea. Based on feedback so far I'm looking to implement a better means for users to share their own bank files with each other. Originally I had wanted to do a curated, quality-controlled set of banks but I now realize I just don't have the proper amount of time to spend on that. Instead, I think it's best for me to stick with what I'm good at, and let the community drive what they're good at.

So stay tuned on that. For now, feel free to swap banks on the forums. I definitely appreciate that's not ideal, so this kind of online bank directory feature will come after the GUI bank editor.

My problem right now is lack of time. The day job has been all consuming.

Thanks for the feedback!
tack is offline   Reply With Quote
Old 02-07-2019, 08:48 PM   #341
sklathill
Human being with feelings
 
Join Date: Jan 2013
Posts: 7
Default

Quote:
Originally Posted by tack View Post
Hm, I'm not having any issues myself with 2.10.0.

If you manually trigger the Reaticulate_Main action, does the window show up then? Or do you see an error message?

If it shows up, was the issue that Reaticulate just wasn't autostarting on launch? In that case, in after having manually started Reaticulate, perhaps try in the settings page to toggle Autostart to Never back to "When REAPER starts"?
Aha. I was doing the Reaticulate Start action instead of Reaticulate Main. Now that got my panel up... thanks!
sklathill is offline   Reply With Quote
Old 02-10-2019, 02:34 PM   #342
Swi
Human being with feelings
 
Join Date: Apr 2018
Posts: 358
Default Request new default location when floating Reaticulate

I love Reaticulate and cannot thank you enough for it but if I could make a request it would be to have an option perhaps under the gear icon to have it float on Monitor 2, and have a pin at the top so I can keep it on top.

If there is a way to alter where the default location for the floated version goes please let me know.

I dock it on the right side presently but I need to shrink my midi editor window down to see it on the right behind my midi editor window. Sometimes when it's docked I have issues with scrolling for libraries that have a lot of articulations in it. The floated version always scrolls as it was designed.

Having Reaticulate float on the left edge of Monitor 2 would be ideal for my workflow.

Thank you again for this great tool.
Swi is offline   Reply With Quote
Old 02-10-2019, 02:43 PM   #343
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by Swi View Post
If there is a way to alter where the default location for the floated version goes please let me know.
The floating window should appear in the same position you left it when you toggle docked/undocked or when you load it for the first time. I do have logic in there to remember the position (as well as size). It doesn't do this for you? What OS are you using?

The next release will allow pinning by means of the js_ReaScriptAPI extension. That's in my local tree right now. If you haven't already, you might as well install it.
tack is offline   Reply With Quote
Old 02-10-2019, 02:47 PM   #344
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Actually, it occurs to me, that logic might only be in the prerelease version.

You could try it if you like:

http://reaticulate.com/download.html

Or sit tight a week or two. I wanted to promote the last prerelease to a proper 0.3.0 release but I got caught up in work this weekend. I'm hoping next.
tack is offline   Reply With Quote
Old 02-10-2019, 04:09 PM   #345
Swi
Human being with feelings
 
Join Date: Apr 2018
Posts: 358
Default

Thank you I will give this a try.
Many thanks
Swi is offline   Reply With Quote
Old 02-10-2019, 04:26 PM   #346
Swi
Human being with feelings
 
Join Date: Apr 2018
Posts: 358
Default

Done and success. Thank you for all of this.
Swi is offline   Reply With Quote
Old 02-11-2019, 03:28 AM   #347
Kitarraman
Human being with feelings
 
Kitarraman's Avatar
 
Join Date: Jun 2018
Location: Italy
Posts: 232
Default

Quote:
Originally Posted by Kitarraman View Post
Ok, so these are my banks for Chris Hein's instruments. I'm not sure that syntax-wise they're 100% correct, but they work for me without being a pain in the ass, so I figured they should be good enough to be shared
Hi, I made a few mistakes when I wrote the banks: the last two instruments of orchestral winds have the same LSB of the first two from orchestral brass, so if you're thinking about using my banks, remember to fix that error. I count on uploading the fixed files once I get back from work, however if you find more errors, please report them to me
Kitarraman is online now   Reply With Quote
Old 02-12-2019, 05:38 AM   #348
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,677
Default

<< nvm >>
__________________
DarkStar ... interesting, if true. . . . Inspired by ...

Last edited by DarkStar; 02-12-2019 at 05:44 AM.
DarkStar is offline   Reply With Quote
Old 02-18-2019, 03:13 PM   #349
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 597
Default An intersting example

Hello,

Just want to share this video that let us perfectly understand the way expression maps work in Cubase and can perhaps give ideas for reaticulate, mainly the part starting around 4minutes, about "slot" idea to create articulation.

https://www.youtube.com/watch?v=1gVWW2tKN8c
daeavelwyn is offline   Reply With Quote
Old 02-19-2019, 11:51 AM   #350
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by daeavelwyn View Post
Just want to share this video that let us perfectly understand the way expression maps work in Cubase and can perhaps give ideas for reaticulate, mainly the part starting around 4minutes, about "slot" idea to create articulation.
I saw that video hit me feed too but haven't had time to watch it yet. Thanks for reminding me.

Perhaps I could trouble you to you summarize the slot idea?
tack is offline   Reply With Quote
Old 02-19-2019, 06:00 PM   #351
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 597
Default reaticulate articulation editor

Hi tack,

Ok, so, here is the proposition (downloading the attachement and copy/paste to markdown editor will help) and sorry for my poor designer qualities :-s :



# Propositions for reaticulate's articulation editor window

So mainly, the script just writes stuff it gets from fields into the
Reaticulate.reabank file

It works in 4 steps gradualy (even if steps 3 and 4 could be enable together),
from left to right.

## 1st step

On the left panel, clicking the add button should open a box where we could enter
- the group (g option in the actual script). could be divide in 2 fields as you mentioned in your documentation vendor / product.
- the name (n option in the script)
- A comment (m option in the script)
- bank number
- program number
- bank name

Closing this pop-up window write an empty entry in the reaticulate.reabank file
with those options for example :

```
//! g="Orchestral Tools/Berlin Strings" n="V1"
//! m="Using custom keyswitch (24 to 35)"
Bank 1 1 OT-BS - V1
```

if no selection on the left panel, others panels are not usable

"del" button delete selected entry
"edit" button reopen the pop-up window with previously entered values
"clone" button is the clone function


## 2nd step
Once done, we could go to the center panel by selecting
the new entry we just created in the left panel (or an already existing one)

As shown in the schema, yellow is the selected slot we are working on, grey are the other slots

Center panel is now editable but NOT the right panel

clicking the add button in the center panel creates an editable line below (or a popup window again)
with a mix of editable fields and drop-down options.

- articulation name (if we take the example below here will be "Sustain lmm Romantic vibrato - C1")
- icon (i option) a drop-down list ?
- color (c option) a drop-down list too or an hexa code color #RRGGBB ?
- Program number (in the example below it's 20) drop-down list !

```
//! c=legato i=note-whole
20 Sustain lmm Romantic vibrato - C1
```
Not sure the "edit" button is usefull here if you use drop-down.

## 3rd step

Now, we can select the slot we just created in the center panel and it makes the right panel editable.
And here we can provide options for the "o" option of reaticulate.

It could be
- type ( drop-down with Program & CC & Note & Note-hold & art)
- value 1 or DATA 1 for the previous selected type (C-0 if type=note OR 32 if type = CC, etc...)
- value 2 or DATA 2 (could be a velocity value or range)
- channel
- group number (drop down 1 to 4, 1 selected by default)

If I take your example and apply to the image attached the "o" parameters would be:
> "This one from Cinematic Studio Strings sends 3 separate notes at specific velocities
> to set sordino and legato in addition to the sustains patch.
> //! c=long-light i=con-sord o=note:12/note:22,1/note:23,127
> 7 con sordino"

Not sure the "edit" button is usefull here if you use drop-down.

## 4th step
Extra options for the selected articulation in center panel
- "f" option per articulation (no global here, drop-down)
- "n" option (text zone)

## Global options
- the "off/on" option for note-hold (drop-down)
- the "chase" option for banks (text zone)
- The "f" option for bank settings (drop-down)

## Suggested improvements
- each slot column head could be clickable to sort articulations
- if method is keyswitch, the keyswitch value is displayed in the articulation window
- min and max pitch
- transpose option
- min and max velocity
- default note lenght
- MIDI learn for keyswitch and CC

inspiration comes from here : https://ask.audio/articles/using-exp...maps-in-cubase
Attached Images
File Type: png reaticulate.png (43.1 KB, 717 views)

Last edited by daeavelwyn; 02-20-2019 at 05:34 AM.
daeavelwyn is offline   Reply With Quote
Old 02-22-2019, 06:11 PM   #352
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by daeavelwyn View Post
Ok, so, here is the proposition (downloading the attachement and copy/paste to markdown editor will help) and sorry for my poor designer qualities :-s
Wow, talk about going above and beyond! Thanks for this really detailed write-up!

The design I'm looking at is pretty similar, at least inasmuch as you have multiple panels. Some of the details are a bit different from what you graciously mocked up, but I'm not sure how important they are from a UX perspective.

It's a bit rough around the edges yet, but here's the current UI for editing the bank-level attributes:




So a few differences here:
  • You click on the bank title at the very top to edit the bank-level attributes (as shown), which then reflects in the right-most panel the bank level fields. This would be the default view when the bank is first created, so the user would be primed to understand that field at the top of the articulations list is interactive. (And when it's not selected, there's a little subtitle that says "click to edit"). I'm a tiny bit apprehensive about this design in terms of discoverability, but I guess we'll see.
  • The articulations list in the left panel represents, more or less, a view of what the bank would look like when realized in Reaticulate's main UI. But from this view you can reorder articulations (by drag-and-drop), delete, or add new.
  • Clicking on an articulation (in the screenshot you can see me hovering over col legno with the mouse which shows the translucent selector arrow, and if I click that, it would then select the articulation and update the right panel with articulation details.

The main difference with what you suggested is actually the additional of a separate panel for the bank list, even further to the left. I was originally thinking of this as a separate screen to manage the overall list, and when you click on an existing bank (or create a new one) it would open the screen as shown above. But I think I'll play with the idea of making the bank list a separate panel. I like that aspect in your mockup.

Thanks again for sharing such detailed thoughts. It's really helpful to get this kind of feedback.
tack is offline   Reply With Quote
Old 02-23-2019, 07:20 AM   #353
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 597
Default

Wow, you are almost on a release state no ?

The idea of having everything in a single window with panels is that you don't have to deal with open/close windows and can easily switch / copy / duplicate / paste patches and settings, and when you have to deal with a lot of libraries, this really helps !

I see square like selecting box in your screenshot, do you plan to implement a kind of mass-edit ? This would be great as we could easily set a group of instruments (example : V1 V2 Va Celli C.B.) in a few steps

I just looked at the github repos but you haven't yet commit those changes no ? I've seen a reabank.lua that could look like this but i'm not sure about... If you need testers, i'm your man

I'm also trying to get a kind of compact view like here :

https://imgur.com/a/p94ibuX

Top is compacted, bottom (extra-art) is normal. What is the best way to do this ? Create a dupplicate of somes files and rename them ? just clone / copy some part of the code ?

Last edited by daeavelwyn; 02-23-2019 at 07:51 AM.
daeavelwyn is offline   Reply With Quote
Old 02-23-2019, 09:12 AM   #354
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by daeavelwyn View Post
Wow, you are almost on a release state no ?
I'm afraid not

I do have a ways to go still. I regret that my free time isn't what it might be (or at least I need to work harder at time management), compounded by the fact that I'm juggling another personal project at the same time. So I'm chipping away at it but it's slow going. (But it must be said, posts like yours are really motivating.)

Up to now I've been spending most of my time on the widget library side of things. (I know about Lokasenna's GUI library but I started my own widget library "rtk" around the same time and am by now far too invested in that work. Also, and more importantly to me, although Lokasenna's GUI is really impressive work, I'm not fond of its coordinate-based grid layout system for positioning and sizing, and prefer systems allowing more fluid and resizable layouts, and rtk implements that.)

I've one more widget to do on this front, which is essentially a searchable ComboBox to e.g. filter on icon names. (I'd also like to use that in the main GUI where you assign banks to the track, because the popup menu for that is really clunky. Much better would be to type 'v1' and be presented with all the banks with 'v1' in the name that you can pick from.)

Also I should probably do a scrollbar. No one has complained, surprisingly -- I guess everyone's like me and finds the scrollwheel perfectly acceptable to get around -- but it's still a glaring omission from typical desktop UI design language.

So, yes, I have more ideas than time, it seems.



Quote:
Originally Posted by daeavelwyn View Post
The idea of having everything in a single window with panels is that you don't have to deal with open/close windows and can easily switch / copy / duplicate / paste patches and settings, and when you have to deal with a lot of libraries, this really helps !
That's fair enough. I do at least want to make it easy to clone existing banks, and copy/paste articulations between banks. Having that left-most panel for jumping between banks will clearly make that easier. I'm quickly warming up to the idea, and I'll definitely prototype it and see how it works.


Quote:
Originally Posted by daeavelwyn View Post
I see square like selecting box in your screenshot, do you plan to implement a kind of mass-edit ? This would be great as we could easily set a group of instruments (example : V1 V2 Va Celli C.B.) in a few steps
Not initially, but perhaps later.

For now the multi-selection is to perform bulk deletion as well as copying (for later pasting).


Quote:
Originally Posted by daeavelwyn View Post
I just looked at the github repos but you haven't yet commit those changes no ? I've seen a reabank.lua that could look like this but i'm not sure about... If you need testers, i'm your man
Some of the GUI library work is committed (e.g. rtk.Viewport which makes the multi-panel design possible) but, yeah, none of the user facing code is committed yet. It's all in my local repo because it's a complete mess as I'm prototyping the ideas. Needs to be written or at least cleaned up before escaping to public eyes.


Quote:
Originally Posted by daeavelwyn View Post
Top is compacted, bottom (extra-art) is normal. What is the best way to do this ? Create a dupplicate of somes files and rename them ? just clone / copy some part of the code ?
Are you referring to just the spacing in between the articulation rows, or something else? The padding is all I see that's different.

There's no way to do this currently. I mean, you could easily change the spacing for all of the banks by tweaking this line but doing it selectively by bank isn't possible without a big overhaul (more than I could explain here).

Though being able to choose from different layouts when you assign the bank to the track is an interesting idea. I could envision many different layouts, like icons only, multi-column, or the current one. I was tracking a related feature to support fluid multi-column layouts when the horizontal space allows for it, but just changed the scope to be able to do per-bank layout choices.

Last edited by tack; 02-23-2019 at 09:21 AM.
tack is offline   Reply With Quote
Old 02-23-2019, 09:29 AM   #355
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 597
Default

In fact, I think I well undestood bpadding, tpadding, rpadding and lpadding, but can't figure what exactly spacing does, is it a kind of margin function ?

It's because, for example, on my laptop, I've a small screen and i'd like to reduce spaces between lines (bpadding and tpadding I guess), but can't figure in which file...)

[EDIT] To be more precise, I'd like to reduce red zones shown here :
https://imgur.com/a/keW5hcy

Last edited by daeavelwyn; 02-23-2019 at 09:48 AM.
daeavelwyn is offline   Reply With Quote
Old 02-23-2019, 10:19 AM   #356
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by daeavelwyn View Post
In fact, I think I well undestood bpadding, tpadding, rpadding and lpadding, but can't figure what exactly spacing does, is it a kind of margin function ?
Boxes are containers that hold children arranged either vertically (VBox) or horizontally (HBox). Padding applied to a box refers to the space around the box itself (which I'm sure you've already figured out), but spacing is the inner distance between the children.

Quote:
Originally Posted by daeavelwyn View Post
To be more precise, I'd like to reduce red zones shown here
That's mainly going to be controlled by tpadding and bpadding of this line. And if you want to cram things together further, you can reduce the spacing on the VBox a couple lines above that (the line I originally referred to).

Setting all spacing and top/bottom padding to 0 should collapse it all down, though it would look terrible IMO
tack is offline   Reply With Quote
Old 02-23-2019, 10:28 AM   #357
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by daeavelwyn View Post
It's because, for example, on my laptop, I've a small screen and i'd like to reduce spaces between lines (bpadding and tpadding I guess), but can't figure in which file...)
BTW, you can also use ctrl-mousewheel when focused over the Reaticulate window to zoom the overall UI in or out.
tack is offline   Reply With Quote
Old 02-23-2019, 10:28 AM   #358
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 597
Default

@tack : cool ! Thanks for those indications.

BTW : github version doesn't seems to be the same as reapack one, which one I should work on ? (I guess github, but want to be sure ^^')
daeavelwyn is offline   Reply With Quote
Old 02-23-2019, 10:32 AM   #359
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,619
Default

Quote:
Originally Posted by daeavelwyn View Post
BTW : github version doesn't seems to be the same as reapack one, which one I should work on ? (I guess github, but want to be sure ^^')
Ah, sorry, yes, the GitHub links I provided refer to the current prerelease.

If you're using 0.2.0, then that code is here.

Be aware that prerelease is going to be promoted to a release soon so your tweaks might get overwritten.
tack is offline   Reply With Quote
Old 02-23-2019, 11:42 AM   #360
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 597
Default

I migrate to pre-release !

So ctrl+mousewheel doesn't seem to affect space between object, only object are scaled.

Actually, I got a good result tweaking values you mentioned, but can't reduce the gaps shown here :
https://imgur.com/a/yjeIwbK
daeavelwyn 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 04:39 AM.


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