 |
|
|
09-01-2021, 11:48 AM
|
#1521
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by tompad
Yeah, this sounds right....I looked and found a parameter called Used/Unused for each band.
You say planned feature - is it in the pre-version? Or is it coming later?
Conditional activation sounds like the right thing to use in this case.
I'll go back and work with other plugins for the moment.
Thanks for your feedback!
|
It's planned, so not started implementing it yet.
Quote:
Originally Posted by Miscreant
I'm having difficulty connecting to the ReaLearn Companion app. Here are the specs:
Android 7.0
Win10
Same wi-fi network?: YES
Reaper and ReaLearn running?: YES
Link to Projection works via web browser works?: YES
Disabled VPN?: YES (Question: is this necessary?)
Manually added new inbound rule for ports 39080 and 39443?: YES
Tried connecting with Win firewall disabled?: YES
So, it appears not to be the firewall that is blocking the connection. Any other tips?
*Edit: I will add that in Win's firewall settings dialogue I can see the two inbound rules I've manually added, as well as /five/ ReaLearn servers, all with the applicable TCP ports. Perhaps this is because I have started the server too many times, and I need to delete all these incoming permissions and restart with a fresh server?
Just a guess.
*Edit: tried removing all the servers and started fresh. Still no dice.
**Edit 2: okay, after more sleuthing I've now gotten to the stage on my android device where I need to install the security certificate. I've downloaded it, but when I go to install it no files appear in the 'select a file' directory that opens after I select 'Install from device storage'. Is there a directory I need to save the certificate to for it to appear here?
***Edit 3: to install the security certificate, I downloaded the certificate installer:
https://play.google.com/store/apps/d...llReviews=true
Unfortunately though it does not automatically boot when I download the certificate, leaving me in the same place as before: when I go to manually install it, the certificate does not appear in the (unnamed) default directory that my tablet goes to for certificate files.
****Edit 4: after still more experimenting, it appears that the certificate is neither here nor there. I attempted to log into the app via my web browser on my computer. The certificate was automatically installed and everything looked good to go. But I still could not connect and I got the 5-second timeout message.
This implies that even if I were to properly install the certificate on my tablet, I wouldn't be further ahead. And maybe this makes sense: the certificate seems to be required only when attempting to log on to the server via the web app. If one is already using the Android app, then this process appears to be redundant.
So yeah: doesn't appear to be a problem with certificate. Still seems to be a problem just with connecting.
|
Exactly, the certificate stuff is only necessary when using it as a web app from a (different) device ... and even then not in all circumstances, depending on how paranoid the browser is (the more modern the more paranoid). When using it as Android app (definitely preferred!), no certificate stuff should be necessary at all.
When you say it works via web browser, then what's the host parameter in the address? I guess it's "localhost". That doesn't mean too much in terms of reachability from "outside", but it's a start.
Do you get a connection from your Android browser when using the IP address display next to "Host:" on the "First-time setup" page like this?:
https://IP_ADDRESS:39443/
If it can reach this address (even if it shows it's not a secure connection), then we are already one step further. It means you addressed your computer running REAPER using the correct host IP address.
If not, then this is the problem. It probably means ReaLearn couldn't figure out the correct public IP address within your network (maybe because there are multiple possibilities). VPN stuff could definitely have to do something with that. Try different IPv4 addresses in this case (the ones printed by "ipconfig" on the command line).
Oh, and yes: For these experiments, temporarily switch off the Windows firewall. Just want to make sure that this is not the culprit.
Quote:
Originally Posted by markusdextegen
Hello all, been searching trough documentation and previous posts looking for answers with no luck so thought id try here
Is there any way to set have multiple selected tracks as target?
|
If you just want to target all currently selected tracks with one fader, use the Track: "<All selected>". But I guess this is not what you want. Read on ...
Quote:
Example:
I have 8 faders sending midi.
When I select one track in reaper, those 8 faders control volume for the selected track plus the next +7 tracks in increments.
I can get one fader to follow selection, but all other faders are hardbound to either the selected track or a set track number/name).
I am seeing a scenario in front of me where if I select track 10, fader one represents track 10 and fader 2-8 automatically controls the remaining 11-17 and so on.
Alternatively, If I selected several tracks through the mix, the 8 midi faders corresponds with the selected tracks.
Kind regards
Markus
|
You can do that by choosing Track: "<Dynamic>" and entering the expression "selected_track_index" for the first fader, "selected_track_index + 1" for the second fader, "selected_track_index + 2" for the third fader, and so on. But you need one of the latest 2.10.0 prereleases to do that!
|
|
|
09-01-2021, 02:24 PM
|
#1522
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
Exactly, the certificate stuff is only necessary when using it as a web app from a (different) device ... and even then not in all circumstances, depending on how paranoid the browser is (the more modern the more paranoid). When using it as Android app (definitely preferred!), no certificate stuff should be necessary at all.
When you say it works via web browser, then what's the host parameter in the address? I guess it's "localhost". That doesn't mean too much in terms of reachability from "outside", but it's a start.
Do you get a connection from your Android browser when using the IP address display next to "Host:" on the "First-time setup" page like this?:
https://IP_ADDRESS:39443/
If it can reach this address (even if it shows it's not a secure connection), then we are already one step further. It means you addressed your computer running REAPER using the correct host IP address.
If not, then this is the problem. It probably means ReaLearn couldn't figure out the correct public IP address within your network (maybe because there are multiple possibilities). VPN stuff could definitely have to do something with that. Try different IPv4 addresses in this case (the ones printed by "ipconfig" on the command line).
Oh, and yes: For these experiments, temporarily switch off the Windows firewall. Just want to make sure that this is not the culprit.
|
When I open it on a web browser from the computer on which I am running Reaper, the address is this:
https://realearn.helgoboss.org/contr...generated=true
Quote:
Do you get a connection from your Android browser when using the IP address display next to "Host:" on the "First-time setup" page like this?:
https://IP_ADDRESS:39443/
|
I'm not sure I understand what you mean. If you are referring to the page where I am taken after I input the session details and where I am asked (on my Android) about a certificate, the URL is this:
https://realearn.helgoboss.org/contr...generated&cert
Note that the IP/host address there is 192.168 /plus/ the 10.5.0.2. When I only put in 10.5.0.2, I am not taken to this page but instead it just times out.
Is this page what you're referring to?
*Edit: I'll add that I am unsure what you mean when referring to the IP address stuff. But when I go into the wi-fi properties and click on the ipv4 connection, it is set to obtain both the IP address and the DNS server 'automatically'.
When I go into the command prompt and type 'ipconfig', I see a 192.etc. address.
Anything I need to be changing here?
Last edited by Miscreant; 09-01-2021 at 02:32 PM.
|
|
|
09-01-2021, 02:32 PM
|
#1523
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
I'm not sure I understand what you mean. If you are referring to the page where I am taken after I input the session details and where I am asked (on my Android) about a certificate, the URL is this:
https://realearn.helgoboss.org/contr...generated&cert
Note that the IP/host address there is 192.168 /plus/ the 10.5.0.2. When I only put in 10.5.0.2, I am not taken to this page but instead it just times out.
Is this page what you're referring to?
|
No, I'm really referring to the page https://IP_ADDRESS:39443/ where you have to replace IP_ADDRESS with the IP address displayed right to "Host:" on the same page that also shows the QR code (point 3). There's no link. You have to enter that address into the browser manually. Just try that first, no other things.
|
|
|
09-01-2021, 02:35 PM
|
#1524
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
No, I'm really referring to the page https://IP_ADDRESS:39443/ where you have to replace IP_ADDRESS with the IP address displayed right to "Host:" on the same page that also shows the QR code (point 3). There's no link. You have to enter that address into the browser manually. Just try that first, no other things.
|
Gotcha. Thanks. So I replaced IP_ADDRESS with the address in the page you specified (10.5.0.2), and no, the page does not load.
So it's an issue with my IP address then, right? If so, perhaps I should change it from 'automatically determine' the IP?
|
|
|
09-01-2021, 02:41 PM
|
#1525
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Gotcha. Thanks. So I replaced IP_ADDRESS with the address in the page you specified (10.5.0.2), and no, the page does not load.
So it's an issue with my IP address then, right? If so, perhaps I should change it from 'automatically determine' the IP?
|
Then type "ipconfig" in the command line and check if some of the adapters displayed there have an IPv4 address that starts with "192.168." (should be the one of the Wi-Fi adapter). Try to use this instead (in the same URL) and see if the page loads.
|
|
|
09-01-2021, 02:45 PM
|
#1526
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
Then type "ipconfig" in the command line and check if some of the adapters displayed there have an IPv4 address that starts with "192.168." (should be the one of the Wi-Fi adapter). Try to use this instead (in the same URL) and see if the page loads.
|
Yep, that works (on both my comp running Reaper and on my android device). It takes me to a page that says 'Welcome to the ReaLearn web server!', along with some other info.
|
|
|
09-01-2021, 02:57 PM
|
#1527
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Yep, that works (on both my comp running Reaper and on my android device). It takes me to a page that says 'Welcome to the ReaLearn web server!', along with some other info.
|
Okay, then fire up the Android app and instead of scanning the QR code enter the connection data manually. The one that's displayed on the same page as the QR code next to "When asked, enter the following connection details:" BUT replace the host IP address displayed there with the one you just successfully tested. Does that work?
It's not very convenient that way but it seems your particular network setup is a bit too complicated for ReaLearn to figure out the correct IP address automatically - it chooses the wrong one (maybe the one in use by your VPN adapter). If this is bothering you and you need the QR code convenience, please open a ticket on GitHub. Maybe I can improve the detection mechanism to prefer "192.168." (= local) IP addresses, or at least provide a possibility to enter a fixed IP address in ReaLearn's INI file.
|
|
|
09-01-2021, 03:03 PM
|
#1528
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
Okay, then fire up the Android app and instead of scanning the QR code enter the connection data manually. The one that's displayed on the same page as the QR code next to "When asked, enter the following connection details:" BUT replace the host IP address displayed there with the one you just successfully tested. Does that work?
It's not very convenient that way but it seems your particular network setup is a bit too complicated for ReaLearn to figure out the correct IP address automatically - it chooses the wrong one (maybe the one in use by your VPN adapter). If this is bothering you and you need the QR code convenience, please open a ticket on GitHub. Maybe I can improve the detection mechanism to prefer "192.168." (= local) IP addresses, or at least provide a possibility to enter a fixed IP address in ReaLearn's INI file.
|
Gotcha, thanks. I'm about to do that, but another obstacle: the app appears not to let me input '.' into the IP address. When I go to input information, I am given only a basic numeric keypad.
*Edit: I also appear unable to copy/paste into the box as well.
|
|
|
09-01-2021, 03:07 PM
|
#1529
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Gotcha, thanks. I'm about to do that, but another obstacle: the app appears not to let me input '.' into the IP address. When I go to input information, I am given only a basic numeric keypad.
*Edit: I also appear unable to copy/paste into the box as well.
|
Huh? Can you make a screenshot? A basic numeric keypad should usually always contain '.'. The field should actually be prefilled with "192.168." as a start.
|
|
|
09-01-2021, 03:12 PM
|
#1530
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
Huh? Can you make a screenshot? A basic numeric keypad should usually always contain '.'. The field should actually be prefilled with "192.168." as a start.
|
Sure. Here's a screenshot:
|
|
|
09-01-2021, 03:18 PM
|
#1531
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Sure. Here's a screenshot:
|
Just had a look. This is indeed a bug in how I configured the input field. Strange that it works on my phone though. I will try to push a new Android version tomorrow. Until then maybe the only thing you can try is to install a custom keyboard that displays '.' no matter what. GBoard maybe works.
|
|
|
09-01-2021, 03:18 PM
|
#1532
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
Just had a look. This is indeed a bug in how I configured the input field. Strange that it works on my phone though. I will try to push a new Android version tomorrow. Until then maybe the only thing you can try is to install a custom keyboard that displays '.' no matter what. GBoard maybe works.
|
Gotcha, thanks. You're a hero for sure.
Edit: Gboard did the trick.
**Edit 2: not so fast. It has a period, but not a colon. Chrissakes.
Last edited by Miscreant; 09-01-2021 at 03:24 PM.
|
|
|
09-01-2021, 03:27 PM
|
#1533
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Gotcha, thanks. You're a hero for sure.
Edit: Gboard did the trick.
**Edit 2: not so fast. It has a period, but not a colon. Chrissakes.
|
You need a period, not a colon. If your address has a colon then something is wrong (sounds like you are using a very long IPv6 address). You need to take the IPv4 address.
|
|
|
09-01-2021, 03:30 PM
|
#1534
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
You need a period, not a colon. If your address has a colon then something is wrong (sounds like you are using a very long IPv6 address). You need to take the IPv4 address.
|
Am I not to type this in, with my IPv4 substituting 'IP_ADDRESS'?
https://IP_ADDRESS:39443/
Edit: I'll add that when inputting the above with my IP replacing 'IP_ADDRESS', the ReaLearn asks me to input an IP or host name. But that is exactly what I have inputted into my browser, successfully.
**Edit 2: hallelujah, I got it! I just had to input the IP, not the additional 39....
|
|
|
09-01-2021, 03:34 PM
|
#1535
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
|
No. Just the IP address itself (whatever you substitute for IP_ADDRESS). And fill out the other fields as shown on the page (usually you will only have to adjust the session ID).
|
|
|
09-01-2021, 03:36 PM
|
#1536
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
No. Just the IP address itself (whatever you substitute for IP_ADDRESS). And fill out the other fields as shown on the page (usually you will only have to adjust the session ID).
|
Yep, okay. It's up and running. So, for now, since my IP is dynamically assigned rather than static, I should first cmd prompt to find out my IP each time I boot up, and then input that into the relevant field in ReaLearn?
|
|
|
09-01-2021, 03:40 PM
|
#1537
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Yep, okay. It's up and running. So, for now, since my IP is dynamically assigned rather than static, I should first cmd prompt to find out my IP each time I boot up, and then input that into the relevant field in ReaLearn?
|
Either configure your WiFi router to always dynamically assign the same IP address to your router or try it with the alphabetic hostname of your computer instead of an IP address (the output of "hostname" entered on the command line ... might work, not sure).
Usually this is not an issue because if everything works nicely, you can always scan a QR code.
|
|
|
09-01-2021, 03:48 PM
|
#1538
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
Either configure your WiFi router to always dynamically assign the same IP address to your router or try it with the alphabetic hostname of your computer instead of an IP address (the output of "hostname" entered on the command line ... might work, not sure).
Usually this is not an issue because if everything works nicely, you can always scan a QR code.
|
Alright. Well, I'm going to leave the router configuration aside for now, as I'm getting close to being tech'd out. And when I inputted my comp's hostname I am not getting the timeout message, but it just stays in 'connecting to realearn' without going anywhere.
So, for now, I should find my IPv4 address after bootup, and use that as the host address?
*Edit: just made a donation, because you've been great. Thanks!
Last edited by Miscreant; 09-01-2021 at 03:57 PM.
|
|
|
09-01-2021, 03:57 PM
|
#1539
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Alright. Well, I'm going to leave the router configuration aside for now, as I'm getting close to being tech'd out. And when I inputted my comp's hostname I am not getting the timeout message, but it just stays in 'connecting to realearn' without going anywhere.
So, for now, I should find my IPv4 address after bootup, and use that as the host address?
|
Yes. If you are lucky, it stays the same some days
And open the GitHub issue, maybe I can improve detection.
|
|
|
09-01-2021, 04:05 PM
|
#1540
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
Yes. If you are lucky, it stays the same some days
And open the GitHub issue, maybe I can improve detection.
|
Sounds good. I opened an issue on Github just a few seconds ago.
|
|
|
09-02-2021, 08:28 AM
|
#1541
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Fuck me this projection feature is so damn hawt.
|
|
|
09-02-2021, 11:23 AM
|
#1542
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Here's a mapping issue I'm still wrapping my head around, so it might be in the manual already. But any help is appreciated.
Midi device: Fighter Twister
Part 1: Twister Setup
In the Twister's setup program I have enabled each encoder to send CC messages, since right now I want to start with absolute rather than relative values (this is because when I switch to relative values by making each encoder midi type 'Enc 3Fh/41H, I lose the blended indicator bar under each rotary, and I don't like that. Is there a way around this?).
I also have each rotary-button set to 'switch encoder toggle'. This way I can use the secondary function when I press and subsequently release each button. This will be crucial in a moment.
Part 2: Controller Compartment
I then made a corresponding 'controller compartment' mapping. (To keep things simple for now, I have done this only for the first bank [so encoders 0-15]). So for each rotary used as a button because it is set to 'switch encoder toggle', I have mappings in the 'controller compartment' labeled 'Buttons {1-16}'. And for each individual rotary encoder I have mappings labeled 'Encoder 1{a/b}; 2{a/b}' and so on.
So far, I think all this should be alright for my purposes right now. The issue arises when I move over to 'main compartments'.
Part 3: Main Compartment
I'm trying to program a 'main compartment' mapping for JS: ReEQ. I want to be able to use the 'button' function on the Twister to turn on/off specific EQ bands. For example, if I want to create EQ band 1, then I press the corresponding button on the Twister (which in my case is button 13, bottom left of the device), and this creates that EQ band.
The problem is that when I do this, the applicable rotary on the Twister switches to its secondary encoder, which I have not mapped for JS: ReEQ. Instead, I have mapped for JS: ReEQ only the primary encoders on the Twister. As a result, I no longer have access to the function mapped to the primary encoder on that rotary.
Part 4: Possible Solutions
1. Map in JS: ReEQ the secondary encoders on the Twister instead.
- I can do this, but I am wondering if there is a better way.
2. Go back into my Twister settings and change 'Shift Encoder Toggle' to something like 'Note Toggle'. This way, when I press a button on the Twister, it will not switch to the secondary encoder on that rotary. Instead, it will be like a 'real button'.
- I do not want to do this, because I want in the Twister secondary functions for each rotary. (This saves me from having to move along banks, as I get more functions per bank).
Part 5: The Questions
1. Am I restricted in ReaLearn to the way I have configured the Twister? So if I have configured the Twister to 'Shift Encoder Hold', there is no way to override this function in ReaLearn?
2. If the answer to (1) is 'No', then is there a way in ReaLearn to dynamically toggle between different 'controller compartment' mappings, such that when I pull up JS: ReEQ the buttons on my Twister are no longer configured to 'Switch Encoder Toggle' but rather to something like 'Note Toggle'?
|
|
|
09-02-2021, 12:38 PM
|
#1543
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Here's a mapping issue I'm still wrapping my head around, so it might be in the manual already. But any help is appreciated.
Midi device: Fighter Twister
Part 1: Twister Setup
In the Twister's setup program I have enabled each encoder to send CC messages, since right now I want to start with absolute rather than relative values (this is because when I switch to relative values by making each encoder midi type 'Enc 3Fh/41H, I lose the blended indicator bar under each rotary, and I don't like that. Is there a way around this?).
I also have each rotary-button set to 'switch encoder toggle'. This way I can use the secondary function when I press and subsequently release each button. This will be crucial in a moment.
|
What blended indicator bar? You mean different LED color depending on the position of the encoder? You can get that by creating a feedback-only mapping to the encoder push source (= LED) and make that mapping have the same target as the one that your encoder controls.
Using "Switch encoder toggle" on the MFT basically means you don't give ReaLearn all the power that it could have. The recommended way is doing this kind of things with conditional activation in ReaLearn instead of letting the Twister handle these things (because ReaLearn knows about REAPER's state, the Twister doesn't).
Quote:
Originally Posted by Miscreant
Part 2: Controller Compartment
I then made a corresponding 'controller compartment' mapping. (To keep things simple for now, I have done this only for the first bank [so encoders 0-15]). So for each rotary used as a button because it is set to 'switch encoder toggle', I have mappings in the 'controller compartment' labeled 'Buttons {1-16}'. And for each individual rotary encoder I have mappings labeled 'Encoder 1{a/b}; 2{a/b}' and so on.
So far, I think all this should be alright for my purposes right now. The issue arises when I move over to 'main compartments'.
|
I guess you do this because the existing controller preset for the Twister uses another Twister configuration? Otherwise just use that one.
Quote:
Originally Posted by Miscreant
Part 3: Main Compartment
I'm trying to program a 'main compartment' mapping for JS: ReEQ. I want to be able to use the 'button' function on the Twister to turn on/off specific EQ bands. For example, if I want to create EQ band 1, then I press the corresponding button on the Twister (which in my case is button 13, bottom left of the device), and this creates that EQ band.
The problem is that when I do this, the applicable rotary on the Twister switches to its secondary encoder, which I have not mapped for JS: ReEQ. Instead, I have mapped for JS: ReEQ only the primary encoders on the Twister. As a result, I no longer have access to the function mapped to the primary encoder on that rotary.
|
That's one reason why leaving things to the Twister is not such a good idea. Once you tell it "Switch encoder toggle", then switching it is all it can do.
Quote:
Originally Posted by Miscreant
Part 4: Possible Solutions
1. Map in JS: ReEQ the secondary encoders on the Twister instead.
- I can do this, but I am wondering if there is a better way.
2. Go back into my Twister settings and change 'Shift Encoder Toggle' to something like 'Note Toggle'. This way, when I press a button on the Twister, it will not switch to the secondary encoder on that rotary. Instead, it will be like a 'real button'.
- I do not want to do this, because I want in the Twister secondary functions for each rotary. (This saves me from having to move along banks, as I get more functions per bank).
|
Solution 2 in combination with conditional activation for sure (read tutorials and the topic in the reference for more info).
Quote:
Originally Posted by Miscreant
Part 5: The Questions
1. Am I restricted in ReaLearn to the way I have configured the Twister? So if I have configured the Twister to 'Shift Encoder Hold', there is no way to override this function in ReaLearn?
2. If the answer to (1) is 'No', then is there a way in ReaLearn to dynamically toggle between different 'controller compartment' mappings, such that when I pull up JS: ReEQ the buttons on my Twister are no longer configured to 'Switch Encoder Toggle' but rather to something like 'Note Toggle'?
|
[/QUOTE]
1. Yes, the hardware restricts you in this case
2. Conditional activation
|
|
|
09-02-2021, 12:48 PM
|
#1544
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Quote:
Originally Posted by helgoboss
What blended indicator bar? You mean different LED color depending on the position of the encoder? You can get that by creating a feedback-only mapping to the encoder push source (= LED) and make that mapping have the same target as the one that your encoder controls.
|
Sorry, to be clearer: I am referring to the 13 'dots' around each rotary, not to the LED 'smile' under each rotary. When I am in Enc 31H/41H I do not see the blended bar, presumably because I am now encoding relatively rather than absolute values.
Is this right?
Quote:
Originally Posted by helgoboss
I guess you do this because the existing controller preset for the Twister uses another Twister configuration? Otherwise just use that one.
|
I found the default Twister preset confusing, as I was not able to confirm that all the functionality has been mapped (= Two encoding functions per rotary, plus push-button function for each rotary).
Perhaps I'm wrong?
Quote:
Originally Posted by helgoboss
|
Okay, so then I'm gonna have to dig into conditional activation then. I found it confusing, but I'll spend more time chewing on it.
Quote:
Originally Posted by helgoboss
1. Yes, the hardware restricts you in this case
2. Conditional activation
|
|
|
|
09-02-2021, 01:06 PM
|
#1545
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Sorry, to be clearer: I am referring to the 13 'dots' around each rotary, not to the LED 'smile' under each rotary. When I am in Enc 31H/41H I do not see the blended bar, presumably because I am now encoding relatively rather than absolute values.
Is this right?
|
Then it's even easier. You just need to add a mapping from the encoder to a real target (e.g. track volume). And don't forget to set the Twister as feedback device.
ReaLearn has a minimalistic philosophy, so by default it doesn't light anything. You need mappings. The light feedback that it sends always reflects some target value in REAPER (= is synchronized to that). It doesn't just light for fun (because you turn some encoder - although you can also simulate that e.g. by doing a dummy mapping to one of ReaLearn's internal parameters).
Quote:
Originally Posted by Miscreant
I found the default Twister preset confusing, as I was not able to confirm that all the functionality has been mapped (= Two encoding functions per rotary, plus push-button function for each rotary).
Perhaps I'm wrong?
|
The ReaLearn controller preset for the Twister has really everything in bank 1 mapped (except the middle side buttons because one might use them for native Twister bank switching). See here how to set up.
Quote:
Originally Posted by Miscreant
Okay, so then I'm gonna have to dig into conditional activation then. I found it confusing, but I'll spend more time chewing on it.
|
For now, yes. Yes, that power comes at a price. I have concrete plans for an alternative paging/modifier/banking mechanism which doesn't rely on parameters and is more direct and is therefore a bit less flexible. But probably more than enough for most use cases and more direct and probably easier to grasp (basically targets to enable/disable certain mappings and ReaLearn instances).
|
|
|
09-02-2021, 02:17 PM
|
#1546
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Released ReaLearn 2.10.0-pre.10 ( ReaPack installation instructions)
Changes:
- #378 Added possibility to use ReaLearn as global MIDI filter (by making "Let through" checkboxes available even when choosing real hardware MIDI input device, needs REAPER >= v6.36rc1!)
- #394 Added a very work-in-progress version of the new "ReaLearn: Load mapping snapshot" target (only restores the initial target values of all instance mappings at the moment but will become much more powerful in future)
- #330 Fixed non-working group interaction feature for OSC and REAPER sources
I think especially the first-mentioned feature could be quite a thing for some.
|
|
|
09-02-2021, 05:37 PM
|
#1547
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Okay, so I'm starting to wrap my head around this. You're right: it's immensely powerful. I like to think I have an idea what what into this conceptually--I've literally no idea what went into programming it--and I gotta say: man, you've really thought this through. Awesome.
It is too early to take a firm position, but I have a sense that in the UI the conceptual architecture of the plugin could be clarified.
For instance, as I understand it, the internal parameters of ReaLearn (1-200) are really just targets, no different from those found in the parameters of an FX, distinguished by the fact that they run on ReaLearn /itself/.
If that's right, then it seems ReaLearn can be split up into three basic functions: virtual mappings; external mappings (assignable parameters that are not part of ReaLearn itself); internal mappings (assignable parameters that are).
I'm not saying this is the only way to cut up the pie. But I think it is a contender for at least one way, especially since I suspect the many, many settings within ReaLearn itself can be analyzed downstream of these three mapping types.
Anyways, I wonder if the UI shows this structure clearly enough.
|
|
|
09-03-2021, 07:34 AM
|
#1548
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,971
|
Global MIDI filter, cool.
I guess it could help with my wonky MIDI keyboard which sometimes decides to send random CC garbage on its own. 
Thanks.
edit:
I mean it's not totally random CCs, usually it's the same few CC numbers sending out random data (guess it's the physical sliders asigned to these CCs that got wonky over time).
Last edited by nofish; 09-03-2021 at 07:49 AM.
|
|
|
09-03-2021, 10:53 AM
|
#1549
|
Human being with feelings
Join Date: Mar 2012
Posts: 359
|
Okay, I've hit a bit of a stumbling block with conditional activation.
Objective: to use one button the Twister to toggle between controlling in ReEQ a) gain with one encoder and b) Q with the secondary encoder.
Steps taken:
1. Mapped all the applicable functions: 1. Gain (multi); 2. Q (multi); 3. Activation controller (button)
2. Established conditional activation for (1) and (2) via (3):
(1) Gain = when bank selected/Param 1/Bank 1
(2) Q = when bank selected/Param 1/Bank 0
(3) Activation controller = Always/Target min & max = 0% & 1%/Mode = toggle buttons (I had some problems with incremental...)
3. The problem: even though clicking the activation controller button shows the applicable functions being activated/inactivated in ReaLearn, I /can/ turn off Q but I /cannot/ turn off gain. So even when gain appears greyed out, it is still activated along with Q.
*Edit: figured it out. Instead of using in (1) and (2) 'when bank selected', I used 'when modifiers on/off', selected Param 1 for modifier A, and only checked the box beside this modifier for one of the Q function.
So I was confusing 'when modifiers on/off' activation condition with the 'banks' condition.
Last edited by Miscreant; 09-03-2021 at 11:35 AM.
|
|
|
09-04-2021, 08:55 PM
|
#1550
|
Human being with feelings
Join Date: Sep 2017
Posts: 518
|
I just discovered this plugin yesterday. It's great!
I'm having a bit of a problem with using relative CC to control track panning, though. It works fine when min and max step size are set to 1, but in that case the steps are a bit large. I'd like to have finer control, but setting min and max step size to 0.5 results in the Values being stuck between 1%L and 1%R: I can't go past those Values with my cc knob.
Since the Value range goes all the way from 100%R to 100%R (which is at least 201 discrete values), I would think a step size of 0.5 should be big enough to not get rounded off in such a way that it gets stuck like I'm experiencing. Thoughts?
|
|
|
09-05-2021, 01:09 AM
|
#1551
|
Human being with feelings
Join Date: Jul 2013
Posts: 3
|
Source: specific program change value
Love this thing, its completely changing my workflow!
I am trying to adress incoming program change numbers to different windows screen sets,
however I haven't been able to figure out how to filter source down to a specific program change numbers? (All mappings respond to all program change numbers)
any takers?
cheers,
Markus Dextegen
|
|
|
09-05-2021, 02:51 AM
|
#1552
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Dex
I just discovered this plugin yesterday. It's great!
I'm having a bit of a problem with using relative CC to control track panning, though. It works fine when min and max step size are set to 1, but in that case the steps are a bit large. I'd like to have finer control, but setting min and max step size to 0.5 results in the Values being stuck between 1%L and 1%R: I can't go past those Values with my cc knob.
Since the Value range goes all the way from 100%R to 100%R (which is at least 201 discrete values), I would think a step size of 0.5 should be big enough to not get rounded off in such a way that it gets stuck like I'm experiencing. Thoughts?
|
Looking into it. Maybe 0.75 or something similar works?
Quote:
Originally Posted by markusdextegen
Love this thing, its completely changing my workflow!
I am trying to adress incoming program change numbers to different windows screen sets,
however I haven't been able to figure out how to filter source down to a specific program change numbers? (All mappings respond to all program change numbers)
any takers?
cheers,
Markus Dextegen
|
Set both source min/max to the same desired program change value.
|
|
|
09-05-2021, 02:56 AM
|
#1553
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Miscreant
Okay, so I'm starting to wrap my head around this. You're right: it's immensely powerful. I like to think I have an idea what what into this conceptually--I've literally no idea what went into programming it--and I gotta say: man, you've really thought this through. Awesome.
It is too early to take a firm position, but I have a sense that in the UI the conceptual architecture of the plugin could be clarified.
For instance, as I understand it, the internal parameters of ReaLearn (1-200) are really just targets, no different from those found in the parameters of an FX, distinguished by the fact that they run on ReaLearn /itself/.
If that's right, then it seems ReaLearn can be split up into three basic functions: virtual mappings; external mappings (assignable parameters that are not part of ReaLearn itself); internal mappings (assignable parameters that are).
I'm not saying this is the only way to cut up the pie. But I think it is a contender for at least one way, especially since I suspect the many, many settings within ReaLearn itself can be analyzed downstream of these three mapping types.
Anyways, I wonder if the UI shows this structure clearly enough.
|
A third target category "ReaLearn" could make sense, yes. In near future, it will get many more internal targets.
Quote:
Originally Posted by nofish
Global MIDI filter, cool.
I guess it could help with my wonky MIDI keyboard which sometimes decides to send random CC garbage on its own. 
Thanks.
edit:
I mean it's not totally random CCs, usually it's the same few CC numbers sending out random data (guess it's the physical sliders asigned to these CCs that got wonky over time).
|
If you don't want to use the CCs produced by these sliders, then it can help, yes. But I can imagine you want to assign them somehow.
|
|
|
09-05-2021, 09:07 AM
|
#1554
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Dex
Since the Value range goes all the way from 100%R to 100%R (which is at least 201 discrete values), I would think a step size of 0.5 should be big enough to not get rounded off in such a way that it gets stuck like I'm experiencing. Thoughts?
|
Looked into this. Turned out to be a bug in the REAPER API which Justin is about to fix. (For protocol, the bug is explained here: https://github.com/helgoboss/realearn/issues/433)
|
|
|
09-05-2021, 02:44 PM
|
#1555
|
Human being with feelings
Join Date: Sep 2017
Posts: 518
|
Quote:
Originally Posted by helgoboss
|
Great, thanks!
I ran into another problem when I went to create a controller layout. In my web browser, the controls don't appear! I tried this in all my browsers (Firefox, Edge, Chrome), and the result was the same in all of them. Windows 10, in case it matters.
edit: I was trying to set up a custom controller. I think I need to RTFM more.
Last edited by Dex; 09-15-2021 at 10:58 AM.
|
|
|
09-06-2021, 03:13 PM
|
#1556
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Quote:
Originally Posted by Dex
Great, thanks!
I ran into another problem when I went to create a controller layout. In my web browser, the controls don't appear! I tried this in all my browsers (Firefox, Edge, Chrome), and the result was the same in all of them. Windows 10, in case it matters.
|
This is not about web browser vs. not web browser. Seems you have opened projection for a totally different ReaLearn instance, not the one which has the Launchpad Pro preset loaded.
|
|
|
09-06-2021, 03:23 PM
|
#1557
|
Human being with feelings
Join Date: Aug 2010
Location: Germany
Posts: 2,023
|
Released ReaLearn 2.10.0 ( ReaPack installation instructions)
Changes:
- #350 Added option "Poll for feedback" (enabled by default) to the few targets for which the REAPER API doesn't provide any value change notification or not in all cases (essentially makes automatic feedback work for all targets, also fixes the issue that switching presets from within a FX UI doesn't resend FX parameter feedback)
- #348 Added header context menu options to log incoming/outgoing MIDI/OSC messages (great for debugging)
- #363 Added track selector "All by name" which resolves to many tracks instead of only the first one if the name contains wildcards and multiple tracks match
- Added mapping row context menu option to log debug info for a single mapping
- #330 Added new tuning setting "Group interaction" for controlling multiple mappings within the same group at once, in multiple interesting ways
- #330 Added source category "None", to be used with mappings that are not supposed to be controlled directly but just via "Group interaction"
- #391 Added support for target value sequences (including ranges, customizable step sizes etc., even supports true relative control!)
- #411 Added target unit button for switching between 1. native target unit and 2. percentages (chosen unit will be used whenever entering/displaying target values or step sizes, saved per mapping)
- #424 Added visual mapping (source) match indicator, both in mapping row and mapping panel
- #423 Added "All by name" FX selector (lets you use wildcards now to resolve to multiple FX, quite useful with the "FX: Enable/disable" target for simulating controller pages)
- #378 Added possibility to use ReaLearn as global MIDI filter (by making "Let through" checkboxes available even when choosing real hardware MIDI input device, needs REAPER >= v6.36!)
- #401 Added source "MIDI device changes" in new source category "REAPER" (for reacting to MIDI device plug/unplug events)
- #386 Added variable selected_track_index for use in dynamic track expression
- #394 Added a very work-in-progress version of the new "ReaLearn: Load mapping snapshot" target (only restores the initial target values of all instance mappings at the moment but will become much more powerful in future)
- Internal change: Added and changed code for upcoming "Discrete processing" feature (#184)
- #370 Added mapping option "Show in projection" (enabled by default)
- #379 Added controller preset and instructions for "Arturia KeyLab MkII" (thanks to dissofiddle)
- #367 Improved usability by putting "Send feedback after control" and "Prevent echo feedback" into dropdown (because it doesn't make sense to combine them)
- #410 Improved versatility of "Make absolute" checkbox by also making it available in "Incremental buttons" mode
- #409 Improved jump settings by displaying and letting one enter step sizes instead of absolute values (makes much more sense)
- #429 Improved error handling by logging details when not being able to load a preset
- #428 Improved error handling by displaying instructions on what to do when encountering a preset saved with a newer version
- #433 Improved error handling by logging only the first warning message in a sequence of equal warning messages
- Improved UI semantics by renaming target category "REAPER" to "Real"
- #427 Improved usability by disallowing addressing FX "By ID" if the track is not sticky (that is, not <This> or addressed "By ID") ... allowing was nonsensical and confusing
- #425 Improved FX parameter "By position" selector so you can enter the position in a text field (parameter dropdown is now available as selector "By ID")
- #426 Improved consistency of target label in mapping row (e.g. don't show resolved track/FX/parameter name if selector is not "By ID")
- #421 Improved usability of target dropdowns by making it possible to change the track/FX selectors while keeping entered values (e.g. having the name always prefilled when switching from "By ID" to "By name")
- #417 Improved user guide (better table of contents, better quick start, migrated to AsciiDoc)
- #414 Improved projection by sending projection feedback even if feedback disabled for controller mapping
- #413 Improved fire mode "After timeout" by making it work in combination with "Press only" button filter (you can now press a button and no matter how long you press it, it will fire after the specified timeout)
- #395 Improved versatility by guaranteeing mappings within one compartment to be processed in the order of definition (exception: ReaLearn parameters)
- #387 Improved "MIDI/OSC: Send message" targets by making it work with "Toggle buttons" mode and relative encoders
- #350 Improved performance for targets that poll for feedback (e.g. "Track: Peak") by processing and sending feedback only if value actually changed
- #362 Improved reliability by migrating to stable Rust (just an internal change)
- #350 Fixed "nervous motor faders" issue by not sending batch feedback anymore when starting to play or seeking
- #366 Fixed predefined "MIDI: Send" target patterns (7-bit patterns reported to be 14-bit-capable)
- #415 Fixed takeover modes misbehavior in presence of restricted source/target value range
- #396 Fixed bug that let "Send feedback after control" not send feedback after control in some corner cases
- #416 Fixed "Last touched" target: Make it work correctly if other FX parameter is currently automated (also improves FX parameter learning in presence of parameter automation)
- #434 Fixed error "REAPER string should be UTF-8 encoded" with certain FX parameter names
- #390 Fixed bug that caused "The pipe is being closed" error on some systems when choosing "MIDI: Send message" target
- #406 Fixed non-reliable dynamic selectors for send, FX and FX parameters (was only working reliably for tracks before)
- #369 Fixed MiniLab mkII controller preset: Projection feedback for pads works now
- #332 Fixed confusing logic that caused the preset save button to not be greyed out after making mappings project-independent
- #405 Fixed lag when sending MIDI messages to FX output (both when letting incoming messages through and when sending them via "MIDI: Send message" target)
- #388 Fixed bug that caused ReaLearn send targets to forget the kind of send
|
|
|
09-10-2021, 08:27 AM
|
#1558
|
Human being with feelings
Join Date: May 2009
Location: Paris, France
Posts: 75
|
Hello i'm using Realern with behringer midi products and it functions pretty well !
Thank you for this wonderful add on to our beloved DAW
Would realearn work with Softube console 1 ? I have no use for softubes console plugins, i just want to use the midi controller as if it were a behringer BCR 2000, and controller any plugin on reaper, not suftube's ecosystem.
|
|
|
09-12-2021, 08:03 AM
|
#1559
|
Human being with feelings
Join Date: Nov 2009
Location: Montreal, Canada
Posts: 8,857
|
Would it be possible with scripting or just action list hopefully, to do the following?
Let's say I have a controller, and it has channel strips. I go to assign the fader of my controller to let's say the "pre-fx volume envelope" now, since I did that, I'd like to have the "mute" "solo" and "rec arm" and "pan" all automatically assigned for that channel strip, until further notice. The pan is less of an issue for me, since pan isn't something I normally automate, so I'd use that with a mouse. But the mute and solo and rec arm buttons, especially if rec arm can be assigned to automation rec arm now I think of it, would be very cool, rather than go through and do each one, it would be cool if they all assigned to the same track by only assigning one parameter of the channel.
|
|
|
09-12-2021, 08:08 AM
|
#1560
|
Human being with feelings
Join Date: Nov 2009
Location: Montreal, Canada
Posts: 8,857
|
Another question, does realearn have any ability to dictate how controllers adjust parameters in terms of latch?
For example, if my physical fader on controller is at the bottom, and I switch to a track where the fader is at the top in my saw, some controllers if I move the fader, the parameter in saw will skip right down to whatever value the physical controller fader is.
For me, a preferred behaviour is for it to do nothing until I push the physical fader right up to where it meets the daw parameter value, then latches on, and then controllers the value normally.
Is this something realearn can control? Or must that be the controller device itself or its drivers that choose that?
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 03:54 AM.
|