mixxx
mixxx copied to clipboard
Bundle ControlObject bool members into QFlag
Motivation:
the following code is getting too overcomplicated and inflexible:
ControlDoublePrivate(const ConfigKey& key,
ControlObject* pCreatorCO,
bool bIgnoreNops,
bool bTrack,
bool bPersist,
double defaultValue)
This PR tries to address that by bundling the enum parameters into some QFlags. Once completed, this should slightly simplify the CO APIs by reducing the number of parameters.
This is a prerequisite for a future feature PR that is supposed to address #11371. I was not comfortable adding to this mess before cleaning it up.
Merge conflicts with #13354 should be minimal and I will do my best to take care of them once they arise.
I submitted this PR early to collect feedback on whether this is going into the right direction before I start propagating this further outwards into the higher level APIs.