Conversation
…ackbox, Big Fuzz, Wah Modulation, Touch Wah Modulation, Diatonic Pitch Shifter).
|
I realized I forgot to implement and run tests. I will implement them and update the PR. |
|
Tests and formatting corrected. This PR is now ready for review. |
include/com/IdLookup.h
Outdated
|
|
||
|
|
||
| constexpr effects lookupEffectById(std::uint8_t id) | ||
| constexpr effects lookupEffectById(std::uint8_t id, std::uint8_t idmsb = 0) |
There was a problem hiding this comment.
We should consider expanding the id type to uint16_t instead. Since it's 0 for other devices, this should be safe.
There was a problem hiding this comment.
I am totally for changing the type to uint16_t, adding a second parameter was just a less intrusive change.
Should I change it in this PR or create another one?
There was a problem hiding this comment.
Let's keep working on this PR. No need to create an additional one.
There was a problem hiding this comment.
Ok. The change is now implemented.
|
Nice, thank you! 👍 |
…ded decodeEffectsFromDataEffectsValues test with Mustang I V2 effects.
default effects window.
offa
left a comment
There was a problem hiding this comment.
I gave it a quick test on a v1 device and the v2 effects are listed there too. They should be limited to Mustang I v2 only though.
Also I'd suggest to keep the UI entries sorted and grouped by family. At the moment it's all v1 models, and then the v2.
| connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(get_settings())); | ||
| connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(save_default_effects())); | ||
|
|
||
| // Up to discussion, prepare map with default effects description to greatly |
There was a problem hiding this comment.
Eventually we should improve the complete text handling here. Ok for now though.
Ok, I'll have a chance to look into the displaying the valid effects in a week or two. By grouping UI elements do you mean e.g., the combo boxes? That the entries should be grouped by their type (stomp box, modulation, delay, reverb)? |
Exact! The combox list entries grouped by |
Hello,
this PR adds support for the missing Mustang I V2 effects (Ranger Boost, Greenbox, Orangebox, Blackbox, Big fuzz) and modulations (Wah, Touch Wah, Diatonic Pitch Shifter). The support includes default effect and effect windows.
Main change of this commit is in the ID of individual effects. It seems that they are in fact 16-bit wide, instead of current 8-bit width. This mainly influenced the function
lookupEffectById, where I added second parameteruint8_t idmsbwith implicit value of0.The newly added effects are currently appended to the bottom of the combobox list in the effect window, as their position must correspond with their value in the
effectsenum.Additionally I've noticed there is a lot of duplicate code, especially in default effects and effects windows regarding knob labels. I know there might be a good reason for it, such as proper shortcut function, however, I think that by doing this line-efficiently would benefit legibility of the code and make editing it easier.
One solution I come up with and implemented for the new effects utilizes maps to store knob description for given knob like so
and sets for an effect
Alternatively, creating a class for each effect (deriving from effect base class), which would define its labels, is also an option.
Please, let me know if you do or don't agree with the map approach and or anything in this PR and what should be changed. I will gladly make the necessary edits.
Best regards
Joe