Allow transformation of widget connected controls.
Bug #692925 reported by
Mark Pitt
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
Wishlist
|
RJ Skerry-Ryan |
Bug Description
When writing a custom skin for Mixxx in the <connection> tabs have the ability to reverse a knob or sliders value i.e. rather than gain being increased by turning the knob clockwise instead it decreases.
Changed in mixxx: | |
status: | New → Confirmed |
importance: | Undecided → Wishlist |
summary: |
- Ability to reverse a knob in a skins xml file + Allow transformation of widget connected controls. |
Changed in mixxx: | |
status: | Confirmed → Fix Committed |
assignee: | nobody → RJ Ryan (rryan) |
milestone: | none → 1.12.0 |
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
We should probably support a general transformation syntax like this:
<Connection> [Channel1] ,volume< /ConfigKey> 10</Multiply> <!-- multiply by 10 --> 20</Divide> <!-- divide by 20 -->
<ConfigKey>
<Transform>
<Invert/> <!-- unary minus operator -->
<Add>5</Add> <!-- add 5 -->
<Multiply>
<Divide>
</Transform>
</Connection>
This encodes the operation (-parameter + 5) * 10 / 20
This is a much more restricted expression language than it could be. For example, we could do it like this:
<ControlParame ter/>
<Constant> 5</Constant>
<ControlPara meter/>
<ControlPara meter/>
<Constant> 127</Constant>
<Transform>
<Multiply>
<Add>
</Add>
<Divide>
<Multiply>
</Multiply>
</Divide>
</Multiply>
</Transform>
Which encodes (parameter + 5) * (parameter^2 / 127).
But this wouldn't be trivially reversible without building a generic equation solver into Mixxx ;). We have to be able to translate from and to the transformed value space.