On Sun, 2007-12-09 at 23:22 +0100, Sacha Berger wrote:
> Hi,
>
> Am Montag, den 10.12.2007, 10:00 +1300 schrieb Robin Sheat:
> > The EQ knobs are non-linear. Send it the half-way command, and it
> goes to
> > around 3/4ths. I don't know if it's supposed to be like that, but it
> is kinda
> > strange.
>
> As I did no see the whole discussion it may be unrelated, but I
> remember
> some patching in 1.5.* to have Controller Knobs behave like the GUI
> knobs: The Knobs are expected to kill maximum when fully to the left
> and
> have 0dB in center position. When fully to the right they boost a
> certain amount (I duno how much). Hence things behave differently on
> both sides of the center position. I found the bug when using a MIDI
> controller, but in those times it did not show up on Hercules. Maybe
> now
> some code got mixed up?
>
> CU.Sacha
>
>
>
>
I remember applying your patch for this and it seemed to fix something
related to this on your MIDI controller....
Your email to mixxx-devel from April 8/07 sounds like the same problem
(?):
=====================
Hi!
Equipped with a midi controller, I experienced strange behavior of the
filter pots:
I mapped them to a regular midi control pot. When the pot is to the
left, the pot in mix is also to the left -- perfect. At full turn to the
right, everything is perfect as well. But when the midi controller pot
is centered, the filter pot of mixxx is half way between center and
right end.
In the source code I found out, that the filters use ControllogPotmeter
object and they have two regions of different operation: left to center
(mapped to mixxx control values 0.0 to 1.0) and center to dMaxValue. The
midi control values are handled in the super class ControlPotmeter and
are hence linearly mapped to mixxx control values between 0 and
dMaxValue -- in the case of the filters the centered midi controller
results in a mixxx control value of 2.0 (as dMaxValue is set to 4.0)
It was possible to solve the problem by overriding the implementation
of "setValueFromMidi" in controllogpotmeter.cpp like this:
void ControlLogpotmeter::setValueFromMidi(MidiCategory, doublev)
{
m_dValue = getValueFromWidget(v);
emit(valueChanged(m_dValue));
}
(plus "void setValueFromMidi(MidiCategory c, double v);" in the public
section of controllogpotmeter.h)
I do not know if it is so wise to call "getValueFromWidget(v)" in
"setValueFromMidi" but according to the source code there are no side
effects... but who knows how long ;-)
CU. Sacha
============================
> -------------------------------------------------------------------------
> SF.Net email is sponsored by:
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> _______________________________________________
> Mixxx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel