Old 02-28-2021, 03:04 AM   #1
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,419
Default 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
mschnell is offline   Reply With Quote
Old 03-03-2021, 06:53 PM   #2
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 13,303
Default

Hmm can you post a minimal test project+jsfx to demonstrate this?
Justin is offline   Reply With Quote
Old 03-04-2021, 11:31 AM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,419
Default

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
mschnell is offline   Reply With Quote
Old 03-04-2021, 11:38 AM   #4
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 13,303
Default

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).
Justin is offline   Reply With Quote
Old 03-04-2021, 03:16 PM   #5
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,419
Default

Quote:
Originally Posted by Justin View Post
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
  >
>
mschnell is offline   Reply With Quote
Old 03-05-2021, 08:28 PM   #6
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 13,303
Default

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...
Justin is offline   Reply With Quote
Old 03-05-2021, 11:59 PM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,419
Default

Quote:
Originally Posted by Justin View Post
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.
mschnell is offline   Reply With Quote
Old 03-06-2021, 08:23 AM   #8
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 13,303
Default

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...
Justin is offline   Reply With Quote
Old 03-06-2021, 11:52 AM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,419
Default

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
mschnell 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:28 AM.


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