The MIDI path to Learn and parameter/Midi link is definitely NOT the MIDI coming in or being modified by that track.

AFAIK:
- Midi Leran is from Reaper Control Path (inviable for a midi logger)
- Parameter modulation by Midi is (by default) from the FX chain at the position the plugin is located (e.g form the ReaControlMidi positioned direly above).

(As said: if the Control Path is activated in the midi device some major confusion can arise.)

I finally got a full pedal setup and was playing with it last night and was super happy with most everything. Even all the tracks didn’t take up more than 4% cpu. Making it so it didn’t mute unselected tracks only added like 0.5%

My big problem now is just the dropout time from switching and the often harsh bang or pop that can result from switching, which is honestly a common issue with guitar stuff. I’m going to try to figure out some crossfading tricks....too bad there’s no action for “fade in sends”

If nothing else helps, it's easy to do a JSFX that cross-fades two inputs.

Let me know what exactly you need, if you want it.

-Michael

Then it would likely control a mixer plugin? Trying to work out how to do this exactly. Let me look at if receives are available in the API. I remember when xenakious was still involved there were some command parameters which included some fade times assignable to things

Nope.
It would be a self contained thingy that gets a signal (Midi message or pushing a preset on it via LiveConfigs) and according to that selects one audio input (e.g. "pins" 1+2) or the other (e.g. pin 3+4) to be propagated to it's audio output output. When switching over, it would use a crossfade that takes a definable amount of time.

I seems to only be getting a note off message with this, though its coming on CC28, I'm not seeing any other cc values...I may have the wrong path going as well

The plugin is not supposed to bother about Note On messages at all.

- It propagates all midi input (not on the Control path !!!)
- it checks the input for CC messages that match the midi channel and CC # set in the "input sliders"
- if the CC value of such messages request a reaction (according to your specs and the setting of the other sliders) it outputs Midi CC messages (not to the Control path !!!) on the same Midi channel and the CC # set with the output" slider.
- It shows the input CC value together with the threshold and hysteresis settings, and the output state in a graphic.

I'll do a testing project for you ...

Later...You are right. Not enough testing ! There was a bug.
here an update:

If nothing else helps, it's easy to do a JSFX that cross-fades two inputs.

Let me know what exactly you need, if you want it.

-Michael

So it looks like I have some plugs that make trouble unless I mute the unused tracks. Some clicks and pops happen if I have three of them open at the same time. I tried tricking it to load the same plug across a few track and doing a sort of loop switch, and switching presets on it, but that crashed reaper. I'm afraid I will have to mute unused tracks, so I'm not sure how this would affect a crossfade

But really, I would love a crossfade betweem patches, but since you never know which two patches its going to be between, I'm not sure how it would work.

- It propagates all midi input (not on the Control path !!!)
- it checks the input for CC messages that match the midi channel and CC # set in the "input sliders"
- if the CC value of such messages request a reaction (according to your specs and the setting of the other sliders) it outputs Midi CC messages (not to the Control path !!!) on the same Midi channel and the CC # set with the output" slider.
- It shows the input CC value together with the threshold and hysteresis settings, and the output state in a graphic.

I’m going to try to figure out some crossfading tricks....too bad there’s no action for “fade in sends”

Did you try the "Tiny Fade on Config Switch" setting with LiveConfigs ?
Did you happen to find out what this exactly does ? (I seem to remember I always used the default setting.)

Anyway:
here is the "Midi Crossfade" JSFX.
It performs a crossfade between channels (1 and 2) vs (3 and 4) mixing down to (1 and 2). The balance is controlled by a CC. The fading speed is limited according to a slider setting. Hence it will smoothly crossfade when teh CC jumps between 0 and 127. You can watch the fading in the graphics (supposedly self-explaining)

If you want to have the crossfade to be initiated by LiveConfigs, you can put this plugin above "Midi Crossfade". It will send out a CC #0 with a value defined in the preset that LiveConfig might push upon it.

Ok, this definitely kills the glitches. And the dropout time, though maybe an assymetrical fade would be even better for this

If it could crossfade one set of inputs to 2 sets of outputs, you'd also have the ability to do spillover!

What I'm trying to do exactly is eliminate the lag time and the glitches when I switch between rows in SWS Live Configs.

If I assign tracks in Live Configs, then I get both a long dropout time and often glitches, unless I set that fade knob thing longer, which makes the dropouts even longer, and still can give glitches.

So I have say, 8 rows going. Ideally, some of the rows would be the same track with some loops switched in and out to deal with buggy plugins, but barring that I think it can still be done, just not sure if I could somehow run 8 of these and be able to handle all the switching logic

I suppose you mean faster up than down, not different times for the red/green channels ?

Quote:

Originally Posted by pipelineaudio

you'd also have the ability to do spillover!

I have no idea what this is supposed to mean.

Quote:

Originally Posted by pipelineaudio

...unless I set that fade knob thing longer, which makes the dropouts even longer...

Ahh ! So it's obvious what the fade knob does. One after the other:
- fade out
- mute track A
- unmute track B
- fade in

Obviously LiveConfigs never has two of the managed track unmuted at the same time. I suppose there are reasons for this.

So if you want to do a "Net Fade" between multiple active tracks, you need to deactivate LiveConfigs' track muting feature completely and (having the tracks unmuted all the time) use presets to be pushed to a plugin like "Midi Crossfade" by LiveConfigs or some actions based stuff for dynamically and mothly setting the routing.

now that sounds promising! I will try it. Is there a way to disable the SWS Live Config's muting?

Spillover would be like, if you switched from a channel with a delay on it, the delay would still finish playing even as the new track comes up. I've got it working by running the delay in parallel now, things are looking really good, but I'll see about the JS you just mentioned

Save two presets for the "Slider To CC0" JSFX one with the "Value" slider set to 0 and one with the value slider set to 127.

Place a "Slider to CC0" instance above any "Midi Volume" JSFX and set the "Midi Volume" JSFX to adhere to CC # 0 .

Now you can have any LiveConfigs Line push either of the presets to any of the "Slider To CC0" instances. (Unfortunately LiveConfigs does not show the alias names, so you need to take care to select the correct instance.)

Save two presets for the "Slider To CC0" JSFX one with the "Value" slider set to 0 and one with the value slider set to 127.

Place a "Slider to CC0" instance above any "Midi Volume" JSFX and set the "Midi Volume" JSFX to adhere to CC # 0 .

Now you can have any LiveConfigs Line push either of the presets to any of the "Slider To CC0" instances. (Unfortunately LiveConfigs does not show the alias names, so you need to take care to select the correct instance.)

- Michael

That is some genius stuff! Am I getting it right, slider to midi cc is trigger Able? Like you send it a message and it performs that action? I couldnít quite figure out what it did

Not really . I did the "Slider To PS" JSFX a long time ago to make LiveConfigs send Midi Program change messages to Kontakt to have same latency-free switch pre-loaded Sample-libraries for a new sound/patch. (I think it's described in my LiveConfigs User Guide.

I just did a minimal edit to the source code to do the "Slider To CC0" JSFX.

Quote:

Originally Posted by pipelineaudio

Am I getting it right, slider to midi cc is trigger Able?

It's extremely simple: whenever the "value" slider is moved (manually or when pushing a preset to it) it sends out a Midi CC #0 message with channel and value according to the (new) slider setting.

It's extremely simple: whenever the "value" slider is moved (manually or when pushing a preset to it) it sends out a Midi CC #0 message with channel and value according to the (new) slider setting.

-Michael

But then where do the time components for the fade out or in happen? What I think I need is a way to select whatever slider and then tell it "when I send you this message, you will beging a 50msec fade" or something like that

I never came across "send muting". What exactly do you mean by this, and what does LiveConfigs do ?

-Michael

If you chose an audio input track, it automatically builds sends to whatever tracks you specify in the rows of live configs, and then when you activate a row, it unmutes the send from the audio input track to the target track and mutes all the other sends...at least as far as I can tell. I think I could make a screen grab video, if I could figure how to make the i/o window stay open for it

"when I send you this message, you will beging a 50msec fade" or something like that

The fade time is defined in the Midi Volume JSFX.

It's not given in msec (as it is not just for fading (i.e. 0->127 or 127->0) but for smoothing a volume curve provided by the CC (avoiding zipper noise).

Instead, the max step size in dB is given. As with each sample a step is taken and the minimum Volume above 0 (-inf dB, at CC= 0) is at CC=1 with a given dB of attenuation (depending on the curve setting, I don't have the formula in mind) the count of steps until and hence the time till reaching 0dB is defined by this slider. I suggest to try this out.

If you need to dynamically change the fade rate, you might try to push a preset onto "Midi Volume".