Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER for Live Use

Reply
 
Thread Tools Display Modes
Old 01-13-2022, 03:16 PM   #1
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default 'Fade Mute' Action?

Hi. Is it feasible to create an Action or even a JS effect that does "Track Fade to Mute?" The idea has been in many posts, but the closest I've seen is Midi Fade X. Not what I seek- I want to fade out a track over a user definable time (ie 2 sec) then mute that track, triggered by a Midi CC send (ie foot pedal).

I've read and re-read most or all the posts on live Reaper use, SWS, Live Configs, ReaLive, Pipeline, etc. I have used Live Configs and Snapshots for gigs. I HOPED to use Snapshots to switch my live instrument Sends to various effects tracks (not mutes). It works, leaves the tails, does use more CPU... but now with my full project built (4 vocal mics, 2 guitars, soft synth, Sampler), there is a ~0.25s delay and an audible pop when I switch Sends via Snapshots. In my smaller project files using Snapshots to mute tracks I never felt a delay, and no pops. But in the full project, its unusable. SO a Fade Mute function would be super- used in Snapshots or Live Configs or directly as an Action.

Is this possible? I can't find any 'decrease volume over time' action, and I'm not smart enough to see how to convert a midi controller-driven script to time-based. And I know others are that smart, but I haven't seen anyone do it...

Thanks,
Dave
DaveInIndy is offline   Reply With Quote
Old 01-14-2022, 12:00 PM   #2
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default Cycle Actions will work

I don't truly need a face mute. If I can get changing or muting Sends/Receives to work, I just need custom actions to trigger from Live Configs that select tracks I want to fade, mute their receives, wait 2 or 3 seconds then mute the tracks. And of course unmuting receives/tracks that I am switching TO for their effects to play. Just discovered Cycle Actions and... oh my!!! LOVE!!!
I switch 4 mic channels and 2 guitar channels every time I hit a floor pedal. Songs have different combinations of FX plugins on each track, but I only need 3 unique combinations of FX for any song. So all my tracks are named xx_FX1, _FX2, or _FX3. IE the electric guitar folder has an input track, some FX, then sends to three daughter tracks EGit_FX1, EGit_FX2, EGit_FX3. Same with all the other sources. So in Cycle Actions:
1. s *FX1* tracks
2. SWS unmute tracks
3. SWS unmute tracks receives
4. s *FX2*,*FX3* tracks
5. SWS mute receives
6. SWS wait 3 sec
7. SWS mute tracks

I need to verify this works with no pops or clicks. Hoping so. Other ideas??

Dave
DaveInIndy is offline   Reply With Quote
Old 01-14-2022, 11:15 PM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

If I understand correctly, Midi Fade X is done exactly for that purpose. Create a Fade out and when done send out a Midi event that can be used to mute the track (e.g. via MidiToReaControlPath).

This has been tested by "Pipeline" and he has been able to do a Guitar Effect engine switching with appropriate "tails"

Of course it needs a decent work to set up such a project.

As same is available and very sophisticated now, it might be a godd idea to take a decent look at ReaLean to create such infrastructure. This might be able to avoid using several more specific plugins (including MidiToReaControlPath).

Let me know if you have specific questions or requests.

-Michael
mschnell is offline   Reply With Quote
Old 01-15-2022, 02:34 PM   #4
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default Wait in Cycle Actions

Michael- Thx, yes, I imagine there are better approaches. I'm happy with the performance I get when I mute/unmute sends between FX tracks 1, 2 and 3, but only when the first receiving track is allowed to tail out while the new receiving track is unmuted.

My Cycle Action works... except "SWS: Wait" lines aren't counted in sequence. Other posts tell me that C.A. steps are all processed in parallel, not in series, other than logic loops. Not sure I understand.

I attempted to use Midi Fade X last week, but couldn't see how. The example files aren't on Positive Grid's Dropbox. I need an A-Ha moment... again. I haven't had much trouble working with Midi PC, CC or Notes, Control or Track level so I've not switched to ReaLearn. I'm also only using pedalboards. Can it directly create a fade in some way?

You are such a dedicated supporter of the Reaper community, for many years now. I'm only 1.5yr in, trying to learn fast. Thank you!

Dave
DaveInIndy is offline   Reply With Quote
Old 01-15-2022, 11:20 PM   #5
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

I did not yet try ReaLearn with Midi Fade X, but this seems to be your best option.

I thinks you at best set up an new project and check out this combination, and come with specific questions...

-Michael
mschnell is offline   Reply With Quote
Old 01-17-2022, 07:36 PM   #6
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default Midi Fade X

I couldn't get my Custom Actions approach to work without pops and gaps. So I've managed to get the basics of Midi Fade X working. These posts helped a lot. https://forum.cockos.com/showthread....ht=fade&page=4

My simple test has a pedal sending a Midi CC value of 127 to fade in and 0 to fade out. Sending a mute cc works too. It was not apparent to me until today that Midi Fade X is using CC values, not just CCs. LiveConfigs is the only other place I've seen that in Reaper. Midi Fade X is very cool, thanks Michael!

Now I need to consider my workflow. I can do all the individual things I want without using LiveConfigs...routing sends, sending Midi CCs, etc. Maybe LC is still the most simple framework. Got to think about it. My use is similar to Pipeline's back in '18 but more complicated as I'm also switch FX on 4 mics. I may have some more questions shortly.

I do still wonder why there isn't a native or SWS Fade Volume action. Clearly it is complicated, as Michael said in the link above.

Dave
DaveInIndy is offline   Reply With Quote
Old 01-17-2022, 11:26 PM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Midi Fade X is part of a JSFX solution to replace SWS Life Config in certain cases.



I have started to do a VST as a more versatile and more easy for configuring complex projects upgrade to LiveConfigs. But that a decently huge endeavor.
-Michael
mschnell is offline   Reply With Quote
Old 01-18-2022, 03:57 PM   #8
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
Midi Fade X is part of a JSFX solution to replace SWS Life Config in certain cases.



I have started to do a VST as a more versatile and more easy for configuring complex projects upgrade to LiveConfigs. But that a decently huge endeavor.
-Michael
LiveConfigs does some really cool things, but it lacks some key features. The ability to handle tails is a big one.

Question: In my test rig, at startup of the Project, Midi Fade X needs to receive a CC Value 0 THEN a CC Value 127 before it passes any volume on the track. The left hand meter moves but the right hand does not until I've send a 0 and then a 127 (or anything >0). Then the right meter moves and audio can be heard. Is that correct functionality?

I wish Pipeline has some of his test .rpp files still available. I think I'm missing something important in his setup...
In my workflow I will need ways to send CC values, especially because the 'new' FX track will always be muted (to save CPU) until I push a midi pedal. So Midi Fade X won't see any values from that pedal or anything else until my actions unmute the track. Is there a simple way to send CC Values from Custom Actions (Console, SWS, etc.)? Not immediately apparent to me. **Note: I am just operating Midi in the Control space, not using Midi for anything else at the moment.

Thx,
Dave
DaveInIndy is offline   Reply With Quote
Old 01-19-2022, 11:08 AM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

I don't see why the volume should not follow a received Midi value right away. You might want to place a ReaMidiControl before Fade X to see what exactly it is sent.

I'm not sure what problem exactly you face, But I do remember a delay that was necessary when I crafted the JSFX tools for Pipeline's project.

That is why Reapack -> Midi CC Table allows for some direct and some delayed Midi CC sends when patch changing.

-Michael

Last edited by mschnell; 01-19-2022 at 11:17 AM.
mschnell is offline   Reply With Quote
Old 01-19-2022, 09:43 PM   #10
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
I don't see why the volume should not follow a received Midi value right away. You might want to place a ReaMidiControl before Fade X to see what exactly it is sent.
I have multiple logger plugins around to monitor, and I'm using Converter to send specific CC/Values triggered from a single pedal. I do this to learn and test behavior. So the CC/Values are verified immediately before Midi Fade X.

Quote:
Originally Posted by mschnell View Post
I'm not sure what problem exactly you face, But I do remember a delay that was necessary when I crafted the JSFX tools for Pipeline's project.
In the 2018 development thread I recall Pipeline mentioning a need to run a script at Project launch to 'trigger all the pedals' or something like that. Not sure about a delay, but maybe there was some sort of state setting needed.

Thx,
Dave
DaveInIndy is offline   Reply With Quote
Old 01-19-2022, 11:24 PM   #11
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

So please re-check.
I am rather sure that Midi Fade X (if you use mine) will not ignore CC messages that direct it to a new volume value.

Watch the graphics it provides.

-Michael

Last edited by mschnell; 01-19-2022 at 11:30 PM.
mschnell is offline   Reply With Quote
Old 01-20-2022, 12:37 PM   #12
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
So please re-check.
I am rather sure that Midi Fade X (if you use mine) will not ignore CC messages that direct it to a new volume value.

Watch the graphics it provides.

-Michael
One less common aspect of my setup, in case it matters- I don't use the Master at all: every line in goes to a dedicated hardware output.

I'll strip my Project down to the bare essence and retry. I'm getting Midi Fade X from ReaPack. I'll test these in order- anything else I should test?
1. Single track: Guitar input, Midi Fade X, no other plugins and no Midi. Set Fade X to CC22, disable the Mute send. Does any audio pass through? [Should it?]

2. Add and arm a Midi channel, set my 3 pedals on my FCB1010 to send CC22 values 0, 80 and 127 on the Control Path. Ensure no Actions are mapped to CC22. Send that to the guitar track. Add Midi Logger above Fade X. Leave Fade X Mute on none. Record what happens to audio with each pedal and in sequences if that matters. [Should see 1:1 correlation of Fade X curve to Midi value?]

If I have the same sequential behavior...

3. Convert the Control Path Midi to track Midi, test above again.

Thx, Dave
DaveInIndy is offline   Reply With Quote
Old 01-20-2022, 02:16 PM   #13
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default Test Results

Micheal (et. Al.)- I ran these tests with the ReaPack version 2.1 of Midi Fade X.

This zipped PDF shows the tests and results along the way.

In every case for me, Midi Fade X must receive a CC Value 0 before it will pass audio. Is this odd or planned behavior?

Thx, Dave
Attached Files
File Type: zip Midi Fade X Testing.zip (693.7 KB, 191 views)
DaveInIndy is offline   Reply With Quote
Old 01-20-2022, 02:55 PM   #14
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by DaveInIndy View Post
In every case for me, Midi Fade X must receive a CC Value 0 before it will pass audio. Is this odd or planned behavior?
This definitively is odd.

In fact the effect of Midi Fade X on the audio should be exactly what the horizontal line in the graphics suggests.

Is this what you see/hear ?


Edit:
I did a test and found that this seems to be a bug.
I'm going to fix this ASAP....

-Michael

Last edited by mschnell; 01-20-2022 at 03:08 PM.
mschnell is offline   Reply With Quote
Old 01-21-2022, 03:36 AM   #15
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

This state is entered whan Reaper looses the focus and regains it.

Funny: this happens only with a more recent version of Reaper's.

And it does not happen, when transport once has been started after firing Reaper. Even if transport has been stopped again.

Supposedly that is why the bug was not found when the plugin was created.
-Michael

Last edited by mschnell; 01-21-2022 at 04:17 AM.
mschnell is offline   Reply With Quote
Old 01-21-2022, 03:17 PM   #16
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Workaround:
insert this line

outlevel < f1 ? outlevel = f1;

right above the

@block

line.

Have fun !
-Michael
mschnell is offline   Reply With Quote
Old 01-21-2022, 03:30 PM   #17
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Workaround:
insert this line

outlevel < f1 ? outlevel = f1;

right above the

@block

line.

Have fun,
-Michael
mschnell is offline   Reply With Quote
Old 01-21-2022, 09:56 PM   #18
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
Workaround:
insert this line

outlevel < f1 ? outlevel = f1;

right above the

@block

line.

Have fun,
-Michael
Thanks once again! I and many others so appreciate your dedication and time in keeping things like this working and so useful! Indeed I now get the expected behavior with each CC sent out, from the start. Yay!! I noted this change in the Desc section of my local copy too. This rocks!

And I just noted that even when a track is muted, Midi Fade X still receives CCs sent on the control path- that is VERY good news for my setup too. I think I'm finally ready to get back to the musical end of my live template setup.

Dave
DaveInIndy is offline   Reply With Quote
Old 01-21-2022, 11:28 PM   #19
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Great ! I am happy that it works for you.

Quote:
Originally Posted by DaveInIndy View Post
And I just noted that even when a track is muted, Midi Fade X still receives CCs sent on the control path-
????
A (JSFX) Plugin does not receive anything from the control path.

And a plugin does not receive anything if it sits on a muted track (if stalling muted tracks is activated in the setup).

Something else needs to happily be ngoing on in your setup.

-Michael
mschnell is offline   Reply With Quote
Old 01-22-2022, 03:30 AM   #20
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by DaveInIndy View Post
In my workflow I will need ways to send CC values, especially because the 'new' FX track will always be muted (to save CPU) until I push a midi pedal. So Midi Fade X won't see any values from that pedal or anything else until my actions unmute the track. Is there a simple way to send CC Values from Custom Actions (Console, SWS, etc.)?
Midi CC table is done exactly fir that purpose. (including the necessary delay for unmuting the track and then sending the CC to Fade X).

Did you try it ?

-Michael

Last edited by mschnell; 01-22-2022 at 11:19 PM.
mschnell is offline   Reply With Quote
Old 01-22-2022, 07:13 AM   #21
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
Midi CC table is done exactly fir that purpose. (including the necessary delay for unuting the track and then sending the CC to Fade X).

Did you try it ?

-Michael
It is my understanding too- plugins on muted tracks cannot receive midi controls. Midi CC Table would only work if placed on the Midi input track, and that was my next plan (if I couldn't do it with Custom Actions).
Just on a whim last night, I muted that simple test track with Midi Fade X and Logger on it, and Midi Fade X still reacted to my pedal CCs. I'll test more today and see what's up. Maybe CCs are still received if the track is selected, or if the FX window is open? Maybe the Focus tweak does this? Maybe I dreamt it? Back shortly with more data!

Dave
DaveInIndy is offline   Reply With Quote
Old 01-22-2022, 04:32 PM   #22
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by DaveInIndy View Post
It is my understanding too- plugins on muted tracks cannot receive midi controls. ...Back shortly with more data!

Dave
Would you like some CRAZY added to your weekend? I'm sure you will enjoy this. First testing is for the patch on Midi Fade X. Then I test the midi function on a muted track... Attached the 20Jan2022 Reaper test file. Also I am sending Midi to a track with my FCB1010, then sending that to the guitar track.

A. NO TRACKS MUTED- deeper testing the patch to Midi Fade X:
1. Opened the simple project from 20Jan (one guitar track, one midi track, Midi Logger and Midi Fade X the only plugins). This is what I tested after patching Midi Fade X and reported in my last post.

2. As it always has for me on opening, Midi Fade X shows CC=0 and Vol=0 (yellow crosshair is in the bottom left corner). I hear no audio out until I bypass Midi Fade X.

3. I send CC22 Val 127 via my pedal with Midi Fade X window open, and indeed, Midi Fade X shows the CC 127 as the vertical yellow bar moved all the way to the right, but the horizontal bar for audio remains at the bottom (ie Vol=0/CC=127). There was no guitar audio coming out.
a. NOTE: In my first test of the patch, I didn't test for actual audio output. I just saw that the CC value was working as the vertical yellow bar moved L/R. Unlike before the patch, Midi Fade X responded to any CC value immediately.
b. Also like before, to get audio immediately on a send of CC>0, I first have to send Val 0. This is the same net behavior as before the patch.

SUMMARY 1- Although Midi Fade X receives and displays any CC value no matter what order the sends are made, no audio is passed until a CC Val 0 and then Val >0 is sent.*** This is the same as it worked before the patch.

***Ready for the weird stuff?

4. So I reopened Reaper and this file, opened the FX window, sent CC2 Val 127, and repeated what I shared above- Midi Fade X responds but no volume out. I bypassed Midi Fade X and heard the guitar, then re-enabled it, nothing. I launched Chrome and this web site, and out of nowhere, I hear my guitar start playing…. it was the strings ringing from my test before I launched Chrome. Yes, Reaper is open and in the background, untouched, no pedals hit, and it began passing audio!?? Can I duplicate this? Is there just some sort of long delay before Midi Fade X passes the audio?

5. Closed Reaper, reopened it and this project. Opened the FX window, played guitar for 60sec with no audio being passed. Click back to Chrome to this post, and still no audio after playing 60 seconds. Cool, Midi Fade X was at CC=0 so it SHOULD be like this.

6. Tried a few variations with CC sends, tracks activated or not, disabling and re-enabling Midi Fade X, no guitar sound is passed.

7. Close Chrome, close Reaper. Relaunch Reaper, this project, open FX, play 30sec, nothing. Send CC Val 127, play, no audio… until after 10 seconds I hear my guitar. ??

8. Repeat this exactly. Same result, this time 7 seconds after the CC send, I hear guitar. Midi Fade X display shows Vol=max too, ie yellow crosshairs are in the top right.

9. Repeated again. 10 seconds, there it is again.

10. Repeat this without opening the FX window… nearly 8 seconds, I hear the audio.

11. Reset Fade X to factory default (confirm that's what I was using other than CC=22). Set CC to 22, save the file. Close Reaper, open the file, send CC Val 127...Get audio after 5.6 seconds.

TEST A SUMMARY: There is some sort of a delay occurring after Midi Fade X receives the CC value 127 and before it sets audio out to max. A Fade In, of sorts. It varies between 5.5 and 10 seconds with no changes to the file or FX settings.


B. MIDI FADE X WHEN TRACK IS MUTED- more weirdness
1. Opened the file from 20Jan.

2. Opened the FX window and watched Midi Logger on screen.

3. Send CC22 Value 127 via pedal while the track is unmuted, and it confirms the CC. Midi Fade X also receives the CC, and about 6sec later, audio is passed too.

4. Closed Reaper, reopened same project and the FX window. Displaying the Logger.

5. Send CC22 Value 127 via pedal while the TRACK IS MUTED. Logger confirms the CC is seen. Midi Fade X also receives the CC 127. A bit later, I unmuted the track, and I can hear the guitar.

SUMMARY: Control path Midi is being received by two FX on a track while it is muted, and Midi Fade FX is operating on that midi value while the track is muted.

Thoughts?
Dave
Attached Files
File Type: rpp MidiFadeX_20Jan2022.rpp (246.3 KB, 169 views)

Last edited by DaveInIndy; 01-22-2022 at 06:36 PM. Reason: attached rpp file
DaveInIndy is offline   Reply With Quote
Old 01-22-2022, 11:29 PM   #23
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Did you check "control" in the Midi device settings for the Pedal Board ?

This in fact will send CCs message originated stuff via the control path.

You should not do that when trying to create a sophisticated setup, as a lot of weird stuff might happen.

You should enable a track to receive the messages from the board and use plugins and Midi routing to set up the system in a consistent way. This track never is muted.

You can see those messages with a logger at all places necessary. Use the control path only to drive the Mute. E.g. by converting the output of FadeX to a Control Path Message to drive the the ReaPack -> Mute or Unmute Track X script. (Unmute e.g. by converting the output of CC Table.) I did the converting by MidiToReaControlPath, but I suppose ReaLearn will do this (and more) as well.

My suggestion is to use the control Path only for as few as possible very dedicated purpose and for complex stuff stay in the realm of standard Midi messages. This is because there is no dedicated routing with the control path. Everything is global and hence rather hard to keep under control.

-Michael

Last edited by mschnell; 01-22-2022 at 11:57 PM.
mschnell is offline   Reply With Quote
Old 01-23-2022, 02:26 AM   #24
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

I tested that if you check "do not process muted tracks" in the configuration to save CPU time, FadeFX does not react to Midi messages routed to it.



A plugin has no access to the Reaper Control Path at all (only very special VSTs like MidiToReaCpntrolPath or ReaLearn can be crafted to do this). Hence Fade X can't react on such messages. In Reaper's plugin environment you can "learn" Reaper Control Path Messages to modify plugin parameters. but even this will not cause any fading activity in Fade X.
-Michael
mschnell is offline   Reply With Quote
Old 01-23-2022, 02:39 AM   #25
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

If I remember correctly the setup I suggested to Pipeline was like this:
  • The Foot controller has no dedicated programming but only sends a single CC with different values according to the button hit.
  • This device is activated for input to a single track. ("Control" in the device not checked)
  • This track is never muted and holds the Midi Table JSFX and MidiToReaControl Path.
    • The table is done so that
      • with any patch switch first a CC message is sent that unmutes the target track via MidiToReaControlPath and the Mute_or_Unmute script,
      • and then sends out one or more CC or Program change messages to that track via the accordingly set Midi Routing configuration, so that the effects there might be modified
      • moreover when changing away from a patch, a CC message is sent to Fade X on that track to have it fade out
  • Several tracks hold the effect plugins and at the end first Fade X and then MidiToReaControlPath
    • The "stop" message from Fade X is used to mute the track via MidiToReaControlPath and the Mute_or_Unmute script
Hope that helps,
-Michael
mschnell is offline   Reply With Quote
Old 01-23-2022, 03:47 AM   #26
Yorky
Human being with feelings
 
Join Date: Feb 2009
Posts: 90
Default Watching from the sidelines...

Hi guys, this is a really interesting thread for me as I have similar goals to Dave.

Re Dave's **really weird** bit - often I find switching between Reaper and a browser I do experience audio issues which I believe is down the ASIO driver [W10 in my case] passing the audio path at system level? I maybe completely incorrect of course.

I also echo Michael's comments regarding the keeping it simple in the test rig to try to eliminate other gremlins taking your focus.

In my case [guitar player], I'm using the FCB1010 or the Midi Moose [Tech 21] for my floor controller needs. I've gone the CSI route so far, as I like the ability to fire off Reaper actions from the floor switches as well as using other controllers [e.g. X Touch One] for the twiddlers. However, I'm going to try to get into Realearn to see if I can achieve goals quicker etc.

I'm still hacking around though trying to find the optimum solution hence the interest in this thread.

Cheers
Yorky is offline   Reply With Quote
Old 01-23-2022, 08:45 AM   #27
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

I understand that using any of LiveConfigs, ReaLearn and CSI allow for doing patch switching with Guitar effects or (for keyboards) VSTis.

But none of those allows for the "tail" or "spill over" that might be very desirable with live playing. That is why I did Fade X for Pipeline in 2018.

The VST I am planning supposedly will remote-control the routing volume or the main volume to eliminate Fade X from live patch projects and of course will not need MidiToReaControlPath, as such functionality will be built-in. This of course will make setting up such projects a lot easier.

I did a proof of concept that the parts work decently together (VST3 creation, JUCE library with a kind of spreadsheet as the main GUI page, receiving and sending Midi, remote-controlling Reaper via the Reaper API, ...)

Right now I am rather busy with a lot of other stuff. But if somebody likes to cooperate I might be willing to revive that project.

-Michael

Last edited by mschnell; 01-23-2022 at 08:52 AM.
mschnell is offline   Reply With Quote
Old 01-23-2022, 06:37 PM   #28
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by Yorky View Post
Re Dave's **really weird** bit - often I find switching between Reaper and a browser I do experience audio issues...
Good to know. To be clear, I see the weird Vol delay in Midi Fade X when staying in Reaper with no other apps open.

I am so close! The tails are great, switching is silent and on time. Just a few things to work out. Reaper rocks!

Dave
DaveInIndy is offline   Reply With Quote
Old 01-23-2022, 06:39 PM   #29
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Michael, do you NOT see the delay of Volume reaction following the CC receipt in Fade X (my Test A)? Or is that still an issue? It is not related to any other app and happens every time, though the actual delay time fluctuates. Seems it should not be related to Control path as Midi Fade X receives the CC value immediately. I can test other aspects as needed, let me know.

I will uncheck the device Control path option and check these behaviors again, both the Midi Fade X 'Cc vs Vol' behavior and track muting. But as it stands now, we conclude that VSTs respond to Control Path midi regardless of track state.

One reason I use Control path is that I am simultaneously switching FX for 6 busses- electric guitar, acoustic, and 4 mics. Control path by default reaches all tracks at once. Midi Table could do this but with lots of detailed steps. That may be required.

My goal is to standardize midi and pedal design across all 50+ Projects (songs), such that pressing pedal 1 always activates tracks *_FX1 (6 of them), pedal 2 all tracks *_FX2, pedal 3 all *_FX3. And the associated mutes, sends, fades. I suppose it could be an advantage to visually see all these elements at once in Midi Table.

I've got to get this rig functioning so my band can rehearse again. After that, I'd be up for helping test promising new tools!

Back after testing Monday. Thx Michael.

Dave
DaveInIndy is offline   Reply With Quote
Old 01-23-2022, 11:39 PM   #30
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by DaveInIndy View Post
Michael, do you NOT see the delay of Volume reaction following the CC receipt in Fade X (my Test A)? Or is that still an issue? It is not related to any other app and happens every time, though the actual delay time fluctuates. Seems it should not be related to Control path as Midi Fade X receives the CC value immediately.
Guessing: The Midi messages arrives at the input of the plugin (in realtime as this is in the realm of the tracks) but the track is muted and the plugin stalled. At some later time (not realtime as in the realm of the Reaper Control) the track is unmuted and the plugin starts processing the Midi message.

Quote:
Originally Posted by DaveInIndy View Post
we conclude that VSTs respond to Control Path midi regardless of track state.
Sorry but this definitive is wrong (with the said save CPU setting in the Reaper configuration). And VSTs don't see the Control Path at all, anyway.
Some kind of misconception here...

Quote:
Originally Posted by DaveInIndy View Post
One reason I use Control path is that I am simultaneously switching
You need to use the Control Path, as this is the only way to trigger an action that would mute/unmute a track. But to do that in combination with Track-Midi in a controlled way you should use MidiToReaControlPath or ReaLearn to generate Control Path messages from preprocessed Track Midi Messages, not "implicitly" send those directly from the driver.
Quote:
Originally Posted by DaveInIndy View Post
My goal is to standardize midi and pedal design across all 50+ Projects (songs),
IMHO here it would make sense to do a separate "patch change" project and hold same in a second Tab so that you completely independently can manage the "Song" projects. In Reaper, Audio can be routed between Tabs by means of a hidden feature of ReaRoute's.

-Michael

Last edited by mschnell; 01-24-2022 at 12:02 PM.
mschnell is offline   Reply With Quote
Old 01-28-2022, 06:15 AM   #31
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

@Dave: did you succeed in setting this up?

-Michael
mschnell is offline   Reply With Quote
Old 01-28-2022, 11:02 AM   #32
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
@Dave: did you succeed in setting this up?

-Michael
Sorry Michael, life has been in the way and I'm just coming back to this. I had written a lengthy reply via my phone which I managed to lose. Womp. To that end, the important thing to note- The behavior I shared in Part A of my last test, where the Midi Fade X Vol out was ~randomly delayed 5-10 seconds from Midi Fade X showing receipt of the CC Value... that was all happening with no track muting involved. Ever seen that before? It was happening in the rpp file I attached. I'll test again without using the Control Path...

But first I am learning Midi CC Table. I'll need that, as you suggested. Two quick questions-
1. I know I set the input 'trigger' Midi channel and CC I set in the sliders, then each value on the Ch:CC triggers a different row in my .txt file. In each row, is the first Definition the trigger, IE 1:22=0 where 0 triggers that line, or is it by default that the row triggers begin at value 0 for row 1 and increase sequentially from there?

2. Also in the .txt file, I want to verify that comments via the "/" character can only come after all the Definitions in the row, correct?

Thanks,
Dave
DaveInIndy is offline   Reply With Quote
Old 01-28-2022, 11:14 AM   #33
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
@Dave: did you succeed in setting this up?

-Michael
One general question too- am I going to be better off staying nearly exclusively in track level midi vs using both that and Control Path in parallel?

IE should I handle track send mutes from Midi CC Table, or is it still reliable to have Midi CC Table send a value out, send that to Control, and have Custom Actions run to do things like this? I'm comfortable with the latter, need to learn how to do the former.

Thx,
Dave
DaveInIndy is offline   Reply With Quote
Old 01-29-2022, 06:22 AM   #34
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by DaveInIndy View Post
1. I know I set the input 'trigger' Midi channel and CC I set in the sliders, then each value on the Ch:CC triggers a different row in my .txt file. In each row, is the first Definition the trigger, IE 1:22=0 where 0 triggers that line, or is it by default that the row triggers begin at value 0 for row 1 and increase sequentially from there?
Is the description in ReaPack not clear enough ?

AFAIR, the first line is triggered by CC value 0, the second by CC value 1 etc.

If a trigger is found, the "columns" in that line are sent out sequentially up to the "<" character. There is no delay for the "channel set by the "no delay" slider. All other send channels are sent after the delay set by the appropriate slider.

1:22=0 in the first row means that if CC value 0 is detected a CC messages with channel 1, CC# 22 value 0 is to be sent. If the same text is in row 2 the same massage will be sent if a CC value 1 is received.



Quote:
Originally Posted by DaveInIndy View Post
2. Also in the .txt file, I want to verify that comments via the "/" character can only come after all the Definitions in the row, correct?
Yep. We only have line-end comments (after all the Definitions in the row), no comment blocks of any kind.

-Michael

Last edited by mschnell; 01-30-2022 at 02:11 AM.
mschnell is offline   Reply With Quote
Old 01-29-2022, 06:34 AM   #35
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by DaveInIndy View Post
One general question too- am I going to be better off staying nearly exclusively in track level midi vs using both that and Control Path in parallel?
My belief regarding live "instrument" projects is to use the control path as little as possible, as same is not specified for realtime. And parallel functionalities or feeding the control path from multiple unrelated sources easily can get rather confusing.


Quote:
Originally Posted by DaveInIndy View Post
IE should I handle track send mutes from Midi CC Table, or is it still reliable to have Midi CC Table send a value out, send that to Control, and have Custom Actions run to do things like this? I'm comfortable with the latter, need to learn how to do the former.
AFAIR, the idea is to do the muting by Fader X (herewith disabling itself) and do the umuting directly from CC Table. (Both via MidiToReaControlPath and the Mute_or_Unmute script).

As said my recommendation (original to Pipipeline) was to use just the Mute_or_Unmute script and access same (i.e. as directly as possible by "MidiToReacontrolPath".

He needed to make use of Non-Midi communication with his plugins additionally, as certain parameters of those, that he wanted to modify by "CC Table" definitions, were not internally mapped to Midi CCs by them. Here my recommendation was/is to use Reaper's "Parameter Modulation / Midi Link" feature (and not the control Path driven "Learn" !! ) to achieve this.

(Of course you can do your own scripts that likely would do a lot more than the Mute_or_Unmute script. But I suppose it would be hard for me to support you on issues with same. Hence I recommend starting with just the extremely simple Mute_or_Unmute script and enhance same if the basics do work reliably.)

-Michael

Last edited by mschnell; 01-30-2022 at 02:20 AM.
mschnell is offline   Reply With Quote
Old 01-31-2022, 05:21 PM   #36
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Michael, thanks again. I've used Midi CC Table to do a few things, its very nice. I have my 'approach' in an Excel file which I'll use to document everything, then create my *.txt file from that.

I think the typical guitarist using Reaper as a pedal board will intuitively want to adjust plugin parameters (via Midi pedal and parameter modulation), like Pipe did. I turn on/off instances of plugins (same or different ones between tracks) for multiple instruments in parallel. His and my needs are similar, just offering this note as you think about future tools. My case may not be the majority.

To avoid Custom Actions and the Control Path when using Midi CC Table as the core of my operations, I can use your ReaScript mute/unmute tool. I'll also need scripts to a) select multiple tracks (ideally by partial name matches) and b) mute/unmute track sends. Its starting to sound too complicated. I've only just begun searching for these other tools, but have you looked into these? Track selection is probably easy.

Thx,
Dave
DaveInIndy is offline   Reply With Quote
Old 01-31-2022, 11:35 PM   #37
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by DaveInIndy View Post
I'll also need scripts to a) select multiple tracks (ideally by partial name matches) and b) mute/unmute track sends.
I don't understand what you mean by "select".

To mute/unmute track sends. I recommend doing a thing similar to the "mute and unmute" script and use same dedicatedly for exactly this purpose (keeping scripts as simple as possible).
-Michael
mschnell is offline   Reply With Quote
Old 02-02-2022, 09:25 PM   #38
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

I see that your Track Mute script operates by muting the track number corresponding to the CC Value received, not on a selection of multiple tracks at once.

To use this script, I would have a line in Midi CC Table sending, for example CC23 Value 6, and I would use MiditoReaControlPath to send that out, and I in the Actions menu I would Learn CC23 Val6 to run your script. The result would be muting or unmuting Track 7. Close to correct?

I did find a lua script which allows one to toggle the mute state of Sends on a track. It uses the track number and the send number. It works, but I prefer 'hard state' mute and unmute, not toggles. Its a start though. https://forum.cockos.com/archive/ind.../t-174049.html

Dave
DaveInIndy is offline   Reply With Quote
Old 02-02-2022, 11:27 PM   #39
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

I would find (un)muting several tracks with a single script confusing.
The idea was to have each FadeX instance mute its own track, and do a line with multiple appropriate entries (different CC values) in Midi Table to unmute a track each.

Of course all this is a bit clumsy, but doing a decent plugin with an appropriate GUI for configuration - similar to LiveConfigs - (which I do plan on the long run) is not easy at all.
-Michael

Last edited by mschnell; 02-03-2022 at 10:52 AM.
mschnell is offline   Reply With Quote
Old 02-03-2022, 05:33 AM   #40
DaveInIndy
Human being with feelings
 
Join Date: Dec 2021
Location: Indianapolis, IN
Posts: 40
Default

Quote:
Originally Posted by mschnell View Post
Of course all this is a bit clumsy...
Ya, this takes some work, but thanks to the efforts of folks like you, we can get things done, explore, learn, and envision better solutions!

I personally am trying to avoid the time investment to learn scripting, just not enough hours in the day. I will probably learn enough to combine and modify things. Custom Actions via Console etc are SO powerful and simple, I wish I could stick with those. But timing is everything in live performance.

Dave
DaveInIndy 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 06:25 AM.


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