| @@ -178,11 +178,9 @@ struct MultDivClock { | |||||
| } | } | ||||
| }; | }; | ||||
| static std::vector<int> getClockOptions() { | |||||
| return std::vector<int> {-16, -8, -4, -3, -2, 1, 2, 3, 4, 8, 16}; | |||||
| } | |||||
| static const std::vector<int> clockOptions = {-16, -8, -4, -3, -2, 1, 2, 3, 4, 8, 16}; | |||||
| std::string getClockOptionString(const int clockOption) { | |||||
| inline std::string getClockOptionString(const int clockOption) { | |||||
| return (clockOption < 0) ? ("x 1/" + std::to_string(-clockOption)) : ("x " + std::to_string(clockOption)); | return (clockOption < 0) ? ("x 1/" + std::to_string(-clockOption)) : ("x " + std::to_string(clockOption)); | ||||
| } | } | ||||
| @@ -282,7 +280,7 @@ struct Muxlicer : Module { | |||||
| struct TapTempoKnobParamQuantity : ParamQuantity { | struct TapTempoKnobParamQuantity : ParamQuantity { | ||||
| std::string getDisplayValueString() override { | std::string getDisplayValueString() override { | ||||
| if (module != nullptr) { | if (module != nullptr) { | ||||
| const std::vector<int> clockOptions = getClockOptions(); | |||||
| const int clockOptionIndex = clamp(int(ParamQuantity::getValue()), 0, clockOptions.size()); | const int clockOptionIndex = clamp(int(ParamQuantity::getValue()), 0, clockOptions.size()); | ||||
| return getClockOptionString(clockOptions[clockOptionIndex]); | return getClockOptionString(clockOptions[clockOptionIndex]); | ||||
| } | } | ||||
| @@ -297,7 +295,7 @@ struct Muxlicer : Module { | |||||
| configParam(Muxlicer::PLAY_PARAM, STATE_PLAY_ONCE, STATE_PLAY, STATE_STOPPED, "Play switch"); | configParam(Muxlicer::PLAY_PARAM, STATE_PLAY_ONCE, STATE_PLAY, STATE_STOPPED, "Play switch"); | ||||
| configParam(Muxlicer::ADDRESS_PARAM, -1.f, 7.f, -1.f, "Address"); | configParam(Muxlicer::ADDRESS_PARAM, -1.f, 7.f, -1.f, "Address"); | ||||
| configParam(Muxlicer::GATE_MODE_PARAM, -1.f, 8.f, 0.f, "Gate mode"); | configParam(Muxlicer::GATE_MODE_PARAM, -1.f, 8.f, 0.f, "Gate mode"); | ||||
| const int numClockOptions = getClockOptions().size(); | |||||
| const int numClockOptions = clockOptions.size(); | |||||
| configParam<TapTempoKnobParamQuantity>(Muxlicer::TAP_TEMPO_PARAM, 0, numClockOptions - 1, numClockOptions / 2, "Main clock mult/div"); | configParam<TapTempoKnobParamQuantity>(Muxlicer::TAP_TEMPO_PARAM, 0, numClockOptions - 1, numClockOptions / 2, "Main clock mult/div"); | ||||
| for (int i = 0; i < SEQUENCE_LENGTH; ++i) { | for (int i = 0; i < SEQUENCE_LENGTH; ++i) { | ||||
| @@ -328,8 +326,7 @@ struct Muxlicer : Module { | |||||
| externalClockPulseReceived = true; | externalClockPulseReceived = true; | ||||
| tapped = false; | tapped = false; | ||||
| } | } | ||||
| const std::vector<int> clockOptions = getClockOptions(); | |||||
| const int clockOptionFromDial = clockOptions[int(params[TAP_TEMPO_PARAM].getValue())]; | const int clockOptionFromDial = clockOptions[int(params[TAP_TEMPO_PARAM].getValue())]; | ||||
| mainClockMultDiv.multDiv = clockOptionFromDial; | mainClockMultDiv.multDiv = clockOptionFromDial; | ||||
| @@ -745,7 +742,7 @@ struct MuxlicerWidget : ModuleWidget { | |||||
| Menu* createChildMenu() override { | Menu* createChildMenu() override { | ||||
| Menu* menu = new Menu; | Menu* menu = new Menu; | ||||
| for (int clockOption : getClockOptions()) { | |||||
| for (int clockOption : clockOptions) { | |||||
| std::string optionString = getClockOptionString(clockOption); | std::string optionString = getClockOptionString(clockOption); | ||||
| OutputClockScalingChildItem* clockItem = createMenuItem<OutputClockScalingChildItem>(optionString, | OutputClockScalingChildItem* clockItem = createMenuItem<OutputClockScalingChildItem>(optionString, | ||||
| CHECKMARK(module->outputClockMultDiv.multDiv == clockOption)); | CHECKMARK(module->outputClockMultDiv.multDiv == clockOption)); | ||||
| @@ -775,7 +772,7 @@ struct MuxlicerWidget : ModuleWidget { | |||||
| Menu* menu = new Menu; | Menu* menu = new Menu; | ||||
| int i = 0; | int i = 0; | ||||
| for (int clockOption : getClockOptions()) { | |||||
| for (int clockOption : clockOptions) { | |||||
| std::string optionString = getClockOptionString(clockOption); | std::string optionString = getClockOptionString(clockOption); | ||||
| MainClockScalingChildItem* clockItem = createMenuItem<MainClockScalingChildItem>(optionString, | MainClockScalingChildItem* clockItem = createMenuItem<MainClockScalingChildItem>(optionString, | ||||
| CHECKMARK(module->mainClockMultDiv.multDiv == clockOption)); | CHECKMARK(module->mainClockMultDiv.multDiv == clockOption)); | ||||