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

Reply
 
Thread Tools Display Modes
Old 10-22-2016, 02:45 PM   #41
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

Absolutely great tool, but I am experiencing some Reaper crashes because of ReaLearn.. is it still under development?

P.S. If you rename the default name "VSTi: ReaLearn (Helgoboss)" to something else, then Reaper crashes. Reaper 5.27 x86, Windows 7 SP1 x64
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)

Last edited by amagalma; 10-22-2016 at 11:46 PM.
amagalma is offline   Reply With Quote
Old 10-26-2016, 06:16 AM   #42
flyshe
Human being with feelings
 
Join Date: Sep 2012
Posts: 39
Default

There is a bug where some cc Parameters are not recognized the right way.
At the moment its happening with cc 38 on channel 13, but i had this problem several times with other cc parameters.

In realearn i can add a new mapping, learn the parameter and assign some vst to it, but now the assigned vst parameter does not respond. In realearn no value is changeing (the right character (Knob/Fader) is assigned), and the parameter doesnt get filtered when "let matched events through" is ticked off.

I use several instances of realearn, but not on this particular track. The problematic cc parameter is not used somwhere elese in the project.
flyshe is offline   Reply With Quote
Old 10-30-2016, 02:46 AM   #43
flyshe
Human being with feelings
 
Join Date: Sep 2012
Posts: 39
Default

When i move a reaLearn Instance from one track to another, save the Project and load it again, Reaper crashes.

Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: reaper.exe
Anwendungsversion: 5.2.7.0
Anwendungszeitstempel: 58076eb3
Fehlermodulname: ReaLearn.dll
Fehlermodulversion: 1.0.0.0
Fehlermodulzeitstempel: 57a38334
Ausnahmecode: c0000005
Ausnahmeoffset: 000a0b61
Betriebsystemversion: 6.1.7601.2.1.0.768.3
Gebietsschema-ID: 3079
Zusatzinformation 1: 0c47
Zusatzinformation 2: 0c47ecc18b31d3b3d50c3a36f49e3b09
Zusatzinformation 3: eb9d
Zusatzinformation 4: eb9dc41d00eaccd0552b2b2b3b3a3f0f
flyshe is offline   Reply With Quote
Old 11-01-2016, 02:31 PM   #44
micha
Human being with feelings
 
micha's Avatar
 
Join Date: Jul 2007
Location: Germany
Posts: 132
Default

hi,

1st: great tool!! waited for ages for something like that!

it works good, as far as i can say, to control sends via bcr2000 as long as its in read/trim oder latch-preview mode. when i switch to write/touch/latch it takes a couple of seconds some data and then freezes.

same result, no matter if as inputfx or insert.

or am i doing something wrong?

Reaper 5.27, win7-64bit


greetings,

micha
micha is offline   Reply With Quote
Old 11-02-2016, 08:09 AM   #45
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

A quick comment for now: Yes, ReaLearn is under active development. I'll try to fix some bugs in near future.
helgoboss is offline   Reply With Quote
Old 11-03-2016, 09:35 AM   #46
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by micha View Post
it works good, as far as i can say, to control sends via bcr2000 as long as its in read/trim oder latch-preview mode. when i switch to write/touch/latch it takes a couple of seconds some data and then freezes.
This sounds like a known issue of the first beta. I thought I fixed that for the later betas and I also can't reproduce it with beta4.

Are you sure you use the latest beta version (beta4)? You can check like this:

1. Open the properties window for the "ReaLearn.dll" file (64-bit).
2. Go to the tab "Details"
3. Have a look at the date of modification (not the product version, that doesn't include the beta info!)



It should be August 4th 2016.

Cheers
Benjamin
Attached Images
File Type: png realearn-release-date.png (14.6 KB, 2735 views)
helgoboss is offline   Reply With Quote
Old 11-03-2016, 09:56 AM   #47
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by flyshe View Post
There is a bug where some cc Parameters are not recognized the right way.
At the moment its happening with cc 38 on channel 13, but i had this problem several times with other cc parameters.

In realearn i can add a new mapping, learn the parameter and assign some vst to it, but now the assigned vst parameter does not respond. In realearn no value is changeing (the right character (Knob/Fader) is assigned), and the parameter doesnt get filtered when "let matched events through" is ticked off.
Can you please send the RPP file to info@helgoboss.org? I need to know the exact setup.

Quote:
Originally Posted by flyshe View Post
When i move a reaLearn Instance from one track to another, save the Project and load it again, Reaper crashes.
Is it possible that you also renamed the FX instance of ReaLearn?
helgoboss is offline   Reply With Quote
Old 11-03-2016, 10:21 AM   #48
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by Piszpan View Post
@helgoboss,
I am aware that probably most of your time is dedicated to Playtime at the moment. However, I still hope that you will develop ReaLearn further. While it is already a HUGE improvement over Reaper's native MIDI learning, jumping parameters after you load a preset that doesn't match current hardware knobs positions is still a problem.

I guess that implementing proper MIDI CC feedback is not an easy task (otherwise someone would already do it years ago). So, could we have e.g. a hook mode and/or a scaled mode? As in this video:
https://youtu.be/QWnvxvHg67U?t=237
We have a "hook mode" already. A configurable one: In "Absolute mode", just move the slider "Max jump" to a small value. Isn't that what you are looking for? Scale mode looks quite cool by the way!

I've already thought about implementing MIDI feedback. From the point where ReaLearn is now, I think it's not such a long way to go anymore to have MIDI feedback. In a sense that target parameter changes are sent to the corresponding source. The biggest effort I see right now is in "establishing" the connection to the MIDI out port - because just sending the MIDI feedback to the MIDI out of the VST and letting the user choose the track's MIDI Hardware Output using REAPER itself would be weird, especially if there's a VSTi coming after ReaLearn in the signal chain. The VSTi would receive the MIDI feedback then, which makes no sense. But that should be solvable.

Last edited by helgoboss; 11-03-2016 at 02:59 PM.
helgoboss is offline   Reply With Quote
Old 11-03-2016, 02:56 PM   #49
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by snooks View Post
Nice work on this, thanks!

One very inconvenient feature request could be to have a MIDI filter companion effect that filters any MIDI currently being used for learned things.
Not so inconvenient actually As I understand you, you have an effect in your mind that blocks all MIDI events that are learned in any ReaLearn instance, right? That would make sense. The "Let matched events through" checkbox only relates to the current ReaLearn instance, not all. I created a ticket.

Quote:
Originally Posted by Diego Roinich View Post
I found some problems with some Control Changes such as cc 6 or 100 and 101. I did not try them all. Realearn detects them but then does not control anything...
The thing is, CCs 6, 98, 99, 100, 101 are all CCs that are used for (N)RPN messages. Currently, they are not available as normal CCs. But as most people probably don't use (N)RPN messages, I want to add a checkbox for disabling (N)RPN detection and processing. I've created a ticket for that.

Quote:
Originally Posted by MW1 View Post
My question would be about Program Change messages.
I remember we already talked via email. Your use case would work if ReaLearn issue 21 is solved. Related Playtime issue #219 is already fixed in Playtime 1.12-pre1.

Quote:
Originally Posted by hwhalen View Post
helgoboss

I've set up ReaLearn with eight Custom actions and it does not remember the settings.
The first one is remembered, but not the other seven.
On top of that I've tried to saving the preset and also exporting/importing the vst bank/patchfile.
None of these alternatives will reset the ReaLearn vst.
I would have to recreate them every time!
Acknowledged. Tracked in issue #25.

Quote:
Originally Posted by amagalma View Post
Absolutely great tool, but I am experiencing some Reaper crashes because of ReaLearn.. is it still under development?

P.S. If you rename the default name "VSTi: ReaLearn (Helgoboss)" to something else, then Reaper crashes. Reaper 5.27 x86, Windows 7 SP1 x64
Just for protocol, this is issue #22.
helgoboss is offline   Reply With Quote
Old 11-04-2016, 06:36 AM   #50
casrya
Human being with feelings
 
Join Date: Dec 2013
Location: Melbourne, Australia
Posts: 96
Default

I did some experimenting with ReaLearn this evening since it looks like a useful tool but I found a problem with the “max jump” parameter ignoring (not following) fast fader movements even when set to much higher values than should be needed.

In the midi logger I can see that all of the cc values are there in increments of 1 so it is not a problem with the control data and the built in reaper learn does not show this behaviour.

It would be great if you can take a look and hopefully fix.

Cheers,

casrya
casrya is offline   Reply With Quote
Old 11-05-2016, 06:07 AM   #51
stars
Human being with feelings
 
Join Date: Mar 2016
Posts: 22
Default

What a great tool!

I have couple of questions:
#1: What is the highest precision when controllin track volume using midi controller (bcr2000) via Realearn? No matter what I try I allways find that 0.84db is the highest precision, am I wrong?

#2: When target parameter goes to -inf then it gets stuck, it will not obey the source unless I manually drag the target parameter to higher value by mouse, is this a bug?

Specs: Win x64, Reaper x64, Realearn beta 4.
stars is offline   Reply With Quote
Old 11-05-2016, 09:23 AM   #52
micha
Human being with feelings
 
micha's Avatar
 
Join Date: Jul 2007
Location: Germany
Posts: 132
Default

Hi Benjamin,

thx for your reply!
i checked the properties and the date is 4th of august.

wanted to download from your website again, but can't reach it. connection refused. dunno why. will try later again.

micha

Quote:
Originally Posted by helgoboss View Post
This sounds like a known issue of the first beta. I thought I fixed that for the later betas and I also can't reproduce it with beta4.

Are you sure you use the latest beta version (beta4)? You can check like this:

1. Open the properties window for the "ReaLearn.dll" file (64-bit).
2. Go to the tab "Details"
3. Have a look at the date of modification (not the product version, that doesn't include the beta info!)



It should be August 4th 2016.

Cheers
Benjamin
micha is offline   Reply With Quote
Old 11-06-2016, 04:53 AM   #53
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by casrya View Post
I did some experimenting with ReaLearn this evening since it looks like a useful tool but I found a problem with the “max jump” parameter ignoring (not following) fast fader movements even when set to much higher values than should be needed.

In the midi logger I can see that all of the cc values are there in increments of 1 so it is not a problem with the control data and the built in reaper learn does not show this behaviour.
Strange. Does this also happen if you set the "Max jump" parameter to the maximum (1.00)? Would be great if you could send me the RPP file (info@helgoboss.org).

Quote:
Originally Posted by stars View Post
#1: What is the highest precision when controllin track volume using midi controller (bcr2000) via Realearn? No matter what I try I allways find that 0.84db is the highest precision, am I wrong?

#2: When target parameter goes to -inf then it gets stuck, it will not obey the source unless I manually drag the target parameter to higher value by mouse, is this a bug?
#1: I assume you use relative mode and adjust the min/max step size? There are 2 things to say about resolution. First, the step size sliders only offer a coarse-grained setting (100 different step sizes). If you want to fine-tune the step size, you need to use the little text field right to the slider and enter some decimal numbers such as 0.005 (which would mean 0.5% of the total parameter range - in the next version I will change this to a percent value actually so there will be less decimal points). Second, it's a bit difficult to talk about resolution in case of the volume target because of the scale. For example, when the current volume is 0db and I increase it by one step (and step size is 0.01 = 1%), I get 0.45db, so the difference is 0.45db. But if the current volume is -16db and I increase it by one step, I get 15.35db, so the difference is 0.65db.

#2: Also in relative mode, right? Mmh, yes. Seems to be a bug. But I only could reproduce that for very low step sizes. I think there's a slight issue right now with increments and decrements not being 100% symmetric. Will look into it.

Quote:
Originally Posted by micha View Post
i checked the properties and the date is 4th of august.

wanted to download from your website again, but can't reach it. connection refused. dunno why. will try later again.
Thanks for checking. Could you please send me the RPP file to info@helgoboss.org? Sorry, the website was down. It's up again. But if you already have beta4, then you are already up-to-date and don't need to reinstall.
helgoboss is offline   Reply With Quote
Old 11-06-2016, 07:29 AM   #54
micha
Human being with feelings
 
micha's Avatar
 
Join Date: Jul 2007
Location: Germany
Posts: 132
Default

Quote:
Originally Posted by helgoboss View Post
Thanks for checking. Could you please send me the RPP file to info@helgoboss.org? Sorry, the website was down. It's up again. But if you already have beta4, then you are already up-to-date and don't need to reinstall.
just send you an email.
micha is offline   Reply With Quote
Old 11-06-2016, 09:30 AM   #55
stars
Human being with feelings
 
Join Date: Mar 2016
Posts: 22
Default

Helgoboss thanx for your support!
Quote:
Originally Posted by helgoboss View Post
#1: I assume you use relative mode
Yes.
Quote:
Originally Posted by helgoboss View Post
enter some decimal numbers such as 0.005 (which would mean 0.5% of the total parameter range
The minimum value that Im able to enter is 0.1
Quote:
Originally Posted by helgoboss View Post
in the next version I will change this to a percent value actually so there will be less decimal points)
I agree, It would be much easyer.
Quote:
Originally Posted by helgoboss View Post
it's a bit difficult to talk about resolution in case of the volume target because of the scale.
I understand, when I sayd 0,84db I measured it by having volume fader first at 0db and then increasing one step in relative mode which nudged the volume fader to 0.84db


Im also working in absolute mode, could you give an example of what kind of setting to use to be able to have higher resolution, I allready tryd 14bit nrpn but didnt have any luck.
stars is offline   Reply With Quote
Old 11-07-2016, 02:52 AM   #56
casrya
Human being with feelings
 
Join Date: Dec 2013
Location: Melbourne, Australia
Posts: 96
Default

Hi Helgoboss,

Attached is a test project that compares “soft takeover” behaviour between realearn and reaper midi (using MIDIToReaControlPath) using some recorded slider movements (cc73) to control a js volume. The fader is recorded so you can easily see where the problem is.

The problem does not occur at 1.0 max jump. It starts getting noticeable around .3 and very obvious by .1 (which are still relatively big thresholds at 10-30%).

Cheers,

Casrya
Attached Files
File Type: rpp realearn_test.rpp (108.3 KB, 568 views)
casrya is offline   Reply With Quote
Old 11-08-2016, 02:18 AM   #57
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by stars View Post
The minimum value that Im able to enter is 0.1
Mmh, it should be possible already now to enter values as small as 0.01 (enter the value in the text field and press tab for example to leave the text field). Entering values < 0.01 is also possible but the additional decimal points will not be displayed afterwards. This will be fixed in the next version.

Quote:
Originally Posted by stars View Post
Im also working in absolute mode, could you give an example of what kind of setting to use to be able to have higher resolution, I allready try 14bit nrpn but didnt have any luck.
Which resolution you can achieve in absolute mode depends entirely on your controller. If your controller supports sending 14-bit messages (CC or (N)RPN), it would be perfect (16384 possible values). But I guess there are not many controllers that support it. With most controllers, you just have 127 possible values.

One trick to increase resolution in absolute mode would be to restrict the target range (by adjusting Target min and max).

Quote:
Originally Posted by casrya View Post
Hi Helgoboss,

Attached is a test project that compares “soft takeover” behaviour between realearn and reaper midi (using MIDIToReaControlPath) using some recorded slider movements (cc73) to control a js volume. The fader is recorded so you can easily see where the problem is.

The problem does not occur at 1.0 max jump. It starts getting noticeable around .3 and very obvious by .1 (which are still relatively big thresholds at 10-30%).
Perfect test project! Thanks. I could reproduce the issue and know the reason now. Going to fix this in the next release.
helgoboss is offline   Reply With Quote
Old 11-08-2016, 02:00 PM   #58
micha
Human being with feelings
 
micha's Avatar
 
Join Date: Jul 2007
Location: Germany
Posts: 132
Default

so, got to say THANK YOU, Benjamin out loud here again!

what a great support! and in the end it was - as often - the user... or the users system

after changing the reaper.ini into a fresh one it works flawless!
i guess i m carrying around that old ini since reaper 1... anyway. it works now, thanks to the support of benjamin. he wanted to send me some ini-files to check and so i took a look.



BIG UP... away dubbing myself to heaven with reaper now!! finally!! YEEEHAW!!!11EINSELF

micha
micha is offline   Reply With Quote
Old 11-10-2016, 04:58 AM   #59
casrya
Human being with feelings
 
Join Date: Dec 2013
Location: Melbourne, Australia
Posts: 96
Default

Quote:
Originally Posted by helgoboss View Post
Perfect test project! Thanks. I could reproduce the issue and know the reason now. Going to fix this in the next release.
Glad to help! .. looking forward to the update
casrya is offline   Reply With Quote
Old 11-11-2016, 04:24 PM   #60
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Here's a new beta: ReaLearn 1.0.0-beta5

Changes:
#33 Improved usability by allowing input of source min/max values as discrete values, not as percental ones (that allows for far more precise setups)
#29 Improved usability and comprehensibility by working with percental values instead of values between 0 and 1
#28 Improved range of usable CCs: CCs 6, 38, 98, 99, 100 and 101 are now usable if (N)RPN is not used on that channel
#35 Improved stability by deferring to main thread much earlier in the processing chain
#20 Improved usability by not using more screen space than necessary, for example by reducing the space between mapping rows
#37 Improved supportability by including information about beta version in DLL file
#25 Fixed broken restoral of custom action targets
#30 Fixed broken text input for target value
#32 Fixed bug that caused the pitch wheel to never reach the highest possible value
#22 Fixed crash on REAPER project load after ReaLearn FX was renamed
#23 Fixed display of dummy values and incomplete values on REAPER project load for send volume targets
#31 Fixed bug that caused soft takeover (max jump) to lose track of the value and therefore misbehave
#34 Fixed REAPER freeze when writing send volume automation while FX multiprocessing enabled
#38 Fixed flipped UI in OS X ('Add mapping' button and checkboxes were on the buttom but they should have been on the top like on Windows)

Thank you for your feedback about the previous betas! I think ReaLearn is soon going to leave the beta phase. Please let me know if you have any issues with this one.

Ben
helgoboss is offline   Reply With Quote
Old 11-12-2016, 06:18 AM   #61
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 89
Default

@helgoboss,
Thanks for the update.

However, I still have problems with the (supposed) "snap mode" in this new version (beta 5).

If the "max jump" value is set to some low number, ReaLearn works OK only if I do very slow movements of my hardware faders/pots. If I do a quick fader move through its whole range (e.g. fast minumum to maximum), the target parameter only moves a tiny bit (I guess equal to... "max jump"). And if I quickly move fader full range back and forth, the target just moves back and forth a tiny bit.

Unfortunately, this is not the way a snap mode should work. I hope you will be able to fix this soon.
Once again thanks for your efforts!
Cheers,
Piszpan is offline   Reply With Quote
Old 11-12-2016, 08:01 AM   #62
Slapclap
Human being with feelings
 
Slapclap's Avatar
 
Join Date: Jun 2015
Posts: 124
Default

Looking forward to using this, I'm getting a Graphite 49 in a few weeks and I assume I can use Rea learn with that keyboard controller? I also have a Faderport, will these devices work together side by side with this little gem?
Slapclap is offline   Reply With Quote
Old 11-12-2016, 08:15 AM   #63
hwhalen
Human being with feelings
 
hwhalen's Avatar
 
Join Date: Jan 2010
Location: Canada
Posts: 1,034
Default

Quote:
Originally Posted by helgoboss View Post
Here's a new beta: ReaLearn 1.0.0-beta5

Changes:

#25 Fixed broken restoral of custom action targets


Ben
I have not been able to have my custom actions save properly using ReaLearn.
I created a new ReaLearn preset with two custom actions.
It always forgets the second one?
__________________
My Music
Noise From My Head
On The Links
hwhalen is offline   Reply With Quote
Old 11-12-2016, 09:45 AM   #64
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by Piszpan View Post
@helgoboss,
Thanks for the update.

However, I still have problems with the (supposed) "snap mode" in this new version (beta 5).

If the "max jump" value is set to some low number, ReaLearn works OK only if I do very slow movements of my hardware faders/pots. If I do a quick fader move through its whole range (e.g. fast minumum to maximum), the target parameter only moves a tiny bit (I guess equal to... "max jump"). And if I quickly move fader full range back and forth, the target just moves back and forth a tiny bit.

Unfortunately, this is not the way a snap mode should work. I hope you will be able to fix this soon.
Once again thanks for your efforts!
Cheers,
I'd rather call it "pickup" or "hook" mode. I guess when doing your quick fader move, your controller just skips some values (to save MIDI bandwith or because of some hardware limitations). For example, the modulation wheel on my Akai Advance 61 skips many values even if I move it very slowly. You can check the ReaControlMIDI log and have a look. If my guess is wrong, please let me know.

If my guess is right however, then I'm afraid there's nothing much I can do because skipped values make it close to impossible for ReaLearn to know that your intention was to make a continuous move. So right now, your two options are: Increase the max jump value until it works well for your controller and/or use a controller which maintains a high resolution even during quick fader moves.

Look at REAPER's "soft takeover". Based on my experiments with it (even in latest REAPER), I would say it suffers from the same natural limitation (plus you can't control the maximum jump setting).

Is it possible that you are looking for the "scale" mode instead that you suggested earlier? Maybe I'm missing some obvious possibilities here considering the "pickup" mode ... I'm always open to suggestions What just came into my mind: One way to make this work even with controllers that skip values would be to allow parameter jumps in case the time interval between two value modifications is very small ... need to think about that.

Quote:
Originally Posted by Slapclap View Post
Looking forward to using this, I'm getting a Graphite 49 in a few weeks and I assume I can use Rea learn with that keyboard controller? I also have a Faderport, will these devices work together side by side with this little gem?
As long as it sends MIDI events, it should work. I've quickly googled about Faderport and read something that only some controls of it can transmit MIDI ... but I might be wrong. You're welcome to have a try Feedback is not supported however (maybe in future).

Quote:
Originally Posted by hwhalen View Post
I have not been able to have my custom actions save properly using ReaLearn.
I created a new ReaLearn preset with two custom actions.
It always forgets the second one?
Thanks, true. Could reproduce it.

Last edited by helgoboss; 11-12-2016 at 09:54 AM.
helgoboss is offline   Reply With Quote
Old 11-12-2016, 10:15 AM   #65
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 89
Default

Quote:
Originally Posted by helgoboss View Post
I'd rather call it "pickup" or "hook" mode. I guess when doing your quick fader move, your controller just skips some values (to save MIDI bandwith or because of some hardware limitations). For example, the modulation wheel on my Akai Advance 61 skips many values even if I move it very slowly. You can check the ReaControlMIDI log and have a look. If my guess is wrong, please let me know.

If my guess is right however, then I'm afraid there's nothing much I can do because skipped values make it close to impossible for ReaLearn to know that your intention was to make a continuous move. So right now, your two options are: Increase the max jump value until it works well for your controller and/or use a controller which maintains a high resolution even during quick fader moves.

Look at REAPER's "soft takeover". Based on my experiments with it (even in latest REAPER), I would say it suffers from the same natural limitation (plus you can't control the maximum jump setting).

Is it possible that you are looking for the "scale" mode instead that you suggested earlier? Maybe I'm missing some obvious possibilities here considering the "pickup" mode ... I'm always open to suggestions What just came into my mind: One way to make this work even with controllers that skip values would be to allow parameter jumps in case the time interval between two value modifications is very small ... need to think about that.

Thanks for explanation. So - if I understand correctly - you would need to constantly compare two most recent incoming CC values and check if the snap point (= current actual parameter value in a VST) falls between them. If so - this should activate passing CC's from hardware to VST. If I understand correctly, current method looks for an exact supposed value to occur, right?

Anyway, if I don't use the "max jump" option, everything works OK (= no problems with not reaching extreme values while moving hardware pots quickly). But then, of course, horrible jumps occur when pots positions don't match values in VST's.
Piszpan is offline   Reply With Quote
Old 11-12-2016, 10:56 AM   #66
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by Piszpan View Post
Thanks for explanation. So - if I understand correctly - you would need to constantly compare two most recent incoming CC values and check if the snap point (= current actual parameter value in a VST) falls between them. If so - this should activate passing CC's from hardware to VST. If I understand correctly, current method looks for an exact supposed value to occur, right?
Mmh, not really. Current method works like this (just an example scenario):

0. Current VST parameter value is at 89%
1. CC value 57 arrives
2. ReaLearn translates CC value 57 to a VST parameter value (let's say the result would be 87%) but doesn't send it yet to the VST
3. ReaLearn calculates 89% - 87% = 2% and checks "Is 2% <= max jump?" If yes, the value is sent to the VST, if not, it's ignored (because it would cause a jump).

This very straight-forward method does one thing: It prevents jumps from happening - at all costs. With user-defined jump sizes: The "max jump" slider let's the user define what interval he considers as a jump - so turning max jump to 0% obviously prevent any change because even "no change" would be considered a jump

When I wrote "What just came into my mind", I meant the following idea: To exceptionally allow a jump (of any size) if the two most recent CC events have been sent within - let's say - 10ms. That would probably cover your case of fast fader moment. Of course, it would result in something that you actually want to avoid: A parameter jump. But only in this special case. If you switch the VST preset and the VST parameter gets a totally different value because of this and then move the fader again, a jump would still be prevented. It's a compromise ... not sure if it would be useful from a musical perspective. Depends on the case I guess.
helgoboss is offline   Reply With Quote
Old 11-12-2016, 12:37 PM   #67
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 89
Default

Quote:
Originally Posted by helgoboss View Post
Mmh, not really. Current method works like this (just an example scenario):

0. Current VST parameter value is at 89%
1. CC value 57 arrives
2. ReaLearn translates CC value 57 to a VST parameter value (let's say the result would be 87%) but doesn't send it yet to the VST
3. ReaLearn calculates 89% - 87% = 2% and checks "Is 2% <= max jump?" If yes, the value is sent to the VST, if not, it's ignored (because it would cause a jump).

This very straight-forward method does one thing: It prevents jumps from happening - at all costs. With user-defined jump sizes: The "max jump" slider let's the user define what interval he considers as a jump - so turning max jump to 0% obviously prevent any change because even "no change" would be considered a jump

When I wrote "What just came into my mind", I meant the following idea: To exceptionally allow a jump (of any size) if the two most recent CC events have been sent within - let's say - 10ms. That would probably cover your case of fast fader moment. Of course, it would result in something that you actually want to avoid: A parameter jump. But only in this special case. If you switch the VST preset and the VST parameter gets a totally different value because of this and then move the fader again, a jump would still be prevented. It's a compromise ... not sure if it would be useful from a musical perspective. Depends on the case I guess.

Looks that this whole "max jump option" idea will not add any benefit to my workflow, unfortunatelly. If it is conceived to support the hook mode, then the example I described above shows that it does not introduce any practical benefits at the end. You know, sometimes if something works only partially then it still does not work at all - and this seems to be such a case.

ReaLearn is already a great tool - in many ways much better than current Reaper's built-in solution. However, it would be great to have either a fully functional classic hook mode, or - the better - MIDI CC feedback to controller. (I have a BCR2000 which works wonderfully with plugins e.g. in Studio One - any onscreen changes, including switching presets, are immediately shown on the BCR2000.)

Cheers
Piszpan is offline   Reply With Quote
Old 11-12-2016, 04:40 PM   #68
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by Piszpan View Post
Looks that this whole "max jump option" idea will not add any benefit to my workflow, unfortunatelly. If it is conceived to support the hook mode, then the example I described above shows that it does not introduce any practical benefits at the end. You know, sometimes if something works only partially then it still does not work at all - and this seems to be such a case.

ReaLearn is already a great tool - in many ways much better than current Reaper's built-in solution. However, it would be great to have either a fully functional classic hook mode, or - the better - MIDI CC feedback to controller. (I have a BCR2000 which works wonderfully with plugins e.g. in Studio One - any onscreen changes, including switching presets, are immediately shown on the BCR2000.)

Cheers
Do you have any example of the fully functional classic hook mode? Some video showing how it exactly behaves maybe? How would it handle skipped values for example? I'm very happy to improve ReaLearn to satisfy use cases that I myself don't have. But because of limited time I can only do that efficiently with some detailled input on how the desired feature should work. Maybe it turns out that it's not a big deal to implement it - if so and if I think it makes sense for ReaLearn, I won't hesitate to add it.

MIDI CC feedback is definitely on the list for my own use cases. But even in this area: If you have some particular things you would expect from this functionality, please let me know about them, in as much detail and with as much expressive examples as possible. Otherwise I'll only consider my own use cases and those most likely don't cover all use cases that other users have in mind. Thanks.
helgoboss is offline   Reply With Quote
Old 11-14-2016, 01:48 PM   #69
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 89
Default

Quote:
Originally Posted by helgoboss View Post
Do you have any example of the fully functional classic hook mode? Some video showing how it exactly behaves maybe? How would it handle skipped values for example? I'm very happy to improve ReaLearn to satisfy use cases that I myself don't have. But because of limited time I can only do that efficiently with some detailled input on how the desired feature should work. Maybe it turns out that it's not a big deal to implement it - if so and if I think it makes sense for ReaLearn, I won't hesitate to add it.

MIDI CC feedback is definitely on the list for my own use cases. But even in this area: If you have some particular things you would expect from this functionality, please let me know about them, in as much detail and with as much expressive examples as possible. Otherwise I'll only consider my own use cases and those most likely don't cover all use cases that other users have in mind. Thanks.

Access Virus had the hook mode implemented, but I sold my unit years ago, so I will not be able to prepare any videos. Anyway, the hook mode - in the way I understand it - is demonstrated in the Arturia video I posted earlier in this thread.

As of the MIDI feedback mode and Studio One - here is some example I found on YouTube: https://www.youtube.com/watch?v=v3rBOfbkmZs

The possible problem with feedback mode is focus management. I mean: when shoud ReaLearn send data back to controller if we have multiple ReaLearn instances in a project? This is something that has to be thought well, I think it should send data automatically when the associated VST's editor window is opened or activated (focused).
Piszpan is offline   Reply With Quote
Old 11-17-2016, 04:37 AM   #70
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

New beta: ReaLearn 1.0.0-beta6

Changes:
#39 Improved invocation speed of actions
#40 Fixed still broken restoral of custom action targets
helgoboss is offline   Reply With Quote
Old 11-17-2016, 05:20 AM   #71
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by Piszpan View Post
Access Virus had the hook mode implemented, but I sold my unit years ago, so I will not be able to prepare any videos. Anyway, the hook mode - in the way I understand it - is demonstrated in the Arturia video I posted earlier in this thread.
The hook mode of Access Virus and Arturia MatrixBrute is implemented directly in the hardware itself. That's a difference. They don't need to deal with skipped MIDI events when rotating the knob. A DAW (or in this case ReaLearn) needs to rely on the MIDI events sent by the controller. And if the controller skips MIDI events (as in your case), the DAW can't know about it and can't do anything about it - except maybe applying some kind of heuristic. Your controller just seems to be not 100% usable with hook mode. A scale mode or MIDI feedback would be better suited. If you find a DAW whose hook mode works well with your controller, let me know and I'll rethink

Quote:
Originally Posted by Piszpan View Post
As of the MIDI feedback mode and Studio One - here is some example I found on YouTube: https://www.youtube.com/watch?v=v3rBOfbkmZs

The possible problem with feedback mode is focus management. I mean: when shoud ReaLearn send data back to controller if we have multiple ReaLearn instances in a project? This is something that has to be thought well, I think it should send data automatically when the associated VST's editor window is opened or activated (focused).
Thanks for your input. That's really a good point to consider. I personally think it would make sense to activate MIDI feedback for a particular ReaLearn instance whenever that instance is also "ready" to process incoming MIDI messages - so most likely when the track containing ReaLearn is armed. That's at least the way ReaLearn handles "focusing" already now. In the special case that several tracks with ReaLearn instances are armed (= "focused") and there are overlaps (for example the same knob is used in both ReaLearn instances), I would consider that as an invalid setup (at least for MIDI feedback).

Even if we would take focus of the VST editor into account, it wouldn't help much. Example: VST A (track 1) editor is focused, VST B (track 2) not. The knob would control both the parameter in VST A and the one in VST B (because both tracks are armed), but it would send feedback for VST A only. That's kind of weird.
helgoboss is offline   Reply With Quote
Old 11-17-2016, 07:31 AM   #72
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 89
Default

Quote:
Originally Posted by helgoboss View Post
The hook mode of Access Virus and Arturia MatrixBrute is implemented directly in the hardware itself. That's a difference. They don't need to deal with skipped MIDI events when rotating the knob. A DAW (or in this case ReaLearn) needs to rely on the MIDI events sent by the controller. And if the controller skips MIDI events (as in your case), the DAW can't know about it and can't do anything about it - except maybe applying some kind of heuristic. Your controller just seems to be not 100% usable with hook mode. A scale mode or MIDI feedback would be better suited. If you find a DAW whose hook mode works well with your controller, let me know and I'll rethink

Well, I have to find someone who uses some other DAW and try it with my controllers (BCR2000, Korg Nanokontrol etc.).
At this moment I only found something like this:
https://www.youtube.com/watch?v=7UhlD3hLVf8
Piszpan is offline   Reply With Quote
Old 11-17-2016, 11:32 AM   #73
Slapclap
Human being with feelings
 
Slapclap's Avatar
 
Join Date: Jun 2015
Posts: 124
Default

Quote:
Originally Posted by helgoboss View Post
New beta: ReaLearn 1.0.0-beta6

Changes:
#39 Improved invocation speed of actions
#40 Fixed still broken restoral of custom action targets
Good stuff Helgo, do I need to uninstall the older version or just paste the Dll into my plugins folder, received my Controller keyboard and played with the beta 5 version last night,it's a great help, even though I'm a complete novice when it comes to Keyboards and controllers I found this plugin fairly intuitive, long time DAW user but this type of thing is new to me, so a steep learning curve in front of me, thanks for your good work, it's opened up a whole new world.
Slapclap is offline   Reply With Quote
Old 11-18-2016, 03:17 PM   #74
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by Slapclap View Post
Good stuff Helgo, do I need to uninstall the older version or just paste the Dll into my plugins folder, received my Controller keyboard and played with the beta 5 version last night,it's a great help, even though I'm a complete novice when it comes to Keyboards and controllers I found this plugin fairly intuitive, long time DAW user but this type of thing is new to me, so a steep learning curve in front of me, thanks for your good work, it's opened up a whole new world.
Actually you just need to run the installer and the previous version gets overwritten. Manual DLL copying shouldn't be necessary.
helgoboss is offline   Reply With Quote
Old 11-22-2016, 02:22 PM   #75
Kaitain
Human being with feelings
 
Join Date: Nov 2016
Posts: 34
Default

Hello there

First of all, let me thank you fot this excellent work! This is going to be VERY useful for all the community.

I have though a problem using NRPN MIDI messages. ReaLearn seems not to recognize them properly.

In my setup I´m using a DR-202. This groove box lauches NRPN messages evey time you move the cutoff, resonance or decay knobs. What I´m trying to do is to control the frequency parameter of a band on FabFilter ProQ2 with the frequency knob of the DR202. So, the test I´m doing goes as follows:

- In "Target" I select the FabFilter ProQ2 VST, and Band 1 Frequency as "Parameter".
- In the "source" box of ReaLearn I select "NRPN value", and the correct channel (wich happens to be 10 in my particular case).
- I check "14 bit values" box.
- I click on "Learn" ("Stop learning" appears).
- I move the cutoff knob of the DR202.


Then ReaLearn detects the NRPN message indeed, and the frequency of the Band 1 of the plugin moves, but the problem is that it moves with the same precision as if I ´m using a nomal CC message, that is, using 127 steps, wich are far insufficient for a parameter like this if you want to have any precission (that´s why I thought about usingNRPN). Oh, and also the "14 bit values" checkbox gets automatically unchecked.

What am I doing wrong? Can you help on this one?

Thank you!
Kaitain is offline   Reply With Quote
Old 11-22-2016, 08:56 PM   #76
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

Nice! Thank you very much for your work on this....
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva

Last edited by hopi; 11-22-2016 at 09:35 PM.
hopi is offline   Reply With Quote
Old 11-25-2016, 06:30 AM   #77
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by Kaitain View Post
In my setup I´m using a DR-202. This groove box lauches NRPN messages evey time you move the cutoff, resonance or decay knobs. What I´m trying to do is to control the frequency parameter of a band on FabFilter ProQ2 with the frequency knob of the DR202. So, the test I´m doing goes as follows:

- In "Target" I select the FabFilter ProQ2 VST, and Band 1 Frequency as "Parameter".
- In the "source" box of ReaLearn I select "NRPN value", and the correct channel (wich happens to be 10 in my particular case).
- I check "14 bit values" box.
- I click on "Learn" ("Stop learning" appears).
- I move the cutoff knob of the DR202.


Then ReaLearn detects the NRPN message indeed, and the frequency of the Band 1 of the plugin moves, but the problem is that it moves with the same precision as if I ´m using a nomal CC message, that is, using 127 steps, wich are far insufficient for a parameter like this if you want to have any precission (that´s why I thought about usingNRPN). Oh, and also the "14 bit values" checkbox gets automatically unchecked.

What am I doing wrong? Can you help on this one?

Thank you!
Is it possible that DR202 doesn't send 14-bit (16384 possible values) NRPN messages? NRPN doesn't automatically mean it's 14-bit.

You can check by checking ReaControlMIDI log. An NRPN message is basically a combination of CC messages: CC98, CC99, CC6 - and in case of 14-bit also CC38. Can you check if DR202 sends CC38?
helgoboss is offline   Reply With Quote
Old 11-26-2016, 12:22 PM   #78
Kaitain
Human being with feelings
 
Join Date: Nov 2016
Posts: 34
Default

Wow, that is EXACTLY the problem helgoboss. CC38 is missing, thank you!

What I´m really trying to do is to build a MIDI controller using 14bit NRPN messages with TEENSY. My current code does not seem to work properly with ReaLearn, that´s why I was testing it with the DR202. But you´re right, the DR202 have no use for this... Clearly, the problem is on my code. I´ll keep working on it, and I´ll keep you posted when I manage it to work.

Thanks again!
Kaitain is offline   Reply With Quote
Old 11-26-2016, 01:25 PM   #79
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

helgoboss, I can't reach your site. Is everything ok?
__________________
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 11-27-2016, 12:41 AM   #80
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,184
Default

Quote:
Originally Posted by amagalma View Post
helgoboss, I can't reach your site. Is everything ok?
Thanks, everything okay Is up again. Lately having some trouble with the site.
helgoboss 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:14 AM.


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