RebelTechnology / OwlServer

Web-based Client/Server application for the Open Ware Laboratory
GNU General Public License v2.0
2 stars 2 forks source link

Incorrect range in MIDI parameter control widgets #316

Closed antisvin closed 3 months ago

antisvin commented 1 year ago

Patch parameters set CC values 0..100 instead of 0..127. This covers only values 0..3200 and doesn't reach 4095 as we simply shift MIDI data by 5 bits when setting parameters.

The expected behavior is to change parameters in 0..127 range or treat it as a floating point number in 0..1 range that gets mapped to respective integer values.

antisvin commented 1 year ago

It looks like the problem is caused by sending raw value here: https://github.com/RebelTechnology/OwlServer/blob/master/web/owlspa/src/containers/PatchParameters/PatchParameters.js#L122

It should be applying that value to perc_to_midi function first: https://github.com/RebelTechnology/OwlServer/blob/master/web/owlspa/src/containers/PatchParameters/FloatParameter/FloatParameter.js#L100-L102

pingdynasty commented 11 months ago

Thank you @antisvin This should be fixed now with https://github.com/RebelTechnology/OwlServer/commit/bda48d6c50bf41a535f120bbf692e89b173e2768

antisvin commented 11 months ago

Oh wow, signs of life detected!

pingdynasty commented 11 months ago

Small signs of life. I've deployed the fix on the live website, pls confirm it works for you. I've also tried to fix the longstanding bug with editing patch descriptions, should be working now.

antisvin commented 11 months ago

I'm away from hardware for ~2 weeks, but will try to get a confirmation that it works from someone else.

Aside from that annoying description thing that you might've fixed, there's also some weirdness with adding parameters - https://community.rebeltech.org/t/problem-editing-parameters-and-buttons-on-website/2153

That said, latest ACDC firmware release leaves people with non-functional USB device and for some users forcing DFU mode doesn't work (even with a solder bridge on "boot" pad). I guess this is the biggest issue to look into if you happen to have some free time.

antisvin commented 11 months ago

The good news is that now full range of parameter value is getting applied. But Alexey who was testing this says that it looks like editing parameters by MIDI wasn't working with AA-AD while it did work for AE-AH.

That was tested on my OWL fork, so it may not be happening on upstream firmware, we'll be looking into this a bit more.

antisvin commented 11 months ago

It looks like there's a regression when printing to console info about sending parameters, their values are listed as NaN, i.e. [sending data to patch] parameter id: 0 value: NaN .

Also, I've made a simple test patch that acts as a VCA for 2 oscillators in different audio channels. Somehow I'm not getting any audio in the browser (but it works if the VCA part is skipped) , waiting for it to get tested with actual hardware as well. Patch is here: https://www.rebeltech.org/patch-library/patch/ParamTest#Source