|
|
|
02-28-2021, 03:04 AM
|
#1
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
Not a bug but a featutre ?
But to let those know that might be affected.
seemingly since some version of Reaper's this has changed, and it broke my live setup, so that I needed to modify a JSFX of mine.
Topic: Midi Link (CC) to plugin parameter.
Former behavior:
When loading the project, the parameter was used as stored in the RPP file. It only was modified with the first Midi CC that was detected on the track.
Current behavior:
When loading the project, the Midi Link to the plugin parameter hits at once, even if no Midi CC had been received yet, overriding the default setting from the RPP file. In my tests the Value "assumed" for the CC status seems to be Zero.
Testing:
I have a JSFX that features a slider and sends out a CC when the slider is moved, but not when starting the project. This CC is acknowledged by a ReaEQ parameter. While the EQ was in default state after starting the project, now the parameter is forced to zero. I needed to modify the JSFX so that a CC is sent when starting the project.
-Michael
|
|
|
03-03-2021, 06:53 PM
|
#2
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Hmm can you post a minimal test project+jsfx to demonstrate this?
|
|
|
03-04-2021, 11:31 AM
|
#3
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
I found the issue in my huge live project. And it definitively changed some weeks ago.
I'll do a test in a new small project later this day.
What is the desired behavior ? Should a Midi Link only do anything when a Midi messages arrives, or should it already be "active" at Reaper start ?
(BTW did yout see the fork done with OSCIIBot ? Seems a very interesting issue, and an optimized version in the trunk might be appropriate. )
-Michael
|
|
|
03-04-2021, 11:38 AM
|
#4
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
IIRC midi link should only happen on incoming MIDI events, but perhaps there's something sending MIDI events (e.g. pitch-reset on playback start, etc).
|
|
|
03-04-2021, 03:16 PM
|
#5
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
Quote:
Originally Posted by Justin
IIRC midi link should only happen on incoming MIDI events, but perhaps there's something sending MIDI events (e.g. pitch-reset on playback start, etc).
|
This seemingly is not the case.
Test project below.
- The JSFX "Slider and Midi CC" (available in ReaPack) is deactivated and hence does not send Midi messages
- The ReaEQ Gain is set to 0 dB (corresponding to CC 64 with the default Midi Link)
If you start the project the gain is set to -inf (corresponding to CC 0 with the default Midi Link) nonetheless.
You can activate "Slider and Midi CC" and move the gain via the slider just fine (and see the midi messages in the ReaMidiControl Log).
Saving and then starting the project with the JSFX enabled results in the JSFX sending a message according to its saved state and hence correct gain.
-Michael
Code:
<REAPER_PROJECT 0.1 "6.24/win64" 1614895613
RIPPLE 0
GROUPOVERRIDE 0 0 0
AUTOXFADE 1
ENVATTACH 0
POOLEDENVATTACH 0
MIXERUIFLAGS 11 48
PEAKGAIN 1
FEEDBACK 0
PANLAW 1
PROJOFFS 0 0 0
MAXPROJLEN 0 600
GRID 3199 8 1 8 1 0 0 0
TIMEMODE 1 5 -1 30 0 0 -1
VIDEO_CONFIG 0 0 256
PANMODE 3
CURSOR 16
ZOOM 100 0 0
VZOOMEX 6 0
USE_REC_CFG 0
RECMODE 1
SMPTESYNC 0 30 100 40 1000 300 0 0 1 0 0
LOOP 0
LOOPGRAN 0 4
RECORD_PATH "" ""
<RECORD_CFG
>
<APPLYFX_CFG
>
RENDER_FILE ""
RENDER_PATTERN ""
RENDER_FMT 0 2 0
RENDER_1X 0
RENDER_RANGE 2 0 0 18 1000
RENDER_RESAMPLE 3 0 1
RENDER_ADDTOPROJ 0
RENDER_STEMS 0
RENDER_DITHER 0
TIMELOCKMODE 1
TEMPOENVLOCKMODE 1
ITEMMIX 0
DEFPITCHMODE 589824 0
TAKELANE 1
SAMPLERATE 44100 0 0
<RENDER_CFG
>
LOCK 1
<METRONOME 6 2
VOL 0.25 0.125
FREQ 800 1600 1
BEATLEN 4
SAMPLES "" ""
PATTERN 2863311530 2863311529
>
GLOBAL_AUTO -1
TEMPO 120 4 4
PLAYRATE 1 0 0.25 4
SELECTION 0 0
SELECTION2 0 0
MASTERAUTOMODE 0
MASTERTRACKHEIGHT 0 0
MASTERPEAKCOL 16576
MASTERMUTESOLO 0
MASTERTRACKVIEW 0 0.6667 0.5 0.5 0 0 0 0 0 0 -1 -1 0
MASTERHWOUT 0 0 1 0 0 0 0 -1
MASTER_NCH 2 2
MASTER_VOLUME 1 0 -1 -1 1
MASTER_FX 1
MASTER_SEL 0
<MASTERPLAYSPEEDENV
EGUID {BEED16A7-AC44-4E9C-BFCF-200620880016}
ACT 0 -1
VIS 0 1 1
LANEHEIGHT 0 0
ARM 0
DEFSHAPE 0 -1 -1
>
<TEMPOENVEX
EGUID {248CAE76-8E68-4BED-9C26-B2E7C62B7E3B}
ACT 0 -1
VIS 1 0 1
LANEHEIGHT 0 0
ARM 0
DEFSHAPE 1 -1 -1
>
<PROJBAY
>
<TRACK {A45E5071-EF65-40DE-B43B-B73AFEA052CC}
NAME ""
PEAKCOL 16576
BEAT -1
AUTOMODE 0
VOLPAN 1 0 -1 -1 1
MUTESOLO 0 0 0
IPHASE 0
PLAYOFFS 0 1
ISBUS 0 0
BUSCOMP 0 0 0 0 0
SHOWINMIX 1 0.6667 0.5 1 0.5 0 -1 0
FREEMODE 0
SEL 0
REC 0 0 0 0 0 0 0
VU 2
TRACKHEIGHT 0 0 0 0 0 0
INQ 0 0 0 0.5 100 0 0 100
NCHAN 2
FX 1
TRACKID {A45E5071-EF65-40DE-B43B-B73AFEA052CC}
PERF 0
MIDIOUT -1
MAINSEND 1 0
<FXCHAIN
WNDRECT 668 84 609 296
SHOW 1
LASTSEL 0
DOCKED 0
BYPASS 1 0 0
<JS "ReaTeam JSFX/MIDI/mschnell_MIDI Slider and MIDI CC.jsfx" ""
0.503937 64.000000 0.000000 0.000000 1.000000 0.000000 0.000000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
FLOATPOS 0 0 0 0
FXID {67994F65-B17D-405C-A9B7-33678DD7E0E9}
WAK 0 0
BYPASS 0 0 0
<VST "VST: ReaControlMIDI (Cockos)" reacontrolmidi.dll 0 "" 1919118692<56535472636D64726561636F6E74726F> ""
ZG1jcu5e7f4AAAAAAAAAAPAAAAABAAAAAAAQAA==
/////wAAAAAAAAAAAAAAAAkAAAAMAAAAAQAAAP8/AAAAIAAAACAAAAAAAAA/AAAAQzpcVXNlcnNcTWljaGFlbCBTY2huZWxsXEFwcERhdGFcUm9hbWluZ1xSRUFQRVJc
RGF0YVxHTS5yZWFiYW5rAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAATWFqb3IADQAAADEw
MjAzNDA1MDYwNwABAAAAAAAAAAAAAAAACgAAAA0AAAABAAAAAAAAAAAAAAAAAAAA
AAAQAAAA
>
FLOAT 1167 74 676 616
FXID {571E495B-E400-41BC-BA63-5E69F96B58B0}
WAK 0 0
BYPASS 0 0 0
<VST "VST: ReaEQ (Cockos)" reaeq.dll 0 "" 1919247729<56535472656571726561657100000000> ""
cWVlcu5e7f4CAAAAAQAAAAAAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAAAAAAARQAAAAEAAAAAABAA
IQAAAAEAAAABAAAAAQAAACBqU7qJPZRAAAAAgMFg8D8AAAAAAAAAQAEBAAAAAQAAAAAAAAAAAPA/AAAAAA8CAABhAQAA
AAAQAAAA
>
FLOAT 611 492 543 419
FXID {BF78840F-F3B0-40B6-AB2C-529C042BC96B}
<PROGRAMENV 1 0
PARAMBASE 0
LFO 0
LFOWT 1 1
AUDIOCTL 0
AUDIOCTLWT 1 1
PLINK 1 -100 -1 0
MIDIPLINK 0 0 176 1
MODWND 0 784 456 1132 634
>
WAK 0 0
>
>
<EXTENSIONS
>
>
|
|
|
03-05-2021, 08:28 PM
|
#6
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Ah thanks, I see. Yeah, that's the way it has always worked. Perhaps it would be useful as an option, to only change the state when a CC comes in...
|
|
|
03-05-2021, 11:59 PM
|
#7
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
Quote:
Originally Posted by Justin
Ah thanks, I see. Yeah, that's the way it has always worked.
|
Funny. I needed to add some code in a JSFX in my setup to make this work (i. e. use the state saved in the project file on project start) again. Unfortunately I don't remember when exactly this stopped working, but I am sure that it did work fine when I created this setup some years ago, otherwise I would not have been starting using it.
-Michael
Last edited by mschnell; 03-06-2021 at 01:05 AM.
|
|
|
03-06-2021, 08:23 AM
|
#8
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
MIDI CC link was added in 5.11, I tested that version and it behaves the same... It’s possible that there’s some version in between where that changed, I guess, but i haven’t found it.
Learn of course has the other behavior... the CC link is designed to be used with midi items etc, which chase and thus provide a way of automating via MIDI...
|
|
|
03-06-2021, 11:52 AM
|
#9
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
In a live setup - always in stop mode - chasing is obviously not done. Of course I should have been more careful and send the CC after start up. Thanks for listening....
-Michael
|
|
|
06-17-2022, 12:14 PM
|
#10
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Justin
Ah thanks, I see. Yeah, that's the way it has always worked. Perhaps it would be useful as an option, to only change the state when a CC comes in...
|
Hi Justin, really hope you see this.
If there's still a way you could create this option as it would be an absolute life saver and very useful in certain situations.
I've just now painfully found out after 4 heavy days of setting up 32 orchestral vsts (for a big orchestra job I've got coming up) about the chase issue above first hand.
I was trying to set up these VSTs so that all their internal parameters are linked to midi using the "link from midi or fx parameter" (as they only have automation as an option and no internal CCs assignable). I then wanted to use this set up to send midi to control them all at once but only for the record enabled tracks so I can control what is being "set up" (which is also why I can't just use the "learn" function either plus, I want to be able to see this stuff in midi items too).
I was totally devastated to find though, that upon loading the project again, all of the midi assigned parameters were forced to 0 meaning that the only method to do this that I know of was not working and I couldn't work out an easy way to fix this till I found this post.
Some kind of option to not chase CCs either as a global, project or on the parameter modulation panel would be insanely useful right now to not making this project very painful and to help others in the same situation later down the road.
Being able to give midi CC control to any vst parameter that is normally not controllable via midi is super powerful but it would be great if the CCs can not chase after loading the project or arming a track.
Thanks!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
Last edited by musicbynumbers; 06-18-2022 at 11:55 AM.
|
|
|
06-22-2022, 06:01 AM
|
#11
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
I might have found a slightly "janky" way around this for now but not had time to code it yet. If I put a slider JSFX before each instrument and make it so it can both receive and send midi (but not via parameter linking) then it can act as the default values for the SWAM instruments that after it when those chase when the song is played or track is armed.
Not tried this yet though so fingers crossed.
I have to say though. I'm not sure why it's useful to have the CCs chased back to zero if they haven't received any input yet. Wouldn't leaving them at their last state be just as useful?
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
06-22-2022, 03:39 PM
|
#12
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Let me look into this again.
|
|
|
06-22-2022, 03:50 PM
|
#13
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Justin
Let me look into this again.
|
Thank you thank you!
My heart literally lifted up a bit with the hope of hearing this!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
06-22-2022, 04:04 PM
|
#14
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Sorry for having put it off so long, there was actually a (hopefully) trivial fix, coming in tomorrow's build.
|
|
|
06-22-2022, 04:53 PM
|
#15
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Justin
Sorry for having put it off so long, there was actually a (hopefully) trivial fix, coming in tomorrow's build.
|
No need to apologise as never expect anything from you but always pleasantly surprised when we do!
Look forward to testing it!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
06-24-2022, 09:20 AM
|
#16
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
It’s in the latest +dev builds, would like to hear if this addresses your issue!
|
|
|
06-24-2022, 11:02 AM
|
#17
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Justin
It’s in the latest +dev builds, would like to hear if this addresses your issue!
|
Hi Justin,
I did reply in the dev build thread but easy to miss. Posting the findings below for reference. Not completely fixed but a good start!
Quote:
Originally Posted by musicbynumbers
+ FX: improve parameter link behavior (midi CC and loading project, or linking with invalid parameters) [t=250096]
Only just had a chance to test this
Upon setting the settings and then saving (closing reaper) and reloading reaper and the project..
It now seems to hold the value when you arm the track (which I recall as not happening before)
It resets to 0 still upon pressing play (record armed or not).
If I open up a parameter modulation window I can see that the value (on the green line) is 0 which makes sense why it resets.
Hopefully there's a way to get it to recall it there too or to not send if no change is happening?
This is with an old project though. Does it only work on newly setup ones?
Thanks though for getting stuck into tweaking this!
EDIT
Just tried a new project too and same results
.
|
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
06-25-2022, 12:36 PM
|
#18
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Ah cool, I replied in that thread
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 04:17 PM.
|