Comments (7)
Update. I figured that this is not about feedback transformation. It's about Track FX preset.
When the target is a track mute button, the feedback works expectedly. But when the target is Track FX preset, it behaves strangely.
I have investigated inside via a virtual MIDI cable(BTW, it would be helpful if realearn provided this logging). When I press a midi button, the feedback comes out only when the preset become #20, not coming back to preset #0. However, with a track mute button as the target, the feedback comes out in both times. All the Mode Type is toggle.
from realearn.
Update2. I learned more about this issue.
There is also some issue with feedback transformation as well.
Pick a midi button(momentary) and make it as a source, and add reacomp and set its Lowpass to the target. The Mode could be Absolute for example. As you are holding down the button, the Lowpass will go to its maximum at 20000hz, and will go back to 0hz when the button is released. It works okay.
When Target's Min is at 0% and Max is at any number between 0% to 50%, and the feedback transformation string is set to y=1-x, the feedback value becomes very strange.
The feedback output is always 127, which I checked via a virtual MIDI cable. Always, whether you press or release the button. You could change the Target Max to 49%, 30%, 20% or anything and the feedback output stays the same at 127. However, when you set the transformation string to y=x, it works as expected.
from realearn.
I'll try this source/target combination. However, there's something wrong with your feedback transformation formulas:
x = (y>1) ?1 : 0
Neither x nor y should ever be greater than 1. It's supposed to be always between 0 and 1. So with your formula you will always end up with 0. Which means "Source Min" will be sent to your controller, no matter what's the actual target value.
y=1-x
This doesn't do anything. In feedback transformation formulas you need to assign a value to x, not y (because x represents the resulting normalized feedback value and y the current normalized target value). Best have a look in the user guide, it's explained there.
Concerning logging MIDI feedback, you don't have to deal with virtual MIDI cables. Just choose "FX output" as MIDI output and slap a Cockos ReaControlMIDI below it (which lets you show the log).
from realearn.
Yeah. At first, I misunderstood the range of x and y. But my second and third comments are written after that correction of understanding.
y=1-x
was my typo when writing the comment. It actually was x=1-y.
When the target max was set at 50% or lower, the feedback behaves strangely(always 127). Try it with a midi controller fader mapped to a slider.
All I found was, to correct the misbehavior, I had to modify my formula. In order to acheive the feedback reversed(127 to 0), I had to do,
x=1-y-1+TM
instead of simply using x=1-y
.
Here, TM stands for Target Max in the form of 0..1.
Here is a screencast:
from realearn.
Any updates on this issue?
from realearn.
Looking into it right now. Understood the issue.
from realearn.
This was indeed a bug. The processing order was inconsistent. The bug is fixed in upcoming v1.12.0-pre8.
The control processing order is:
- Apply source interval
- Apply transformation
- Apply target interval
- Apply reverse
- Apply rounding
The old feedback processing order was:
- Apply reverse
- Apply transformation
- Apply target interval
- Apply source interval
The new feedback processing order is:
- Apply reverse
- Apply target interval
- Apply transformation
- Apply source interval
Latter order is consistent with control processing order (exactly the reverse) and makes the transformation fomula work on the complete unit interval (0..1
).
Please note that this will change the behavior of existing feedback transformation formulas if used in combination with source or target interval restrictions, so they might need some adjustment. Sorry for any inconvenience.
@cjunekim Good catch!
from realearn.
Related Issues (20)
- Add preset metadata capabilities HOT 1
- Add extension menu
- Dynamic Track Control FX targets only work with one 1 fx HOT 3
- Add Luau type definitions
- Future: Improve Luau type checking
- target focused FX’s
- Bug - Relative value issue when moving cc controler without selected track
- Midi Fighter set pan on selected track defaults to 0.8%R on center (in Reaper) HOT 3
- Slow OSC processing on high load
- Improve input/output pickers in ReaLearn header panel
- Don't participate in REAPER's undo
- Use colors to make ReaLearn GUI visually easier to understand
- Auto Load using FX Name not working
- FX Parameters not available if FX is inside a Container
- Send Param To Midi
- Send OSC on Program Change MIDI item HOT 2
- Playtime 2 - Early Access - Feedback HOT 6
- Fallback to initial preset when using auto-load HOT 4
- Realearn not showing up after following install instruction HOT 10
- Preset Crawler Error: "Failure while crawling, couldn't get preset name"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from realearn.