Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 11-25-2018, 04:59 AM   #281
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by srdmusic View Post
Tone, pardon if I'm not understanding what you mean by text import/ export but are you basically trying to build presents for realearn. Can't this be done by saving a preset within the built in Reaper fx preset menu?
Just hit export to clipboard.
... and you get something like below in json format which is perfect.
PHP Code:
{
  
"alwaysAutoDetectMode"true,
  
"letMatchedEventsThrough"false,
  
"letUnmatchedEventsThrough"true,
  
"mappings": [
    {
      
"controlIsEnabled"true,
      
"feedbackIsEnabled"true,
      
"mode": {
        
"eelControlTransformation""",
        
"eelFeedbackTransformation""",
        
"ignoreOutOfRangeSourceValuesIsEnabled"false,
        
"maxSourceValue"1,
        
"maxTargetJump"1,
        
"maxTargetValue"1,
        
"minSourceValue"0,
        
"minTargetJump"0,
        
"minTargetValue"0,
        
"reverseIsEnabled"false,
        
"roundTargetValue"false,
        
"scaleModeEnabled"false,
        
"type"0
      
},
      
"name""1",
      
"source": {
        
"channel"5,
        
"type"3
      
},
      
"target": {
        
"enableOnlyIfFxHasFocus"false,
        
"enableOnlyIfTrackIsSelected"false,
        
"fxIndex"15,
        
"isInputFx"false,
        
"paramIndex"2,
        
"type"1
      
}
    },
    {
      
"controlIsEnabled"true,
      
"feedbackIsEnabled"true,
      
"mode": {
        
"eelControlTransformation""",
        
"eelFeedbackTransformation""",
        
"ignoreOutOfRangeSourceValuesIsEnabled"false,
        
"maxSourceValue"1,
        
"maxTargetJump"1,
        
"maxTargetValue"1,
        
"minSourceValue"0,
        
"minTargetJump"0,
        
"minTargetValue"0,
        
"reverseIsEnabled"false,
        
"roundTargetValue"false,
        
"scaleModeEnabled"false,
        
"type"0
      
},
      
"name""2",
      
"source": {
        
"channel"5,
        
"type"3
      
},
      
"target": {
        
"enableOnlyIfFxHasFocus"false,
        
"enableOnlyIfTrackIsSelected"false,
        
"fxIndex"16,
        
"isInputFx"false,
        
"paramIndex"0,
        
"type"1
      
}
    }
  ],
  
"sendFeedbackOnlyIfArmed"true

And there could be
PHP Code:
        "paramName""Bypass"
or
        
"paramName""Wet"
or
        
"paramName""*cutoff*"
or
        
"paramName""*resonance*"

and not only allowing
        
"paramIndex"
In case of paramName, first match could be automapped then, for example, which would be great time saver for creating such mappings. Same for fxName.

Last edited by TonE; 11-25-2018 at 05:07 AM.
TonE is offline   Reply With Quote
Old 11-25-2018, 05:13 AM   #282
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by srdmusic View Post
As far as a case for absolutely needing it to work with midi and not track automation is that when working with large orchestral sessions we often need to ajust the volume of multiple parts at once. It's very easy in the midi editor to accomplish that and it's basically impossible in track evelopes. There is in my very humble opinion that there is no reason to use realearn to control track volume envelopes. This can already be done with standards cc automation action built into reaper.
From your description you want parallel volume control, so just map same controls to those volume targets. You could create as many groups as you need. Not understanding really why you have to use midi items for that use case?
The only difference of your description is you want to save your hand movements inside Reaper, so you want kind of recorded performances on the knobs, inside Reaper. For free flow recording you do not need it. And second difference is you seem to prefer editing midi items rather than automation envelopes. Are there any YouTube videos for such workflow, those do not have to be your videos, just any?
TonE is offline   Reply With Quote
Old 11-25-2018, 05:20 AM   #283
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

srdmusic do you have any simplest case demo project of what you mean, you can delete everything what is irrelevant for demonstrating the case, keeping rest.
TonE is offline   Reply With Quote
Old 11-27-2018, 08:28 AM   #284
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

Quote:
Originally Posted by TonE View Post
srdmusic do you have any simplest case demo project of what you mean, you can delete everything what is irrelevant for demonstrating the case, keeping rest.
Hi TonE,

I must not be explaining this as well as possible. Basically, I'm tasked with writing a fairly exorbitant amount of music each week. On some of the action TV shows us composers are asked to deliver 40+ minutes of fully loaded hybrid synth and orchestral cues which can have track counts of somewhere 50 and 150 instrument tracks playing back.

At that amount of music, anything that cause the composer to have to use extra step or use the mouse more can potentially cause the composer to not be able to deliver on time.

You suggestion is a good one but creating basically VCA faders for each time I want to change the volume of multiple parts would take forever to set up and it's never the same sets of tracks you need to adjust so you would have to set up a new VCA each time you wanted to adjust multiple tracks.

Here's a test to prove my point:

MIDI EDITOR

1) Create 50 tracks with 50 midi items on them.
2) Make sure there is some cc7 volume data written into the items
3) Select all the midi items and open them in the midi editor window
4) Click to drag over the cc7 data and move them up or down

ENVELOPE EDITING

1) Do the same approach with volume envelopes 50 tracks.
2) There's no way to select envelope points on multiple tracks. So you'd have to then create a VCA fader for the tracks you want to adjust, then you have to write automation to that VCA fader either in realtime or with the mouse. Then there's the problem of only wanting to control certain tracks. Now you have to edit the VCA group so that the tracks you don't want to move are not included in the group.

As you can see editing multiple envelope are much more clucky and time consuming. It's just not practical in my workflow.

I've never know the Reaper DAW to be the daw that tries to change the way a user wants to work. If fact I think it's the only DAW that gives us the power to work however we want to.

I know there has to be another solution because it does work if Realearn is the second plugin in the chain. So there must be something in it's internal code that affects this.
srdmusic is offline   Reply With Quote
Old 11-27-2018, 08:56 AM   #285
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Thanks, but sharing a simplest case project is not same as describing here, but ok. Anyway, what I understood so far, you prefer and want for sure midi editor cc 7 editing, for volume changes, and not any envelope editing for volume changes? I do not know exactly why, but you want this, right? If this is right so far, my answer would be: I would never use cc7 for volume changes. But I am guessing I did not understand you correctly.
TonE is offline   Reply With Quote
Old 11-27-2018, 09:25 AM   #286
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

Quote:
Originally Posted by TonE View Post
Thanks, but sharing a simplest case project is not same as describing here, but ok. Anyway, what I understood so far, you prefer and want for sure midi editor cc 7 editing, for volume changes, and not any envelope editing for volume changes? I do not know exactly why, but you want this, right? If this is right so far, my answer would be: I would never use cc7 for volume changes. But I am guessing I did not understand you correctly.
If editing lots of track envelopes was just as easy as editing cc data in the midi editor I would for sure want to work with envelopes. They send much more data than standard MIDI CC

But, as far as I can tell there is on way to view, select or edit multiple volume envelopes at the same time like you can in the midi editor. So until we can, I can't work with envelopes. It just takes too long to edit each individual track.

Also if I was only working with a few tracks in session than I would use track envelops but when the sessions get above 50 tracks, it's just not as fast as the midi editor.
srdmusic is offline   Reply With Quote
Old 11-27-2018, 09:52 AM   #287
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

So I understood you correctly so far. Now it would be cool having a few example cases what you are doing in the midi editor? How are you selecting what? Example, tracks 1..50. Are you selecting tracks 3,34,45, then those a little louder for example? So any possible track combination and you want to make it a bit louder or less? Is this true? How are you selecting the tracks then, always clicking with the mouse anywhere? Then are you always selecting a time range as well? At least we should know, which tracks and in which time range, right? Are you playing all tracks at the same time? If yes, are you seeing all tracks at the same time? Would you be against hiding tracks, but still hearing them, for example? How many groups you have in those 50 tracks? Only a quickly managable amount like 7..10 or no groups? If you have any groups, what are your group names? Those would be my questions, sorry if I am asking stupidly here.
TonE is offline   Reply With Quote
Old 12-01-2018, 08:47 PM   #288
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

I found a workaround to get ReaLearn to work as intended when rendering offline.

1)Click on the MIDI button at the top left side of the plugin.
2)Set the MIDI output to 'Merge with MIDI BUSS 1', instead of the default 'Replace settings'

This will allow MIDI items to control track parameters and other learned functions when rendering offline.

Hope that helps everyone else looking for a solution to this.
srdmusic is offline   Reply With Quote
Old 12-02-2018, 04:02 AM   #289
jbraner
Human being with feelings
 
jbraner's Avatar
 
Join Date: Nov 2017
Location: Edinburgh
Posts: 488
Default

Nice one srdmusic!
That changes everything
jbraner is offline   Reply With Quote
Old 12-02-2018, 09:40 AM   #290
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

My bad. What's actually happening is that Realearn is then sending cc7 to the instrument instead of filtering it out. So this isn't a fix because if I filter out CC7 after the Realearn then we still have the bug where Realearn isn't printing the volume automation correctly.

Damn.... Back to the drawing board....
srdmusic is offline   Reply With Quote
Old 12-02-2018, 09:59 AM   #291
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Sorry, my bad. It indeed **is** technically possible to make ReaLearn have an effect while rendering (although I'm not sure yet if it can be made work reliably) - I could make it partially work with a few code adjustments, at least for some particular target types. However, I'm absolutely puzzled to see reports that it works with the current version already. Because when I try the current version, it doesn't work, also not after applying your workaround, srdmusic, not even with the FX at the first position. I suspect that it works only in a few very particular edge cases right now. Cases which I couldn't even reproduce so far. That's why I need your help. In order to support that feature **officially and reliably**, I need to understand why it is already working for some

@srdmusic: Could you send the working RPP file and your REAPER.ini to info@helgoboss.org? I also need to know which OS you are on and if you use 32 or 64-bit. Thank you!

Last edited by helgoboss; 12-02-2018 at 11:47 AM.
helgoboss is online now   Reply With Quote
Old 12-02-2018, 10:57 AM   #292
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

Quote:
Originally Posted by helgoboss View Post
Sorry, my bad. It indeed **is** technically possible to make ReaLearn have an effect while rendering - I could make it work with a few code adjustments. However, I'm absolutely puzzled to see reports that it works with the current version already. Because when I try the current version, it doesn't work, also not after applying your workaround, srdmusic, not even with the FX at the first position. I suspect that it works only in a few very particular edge cases right now. Cases which I couldn't even reproduce so far. That's why I need your help. In order to support that feature **officially and reliably**, I need to understand why it is already working for some

@srdmusic: Could you send the working RPP file and your REAPER.ini to info@helgoboss.org? I also need to know which OS you are on and if you use 32 or 64-bit. Thank you!
Thank you so much for looking into this. It would be sooooooo great if you could edit the plugin to render offline. You're a true genius.

I'm sending my template via email to you now. I would recommend loading the project with the plugins disabled for testing as I'm sure there are a bunch of plugins active in the template that will hangup you loading the session. I work in 64bit on Windows 10 Pro.

After further investigation I found that I was incorrect. Realearn wasn't filtering out cc7 with my work around so it was sending cc volume to the kontakt instrument instead of the track volume fader.

I did get realearn to control the wet/dry and trim volume of one of Julian Sander's volume trim plugins. Since realearn is controlling an fx parameter it allows me to print offline but requires an extra plugin on every track. I of course would rather control reapers fader instead.

Last edited by srdmusic; 12-02-2018 at 11:24 AM.
srdmusic is offline   Reply With Quote
Old 12-02-2018, 11:50 AM   #293
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

Ok. I think I may have found a solution that might work better for me in the long run. It's more time consuming to setup on each track but at least it will work the way I want.

If I set up Realearn to control the wet/dry signal from the instrument and then set render to realtime it will render the volume changes into audio.

This is also handy because then I can put limiter plugins below the kontakt instrument and never exceed the 0db volume limit.

The only downside to working this way is that each time I load a new instrument into the session, I'll have to re-leaner the wet/dry parameter.

Is there any way to code Realearn to have the option of controlling the wet/dry signal of the next plugin below it? So that it's not looking for Kontakt specifically but just the next plugin in the chain.
srdmusic is offline   Reply With Quote
Old 12-08-2018, 04:15 PM   #294
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

I haven't replied to some of you. Let me catch up before giving you the next prerelease.

Quote:
Originally Posted by sonicowl View Post
Getting some errors lately:

...

Reaper didn't crash (I run ReaLearn as dedicated process), but I see these in event viewer.

EDIT: Just noticed, if I run ReaLearn as Separate or as Dedicated process, it takes really long to load. With Native (Default) it loads instantly.
ReaLearn can't work as separate or dedicated process, that's technically impossible because it integrates directly with REAPER and doesn't just transmit audio/MIDI data like normal VST plugins do. It must be run natively. Actually ReaLearn used to display a message in that case which explains that it only can be run natively. It surprises me that this message is not displayed. I suppose that something in REAPER has changed - maybe REAPER is now capable of detecting a plugin which cannot be run as separate process, it just seems to take a while (pure speculation).


Quote:
Originally Posted by X-Raym View Post
Thing is that the search dropdown for action isn't very usable, as there is no search field, and we can't even enter first action letters cause they all start by a random number (not even command ID).

It would be nice if there was a filter by name or command ID, or at least a way to link to last triggered action.
I agree. There's already an issue for that. But it doesn't have a very high priority for me because most actions are learnable: Press learn, execute action (e.g. via action window). I'm tempted to ask Justin if he can make the built-in action window invokable by extensions. Because it's the best action picker one can imagine.

Quote:
Originally Posted by X-Raym View Post
Also question: what is this number ? Isn't there a chance to break if new scripts and custom action or even native action are added ?
The displayed number is the command ID. But only built-in actions are memorized via command ID (because they are stable). Custom actions, scripts and actions provided by extensions are memorized via a unique command name. So adding something shouldn't break ReaLearn action targets.

Quote:
Originally Posted by X-Raym View Post
Side question,
Could ReaLearn works on Monitor FX ?
Right now it won't. But that's an interesting idea now that ReaLearn is capable of receiving MIDI directly from hardware devices. I opened an issue.

Quote:
Originally Posted by X-Raym View Post
Also, it would be nice to have version number of the plugin in the GUI.
Opened an issue.

Quote:
Originally Posted by X-Raym;2045899
there is UTF-8 characters enconding error in the [URL="https://www.dropbox.com/s/xj414o2ozetmp0n/2018-10-15_14-01-20.mp4?dl=0"
action dropdown[/URL].
Opened an issue.

Quote:
Originally Posted by brummbear View Post
Could you expose the "Send feedback now" button to the outside of ReaLearn, as a parameter that can be learned to a MIDI controller?
Opened an issue.

Quote:
Originally Posted by brummbear View Post
...and another additional nice-to-have feature for MIDI feedback would be to be able to send the feedback to a track. This would allow to place a MIDI effect (e.g. JS) on that track before finally sending it back to the control surface. This could help in situations were the feedback leads to instability with the input (e.g. motor faders) due to the lag in the control loop. Also one could route the feedback to a different indicator than the original controlling element by changing the message content/channel/note number etc.
Opened an issue. BTW, in some cases "Feedback transformation" might help.

Quote:
Originally Posted by _jon View Post
Hey, sorry if this has already been asked,

but is there a way to simply use a MIDI note as a target? IE source is MIDI note number 66, and destination is MIDI note number 80 for example?

This tool could be really useful as a MIDI translator that only lets certain notes through. Would be great for things like layering drum kits where you only want to selectively use certain sounds from each kit. Thanks!
Quote:
Originally Posted by _jon View Post
Thanks - these tools are useful and I’m able to cobble together a solution - but I like ReaLearn because it is

A) Midi learnable
B) Therefore also allows you to see the current note you’re playing (many other plugs don’t have any visual feedback for “incoming note”)
C) Easy to set up noncontinuous collections of single notes and enable/disable them individually.
D) Easy to filter out everything except the translated notes
E) Has potential to be a one-stop shop requiring no other plugins

I am already using ReaLearn for the MIDI learn, the visual feedback and the filtering out of other notes. Currently I’m using Midi Shape Shifter VST to do remaining operations on individual notes/velocities. However it’s a bit of a cumbersome solution as I have to type in the target MIDI notes by number and this requires additional steps and guesswork.

What would be even better would be to have a draggable or mouse-wheelable target note control directly in ReaLearn that would allow me to change the control while hitting the source note and seeing it being played on a target Kontakt instrument’s keyboard, for example, in situations where I know visually or by ear what target note I want but I don’t know the note number. Or in situations where I don’t know what I want but I’m using it as an exploratory tool.

If I could do all of this in one place that would be awesome, and ReaLearn is the current closest thing to an elegant solution that I’m looking for. It would really just require adding “Midi note” as another target class. Even if it just passes through and doesn’t have the ability to target other tracks.
Mmmh, I see and understand your point to have everything in one place ... but at the moment I'm hesitating to add this for several reasons:

First, I'm afraid of feature creep. If I add this, "MIDI note" will not be enough in the long run. Someone will ask for a "MIDI CC" target, someone will ask for a "Pitch wheel" target ... and suddenly ReaLearn will be a little bit of everything. And that is usually a bad thing, e.g. the interface gets complicated, the source code gets complicated etc. I know, REAPER itself is a little bit of everything in some ways, but they have done it in a very clever way, and it's not just a plugin, it's a central platform for all kinds of diverse music needs. Apart from that I prefer software which is tailored to specific tasks and limited in scope. I can imagine ReaLearn to develop into a one-stop shop for parameter control, but not more. MIDI transformation is not within the scope of ReaLearn - by design.

Second, as brummbear says, that's something which is already possible to implement via JS FX. By contrast, most of the functionality of ReaLearn would not be possible to implement via JS FX, neither via ReaScript. I would even say that JS FX is the best development platform for MIDI transformation. JS has many advantages over native plugins, e.g. it's super easy to modify, it's cross-platform without additional effort, it's very lightweight, there's no installation necessary and you could even save it in your project folder. I'm pretty sure that someone could come up with a pure JS solution which satisfies your requirements A - E. I use this: https://forum.cockos.com/showthread.php?t=69345 ... at least satisfies requirement A.
helgoboss is online now   Reply With Quote
Old 12-08-2018, 04:21 PM   #295
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by jbraner View Post
I could not render (to a stem) or freeze the audio with the FX automation.
I'm not 100% sure if this is actually a Realearn problem - but I think it is.
I tried every combination of freeze and render - but none worked. They all renedered the audio without the FX automation.
I even tried to render the track(s) as a WAV file - but still no FX automation.


The only way around it was to set up the automation envelopes in Reaper (so no need for Realearn) - then it renders fine.
I actually cheated and did this:
- set up the envelopes in Reaper
- "learn" CC values via Reaper (not Realearn)
- arm the envelopes
- put realearn back in, and play the MIDI track
- this recorded the automation envelopes in Reaper, and then I could render properly.

So my question is - shouldn't I be able to render a audio track with some FX automation using Realearn and a MIDI track for input?
Your "cheat" is the recommended way of doing it if you already have MIDI items which control ReaLearn. ReaLearn has no effect when rendering. You need to have everything in automation envelopes, so best arm them already while moving your faders. Right now it looks like that's not going to change so quickly. Some days ago I built some hopes that it would be possible to implement this, you probably read my response to srdmusic. However, it looks like they were false hopes. In a quick test I could adjust ReaLearn to render track volume and FX changes - even offline. But it turned out to be unstable, and it even crashed when trying it with track pan target. A conversation with Justin confirmed my suspicion that this approach is a dead end. He wants to give it a thought, but no immediate solution to the problem came to his mind.

The mystery about why it worked for srdmusic has also been solved: So far it seems to work only in one particular case. You need to enable "Limit apply FX/render stems to realtime" in the render preferences and use the action "Item: Apply track/take FX to items" for rendering. I can confirm that this works. But it's not very satisfying. Because first, normal rendering (via render dialog) doesn't work. And second, the rendering is done in realtime ... which for my taste is not much better than printing automation in realtime and then render offline.

Quote:
Originally Posted by Wilson View Post
But could it be that this Plugin its not very stable at the moment? I had alot of crashes in a short period of time especially if I close the project or select "New Project" and this is almost never happening in Reaper before.

I hope this thing getting better with even more feauters and I hope the Reaper community really appreciate your work!
This has my highest priority. I hope very much that the "fault barrier" feature will be an effective solution to this problem. It is part of the upcoming ReaLearn version (which I will publish as a prerelease later today or tomorrow). The idea is to "catch" any ReaLearn failure if possible, prevent it from crashing REAPER and to display a small bug report with the petition of sending it to me so I can fix this in the next version of ReaLearn. Of course, ideally ReaLearn doesn't have bugs in the first place and I try hard to avoid them. But as you probably know, software without bugs is impossible in practice, so I think it's quite worth to at least handle them gracefully whenever they appear.

Quote:
Originally Posted by Wilson View Post
I have already my firt questions ...I got alot of Track Templates saved with assigned Midi controlls so is there a way to adobt this to Realearn so that I dont have to reassign everything?
Mmh, no. I think it would be too much hassle to implement this.

Quote:
Originally Posted by Wilson View Post
And is it possible to assign custom Actions? (a search tool for Actions or a Action ID number field where also very helpful)
Yes, they also appear in the list (at the end I think). Concerning the search tool, see my answer above to X-Raym.

Quote:
Originally Posted by Wilson View Post
And the last question ...I got the Maschine MK2 controller and with this one you can change the speed of the rotarys directly in the Maschine Editor but with the Behringer X-Touch Mini you cant unfortunately. So I have tried with Source Min/Max settings in Realearn and if I change the Min to about 60 or the Max to about 40 then the rotary of the X-Touch has almost the same speed as the Maschine MK2 but the LEDs from the rotarys goes just the half way.
Is there a way to change the speed of the rotarys without limiting the range of the LEDs from X-Touch?
Wait ... you are talking about relative mode with endless encoders, right? In this case "Step size min" or "Step count min" (below "Source min/max") are the correct sliders for changing the speed. I'm puzzled by the LED thing. It sounds like you use ReaLearn's MIDI feedback. But MIDI feedback for relative mode is only supported in upcoming ReaLearn version, not in the old one. In any case, you can always separate the "control" and the "feedback" into two mappings which have different settings.

Quote:
Originally Posted by kaeru View Post
I am having a similar experience as brummbear. The MIDI feedback is absolutely great, but the signal comes back in a way that it makes the value jump up and down like crazy. I am not sure how to use the "Send Feedback Now" as the only way I can get smooth operation is by disabling the feedback entirely (at which point send feedback now will not interact with my controller).

I get the feeling I am just missing something in the options to be able to filter MIDI coming back if that controller is being moved from the hardware. Any suggestions?
What controller do you use? There are some controllers which expect different values for feedback than they actually send. I experienced this for example with Presonus FaderPort's motorized fader. I tackled the problem by have separate mappings, one for control and for feedback. I assume that you are also talking about motorized filters, not about LEDs ... or what does "value jump" mean?

Quote:
Originally Posted by natonative View Post
I was wondering if soft-takeover was available yet?
Yes, some time already. It's called "Slowly approach if jump too big (scale mode)" and available in absolute mode.

Quote:
Originally Posted by LowlyOP View Post
Unlock the min-max value ratio on all types of midi feedback options (where normally ( max >= min ) OR just include the "reverse" option in all message types (it's currently only available in one; absolute or relative, I forget which).
The "reverse" option is available both in relative and absolute mode. In toggle mode it wouldn't make much sense, or would it?

Quote:
Originally Posted by LowlyOP View Post
"Duplicate" copies all fields except the user-given name of each mapping. Perhaps it's just my personal preference, but i think having the duplicate's mapping as "<name><_1> would help us stay organized.
Opened an issue.

Quote:
Originally Posted by LowlyOP View Post
Bold names would be super helpful.
Can you elaborate on this?

Quote:
Originally Posted by LowlyOP View Post
And even tho this is probably not nearly as feasible a request, i'll ask anyway; any chance you could make the window so we can resize it to allow more mappings visible?
I added an issue but that could take a while.

Quote:
Originally Posted by TonE View Post
Is there any manual for ReaLearn?

How many ReaLearn you should use, for best use cases?

(a) one ReaLearn per project
(b) one ReaLearn per track
(c) one ReaLearn per folder

Advantages and disadvantages of each method? Some use case examples from the practical world, showing off notable features, one should not overlook.

I asked in another thread why Reaper can not export/import midi mappings, it seems ReaLearn allows to do this. So from keeping everything simple and on a single file, most practical would be then using a ReaLearn per project. But then you could not switch them individually, in case you want to change something in 5 months, having some new ideas from later projects, bringing them in to some older projects.
Added issue. About "How many ReaLearn you should use": It depends I agree a best-practice guide discussing typical usage scenarios would be important.

Quote:
Originally Posted by TonE View Post
"For the developers among you: I'm planning to release the source code of ReaLearn later this year." (in 2016)

Did this happen anywhere? For example I would like to know about the exported .json format, instead of asking you questions, I could just look up in the source code.
This is still my plan. It's only organizational things that still hold me back. E.g. it's not just ReaLearn what I would release, but also a C++ library which simplifies programming for REAPER. ReaLearn is built on this library. It's intended to be used by other developers as well. But the API is not stable enough yet. One needs to be careful with releasing a library because once you release it and other developers start using it, you are bound to it and shouldn't change the API too much anymore.

I might decide to still release it soon with some warnings not to rely on the library, but I need to think about it.

Quote:
Originally Posted by TonE View Post
How many mappings can I have at maximum within one ReaLearn? For example can I have 5000 mappings? Yes, five thousand.
Have never tried. There's no artificial limit but I suppose that things slow down in a linear manner the more mappings you have.
helgoboss is online now   Reply With Quote
Old 12-08-2018, 04:37 PM   #296
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Here's a new prerelase: ReaLearn 1.8.0-pre1

Windows Installer
Windows Portable ZIP 32-bit
Windows Portable ZIP 64-bit
OS X installer
OS X portable ZIP

The Windows installer is not signed this time. It will be on the next real release.

Changes:
#163 Improved resilience by introducing a fault barrier (whenever an error occurs, ReaLearn tries to prevent a hard crash and instead displays error information with instructions how to report it to the developer)
#169 Improved toggle mode by respecting target min/max while deciding whether to switch target parameter on or off
#168 Improved relative mode by making it support MIDI feedback as well (the feedback itself of course transmits absolute values, everything else wouldn't make sense)
#172 Improved usability and reduced complexity by removing the separate device dropdown from the MIDI clock sources and instead using the global MIDI input device (Migration instructions for people who have already used the experimental MIDI clock sources in projects: If your MIDI clock input device is different from the global MIDI input device, you need to use two ReaLearn instances now!)
#162 Improved usability by not letting source and mode fields forget their values when switching source/mode type
#175 Improved UI update behavior when using FX parameter target with track '<Selected>'
#161 Fixed possible crash when enabling/disabling take FX
#167 Fixed possible crash when using track selection target
#175 Fixed messed up mappings when dragging FX above another FX which is controlled by ReaLearn
#173 Fixed incorrect step size/count 'min' and 'max' naming
#174 Fixed potential weird behavior by preventing ReaLearn from learning a target which is in another project tab than ReaLearn itself
#174 Fixed track names in mapping window of ReaLearn instances in inactive project tabs
#170 Fixed crash when deleting a monitoring FX which is used in a ReaLearn target (please note that monitoring FX is not completely supported in ReaLearn because of limitations in the REAPER SDK, e.g. feedback is not possible)

Feedback about bugs very much appreciated, especially critical ones. Thanks!

Last edited by helgoboss; 12-08-2018 at 04:46 PM.
helgoboss is online now   Reply With Quote
Old 12-08-2018, 05:48 PM   #297
LowlyOP
Human being with feelings
 
LowlyOP's Avatar
 
Join Date: Feb 2018
Posts: 121
Default

Thanks helgoboss, looking forward to testing this update.
LowlyOP is offline   Reply With Quote
Old 12-15-2018, 05:20 AM   #298
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default Realearn Feature Request

It's my understanding that scripts can't read incoming midi to use as shortcuts/keybinds. (Radial menu and chord gun would be two scripts that use key binds)

Could realearn potentially take a midi note in and output an alphanumeric character?
cjewellstudios is offline   Reply With Quote
Old 12-15-2018, 06:28 AM   #299
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

@helgoboss
Thanks for the update and support
X-Raym is offline   Reply With Quote
Old 12-15-2018, 03:34 PM   #300
kaeru
Human being with feelings
 
Join Date: Dec 2016
Posts: 21
Default

Quote:
Originally Posted by helgoboss View Post
[...]
What controller do you use? There are some controllers which expect different values for feedback than they actually send. I experienced this for example with Presonus FaderPort's motorized fader. I tackled the problem by have separate mappings, one for control and for feedback. I assume that you are also talking about motorized filters, not about LEDs ... or what does "value jump" mean?
[...]
Hi !! And thanks for the reply, and the awesome plugin !!

I am using Komplete Kontrol. The scribble strips under each endless encoder give the real time value of the parameter. By value jump I mean that when I turn a knob, it starts to change a value in kontakt let's say, but then the feedback makes it jitter backwards, jumping between current values and the value from some milliseconds ago. This behavior is reflected inside kontakt itself as well as on the controller.

I am super curious how you would suggest setting it up with 2 instances of the plugin ! I will also try to experiment.

Happy holidays and thank you again for all that you do !

kaeru
kaeru is offline   Reply With Quote
Old 12-17-2018, 02:18 PM   #301
SebyMusic
Human being with feelings
 
Join Date: Apr 2018
Posts: 211
Default No midi Thru option please

Hi, is it possible to have an option to click to disable midi thru. Cause When I use my Arduino to send midi to the plugin, the plugin output thru the same parameter he received from the IN
@helgoboss

tks
Seby

Last edited by SebyMusic; 12-18-2018 at 05:13 AM.
SebyMusic is offline   Reply With Quote
Old 12-19-2018, 08:24 AM   #302
SebyMusic
Human being with feelings
 
Join Date: Apr 2018
Posts: 211
Default Any answer please?

Quote:
Originally Posted by SebyMusic View Post
Hi, is it possible to have an option to click to disable midi thru. Cause When I use my Arduino to send midi to the plugin, the plugin output thru the same parameter he received from the IN
@helgoboss

tks
Seby
Bump....
SebyMusic is offline   Reply With Quote
Old 12-19-2018, 11:17 AM   #303
Anzick
Human being with feelings
 
Join Date: Nov 2018
Posts: 34
Default

Hello, is it possible to install ReLearn on Linux? It doesn't seem to work with Airwave or Carla. Thank you.
Anzick is offline   Reply With Quote
Old 12-19-2018, 12:43 PM   #304
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

Quote:
Originally Posted by helgoboss View Post
Here's a new prerelase: ReaLearn 1.8.0-pre1

Windows Installer
Windows Portable ZIP 32-bit
Windows Portable ZIP 64-bit
OS X installer
OS X portable ZIP

The Windows installer is not signed this time. It will be on the next real release.

Changes:
#163 Improved resilience by introducing a fault barrier (whenever an error occurs, ReaLearn tries to prevent a hard crash and instead displays error information with instructions how to report it to the developer)
#169 Improved toggle mode by respecting target min/max while deciding whether to switch target parameter on or off
#168 Improved relative mode by making it support MIDI feedback as well (the feedback itself of course transmits absolute values, everything else wouldn't make sense)
#172 Improved usability and reduced complexity by removing the separate device dropdown from the MIDI clock sources and instead using the global MIDI input device (Migration instructions for people who have already used the experimental MIDI clock sources in projects: If your MIDI clock input device is different from the global MIDI input device, you need to use two ReaLearn instances now!)
#162 Improved usability by not letting source and mode fields forget their values when switching source/mode type
#175 Improved UI update behavior when using FX parameter target with track '<Selected>'
#161 Fixed possible crash when enabling/disabling take FX
#167 Fixed possible crash when using track selection target
#175 Fixed messed up mappings when dragging FX above another FX which is controlled by ReaLearn
#173 Fixed incorrect step size/count 'min' and 'max' naming
#174 Fixed potential weird behavior by preventing ReaLearn from learning a target which is in another project tab than ReaLearn itself
#174 Fixed track names in mapping window of ReaLearn instances in inactive project tabs
#170 Fixed crash when deleting a monitoring FX which is used in a ReaLearn target (please note that monitoring FX is not completely supported in ReaLearn because of limitations in the REAPER SDK, e.g. feedback is not possible)

Feedback about bugs very much appreciated, especially critical ones. Thanks!

Thank you!


Is it possible to add the ability to learn scripts in the Action List just like native actions?
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is offline   Reply With Quote
Old 12-20-2018, 01:51 AM   #305
SeanTypedThis
Human being with feelings
 
Join Date: Nov 2012
Location: Oakland, CA
Posts: 104
Default Monitoring FX toggled, no crash!

Quote:
Originally Posted by helgoboss View Post
#170 Fixed crash when deleting a monitoring FX which is used in a ReaLearn target (please note that monitoring FX is not completely supported in ReaLearn because of limitations in the REAPER SDK, e.g. feedback is not possible)

Feedback about bugs very much appreciated, especially critical ones. Thanks!
Can toggle monitoring FX on and off now without issue!

Thank you so much for your continued work on your plugins, they're becoming quite indispensable. =)

In fact, here's a real life example.

I had a show a month or so ago, I had been prepping for a while getting everything into my Softstep foot controller, all of my Playtime scenes and clips and FX assignments, etc,.. then the day of the show, some how my USB port gets recessed (I still don't know how it happened, been using it without issue for 3 or 4 years), and the whole unit became unusable. Couldn't power it on or anything. I was between going into panic mode and defeated..

Then, I remembered I programmed all of my assignments into Realearn for what had, up until then, been a very theoretical situation. So all I had to do was use another controller, my Wireless LPD8, make sure all of the pads triggered the right midi CC's, and change the controller assignment in Realearn, and everything worked perfectly. It was a little rocky going from foot to hand controller day of, but I think it actually worked out pretty well, and liked the Pad controller better for a few things even.

Here's a recording of the performance, making use of Realearn and Playtime (I think you can actually see me go "yes" when the first section triggers correctly):

https://www.youtube.com/watch?v=OHQAH3NjOG0

Thanks again, and I look forward to any and all of your future work!
__________________
YouTube
SeanTypedThis is offline   Reply With Quote
Old 01-05-2019, 07:26 AM   #306
SebyMusic
Human being with feelings
 
Join Date: Apr 2018
Posts: 211
Default

Quote:
Originally Posted by SebyMusic View Post
Bump....
Still waiting for some answer please.
Tks
Seby
SebyMusic is offline   Reply With Quote
Old 01-12-2019, 12:17 PM   #307
Kaitain
Human being with feelings
 
Join Date: Nov 2016
Posts: 34
Default

Hi Helgoboss

Awesome work as always!

I have two questiosn for you:
- Is it possible to learn from an OSC message, instead of a MIDI? It would be very useful for me, as I'm using an experimental OSC controller that need its parameters to be scaled using ReaLearn.

- Also, what is the correct format for a NRPN Data increment/decrement message to be recognized by ReaLearn? So far NRPN messages like this: 98 99 38 6 98 99 are recognized as NRPN messages (it also works without the two closing bytes). A data increment NRPN message example should look like: 98 99 96 98 99, but when I hit "Learn" it says it's a CC message.

What am I doing wrong?
Kaitain is offline   Reply With Quote
Old 01-18-2019, 01:27 PM   #308
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Just found this plugin because I was looking for a way to get feedback to my Behringer BCR2000 when I change tracks. What a lovely program!

I have been able to create the feedback I want, but the rotaries become immensely slow. This is not the case when I disable feedback. Is there a way to fix this?

I have set up as follows:
- Created a track called BCR2000 Control
- This track has ReaLearn on Input FX and the BCR2000 as its record input. The track is armed for recording.
- Parameters are set up to use BCR rotaries as Source and plugin parameters as Target. Track type is set to <selected>.
- Inputs are MIDI CC messages with the Knob/Fader Character. Any other Character type did not seem to work.
- => Control and <= Feedback are enabled
- All other settings are left untouched
Garwyx is offline   Reply With Quote
Old 01-18-2019, 03:09 PM   #309
LowlyOP
Human being with feelings
 
LowlyOP's Avatar
 
Join Date: Feb 2018
Posts: 121
Default

Since the beta update w the auto log popup on crashes, hangs, etc, i like the idea but it seems to produce error logs no matter what setup - minor errors, because all still "works" but those popups really have become a nag for me. Is there a way to toggle that off, or perhaps only execute when a "new" bug comes up?
LowlyOP is offline   Reply With Quote
Old 01-18-2019, 11:22 PM   #310
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

Quote:
Originally Posted by Garwyx View Post
Just found this plugin because I was looking for a way to get feedback to my Behringer BCR2000 when I change tracks. What a lovely program!

I have been able to create the feedback I want, but the rotaries become immensely slow. This is not the case when I disable feedback. Is there a way to fix this?

I have set up as follows:
- Created a track called BCR2000 Control
- This track has ReaLearn on Input FX and the BCR2000 as its record input. The track is armed for recording.
- Parameters are set up to use BCR rotaries as Source and plugin parameters as Target. Track type is set to <selected>.
- Inputs are MIDI CC messages with the Knob/Fader Character. Any other Character type did not seem to work.
- => Control and <= Feedback are enabled
- All other settings are left untouched
You should put in on the fx chain not input fx.
srdmusic is offline   Reply With Quote
Old 01-19-2019, 01:43 AM   #311
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Quote:
Originally Posted by srdmusic View Post
You should put in on the fx chain not input fx.
Helgoboss specifically states to put in on Input FX in step 3 of the Quick Start: "Add a track, arm it for recording (or at least enable input monitoring) and open its input FX chain"

No matter, if I put it on Insert FX the problem remains the same. And do you mean ReaLearn should have a dedicated track, or should it be on all tracks? That also does not seem to change the jerky feedback.

By the way, control is not just slow, it also becomes jerky. I guess there is interference between the BCR's MIDI output and input.

Last edited by Garwyx; 01-19-2019 at 03:22 AM.
Garwyx is offline   Reply With Quote
Old 01-20-2019, 05:08 AM   #312
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

I realised that, in my case, it would suffice if feedback would be sent only when I change tracks. Would that be possible with ReaLearn (or in any other way?). I am pretty sure that will negate the jerky behaviour of the rotary encoders.
Garwyx is offline   Reply With Quote
Old 01-25-2019, 01:13 PM   #313
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by Anzick View Post
Hello, is it possible to install ReLearn on Linux? It doesn't seem to work with Airwave or Carla. Thank you.
You can use in wine in reaper win.
TonE is offline   Reply With Quote
Old 01-31-2019, 09:39 AM   #314
kaeru
Human being with feelings
 
Join Date: Dec 2016
Posts: 21
Default

Quote:
Originally Posted by Garwyx View Post
Helgoboss specifically states to put in on Input FX in step 3 of the Quick Start: "Add a track, arm it for recording (or at least enable input monitoring) and open its input FX chain"

No matter, if I put it on Insert FX the problem remains the same. And do you mean ReaLearn should have a dedicated track, or should it be on all tracks? That also does not seem to change the jerky feedback.

By the way, control is not just slow, it also becomes jerky. I guess there is interference between the BCR's MIDI output and input.
I do believe we are having the same issue !
kaeru is offline   Reply With Quote
Old 01-31-2019, 01:09 PM   #315
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Quote:
Originally Posted by kaeru View Post
I do believe we are having the same issue !
Indeed. I found out that with the Behringer BCR2000 it is because the LED value is received from the potmeter itself, so it receives mixed signals when it gets turned but also receives MIDI feedback.
Garwyx is offline   Reply With Quote
Old 02-01-2019, 12:12 AM   #316
LowlyOP
Human being with feelings
 
LowlyOP's Avatar
 
Join Date: Feb 2018
Posts: 121
Default

Quote:
Originally Posted by Garwyx View Post
I have set up as follows:
- Created a track called BCR2000 Control
- This track has ReaLearn on Input FX and the BCR2000 as its record input. The track is armed for recording.
- Parameters are set up to use BCR rotaries as Source and plugin parameters as Target. Track type is set to <selected>.
- Inputs are MIDI CC messages with the Knob/Fader Character. Any other Character type did not seem to work.
- => Control and <= Feedback are enabled
- All other settings are left untouched
Quote:
Originally Posted by srdmusic View Post
You should put in on the fx chain not the input fx
Quote:
Originally Posted by Garwyx
Helgoboss specifically states to put in on Input FX in step 3 of the Quick Start: "Add a track, arm it for recording (or at least enable input monitoring) and open its input FX chain"

Quote:
Originally Posted by Garwyx
No matter, if I put it on Insert FX the problem remains the same.
Wait.. what? Typo, or are you shrugging off the suggestion? lol

Quote:
Originally Posted by Garwyx
]
And do you mean ReaLearn should have a dedicated track
You should at least try it. It's how I have mine setup (and working well with various midi controllers).

Quote:
Originally Posted by Garwyx View Post
I realised that, in my case, it would suffice if feedback would be sent only when I change tracks. Would that be possible with ReaLearn (or in any other way?). I am pretty sure that will negate the jerky behaviour of the rotary encoders.

Can you explain this a bit more? If i understand, you simply want some LED to do something when you navigate to another track? Yes.



Quote:
Originally Posted by Garwyx View Post
Indeed. I found out that with the Behringer BCR2000 it is because the LED value is received from the potmeter itself, so it receives mixed signals when it gets turned but also receives MIDI feedback.

It could be easy enough to inspect the midi port to see what messages are being sent, specifcally, and then do with that what you will Again, if i understand^^

Last edited by LowlyOP; 02-01-2019 at 12:25 AM. Reason: sources
LowlyOP is offline   Reply With Quote
Old 02-01-2019, 01:32 AM   #317
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Quote:
Originally Posted by LowlyOP View Post
Wait.. what? Typo, or are you shrugging off the suggestion? lol
Neither. I have used ReaLearn on both Input FX and Insert FX, both yielding the same result.

Quote:
You should at least try it. It's how I have mine setup (and working well with various midi controllers).
The best working solution was indeed with a dedicated ReaLearn track, in which ReaLearn went on Input FX and record was enabled. That way, all plugins responded properly to receiving from and sending data to the BCR.

Quote:
Can you explain this a bit more? If i understand, you simply want some LED to do something when you navigate to another track? Yes.
The problem with the BCR is that the rotary encoders receive the LED status from the encoder themselves (I think I read that in the CSI topic). So if I turn the knob, it sends MIDI data to the plugin, but also to itself. Then when it also receives feedback from Reaper, these signals get mixed up, leading to slow and jerky response of the encoder.
Because I will not move the faders of the VST Plugins in the box but only on the BCR, I do not need constant feedback when plugin parameters are changed. It would suffice if feedback is only sent when I change tracks, so the BCR attains the correct setting.

Quote:
It could be easy enough to inspect the midi port to see what messages are being sent, specifcally, and then do with that what you will Again, if i understand^^
I do not understand. I know which messages are being sent by deducing that the potmeters respond. So they are the same MIDI CC messages.
Garwyx is offline   Reply With Quote
Old 02-18-2019, 01:28 PM   #318
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Can anyone explain to me how control transformation works, or at least how to change logarithmic controls? On ReaGate, many parameters (like Threshold, Attack and Release) work logarithmically, so when I map them the BCR shoots through the first values and goes slower on higher settings. This is less than ideal.
I thought the control transformation in ReaLearn could solve this, but I cannot find how to operate it. Or should I do something else?
Garwyx is offline   Reply With Quote
Old 02-25-2019, 07:49 AM   #319
endorka
Human being with feelings
 
endorka's Avatar
 
Join Date: Jan 2014
Location: Glasgow
Posts: 521
Default

This is fabulous Helgoboss. For ages I've been looking for a way to control FX parameters with an external controller, so I don't have to look at the screen or use a mouse when the ears should be the conductor. Thank you, I've sent a donation.

I'm using it with a Behringer X Touch mini, for control of track plugin parameters during mixdown. Working well with all the encoders in relative mode, feedback enabled with the latest pre-release.

The plan is to get it working on a "channel strip" for most tracks with IK Multimedia TR5 EQ-73 and SKnote Disto plugins. Some specialised tracks have other FX chains, so it would be good to tailor it to the FX particular to these tracks.

To target the particular FX on each track I'm going to try putting a ReaLearn on each track. By using <This> track ticking "Track must be selected" it should be possible to get different FX on each track to respond to the X Touch.

Export / Import to clipboard has been very useful for changing many mappings at once in a text editor. I wonder if there is a way to change "trackGUID": "selected", to <This> by any chance?

Cheers,
Jennifer
__________________
Producer | Arranger | Composer | Bass guitar | Double bass
Website: https://www.jenclarkmusic.com/
endorka is offline   Reply With Quote
Old 03-03-2019, 06:26 AM   #320
endorka
Human being with feelings
 
endorka's Avatar
 
Join Date: Jan 2014
Location: Glasgow
Posts: 521
Default

I've put ReaLearn as the first plugin in the chain on each track with the "channel strip" it controls. There's approximately 30 mappings in each instance. In a recent project there was perhaps 15 tracks with this. It's working well, but there is a definitely slowdown in certain project operations, e.g. copy and paste one of the tracks with ReaLearn on it takes a very long time (say 30 seconds).

Also the project takes longer to load, it's waiting on ReaLearn.

Any ideas what could be going on? Is it possible I've used a sledgehammer to crack a nut, so to speak? :-)

Cheers,
Jennifer
__________________
Producer | Arranger | Composer | Bass guitar | Double bass
Website: https://www.jenclarkmusic.com/
endorka 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 07:29 AM.


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