mixxx icon indicating copy to clipboard operation
mixxx copied to clipboard

Bundle ControlObject bool members into QFlag

Open Swiftb0y opened this issue 6 months ago • 12 comments

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.

Swiftb0y avatar Aug 14 '24 22:08 Swiftb0y