| @@ -336,7 +336,7 @@ struct BraidsWidget : ModuleWidget { | |||
| Braids *braids = dynamic_cast<Braids*>(module); | |||
| assert(braids); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Options")); | |||
| menu->addChild(construct<BraidsSettingItem>(&MenuItem::text, "META", &BraidsSettingItem::setting, &braids->settings.meta_modulation)); | |||
| menu->addChild(construct<BraidsSettingItem>(&MenuItem::text, "DRFT", &BraidsSettingItem::setting, &braids->settings.vco_drift, &BraidsSettingItem::onValue, 4)); | |||
| @@ -155,7 +155,7 @@ struct BranchesWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Channels")); | |||
| menu->addChild(construct<BranchesModeItem>(&MenuItem::text, "Channel 1 modes", &BranchesModeItem::branches, branches, &BranchesModeItem::channel, 0)); | |||
| @@ -380,21 +380,21 @@ struct CloudsWidget : ModuleWidget { | |||
| Clouds *module = dynamic_cast<Clouds*>(this->module); | |||
| assert(module); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Blend knob")); | |||
| menu->addChild(construct<CloudsBlendItem>(&MenuItem::text, "Wet/dry", &CloudsBlendItem::module, module, &CloudsBlendItem::blendMode, 0)); | |||
| menu->addChild(construct<CloudsBlendItem>(&MenuItem::text, "Spread", &CloudsBlendItem::module, module, &CloudsBlendItem::blendMode, 1)); | |||
| menu->addChild(construct<CloudsBlendItem>(&MenuItem::text, "Feedback", &CloudsBlendItem::module, module, &CloudsBlendItem::blendMode, 2)); | |||
| menu->addChild(construct<CloudsBlendItem>(&MenuItem::text, "Reverb", &CloudsBlendItem::module, module, &CloudsBlendItem::blendMode, 3)); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Alternative mode")); | |||
| menu->addChild(construct<CloudsPlaybackItem>(&MenuItem::text, "Granular", &CloudsPlaybackItem::module, module, &CloudsPlaybackItem::playback, clouds::PLAYBACK_MODE_GRANULAR)); | |||
| menu->addChild(construct<CloudsPlaybackItem>(&MenuItem::text, "Pitch-shifter/time-stretcher", &CloudsPlaybackItem::module, module, &CloudsPlaybackItem::playback, clouds::PLAYBACK_MODE_STRETCH)); | |||
| menu->addChild(construct<CloudsPlaybackItem>(&MenuItem::text, "Looping delay", &CloudsPlaybackItem::module, module, &CloudsPlaybackItem::playback, clouds::PLAYBACK_MODE_LOOPING_DELAY)); | |||
| menu->addChild(construct<CloudsPlaybackItem>(&MenuItem::text, "Spectral madness", &CloudsPlaybackItem::module, module, &CloudsPlaybackItem::playback, clouds::PLAYBACK_MODE_SPECTRAL)); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Quality")); | |||
| menu->addChild(construct<CloudsQualityItem>(&MenuItem::text, "1s 32kHz 16-bit stereo", &CloudsQualityItem::module, module, &CloudsQualityItem::quality, 0)); | |||
| menu->addChild(construct<CloudsQualityItem>(&MenuItem::text, "2s 32kHz 16-bit mono", &CloudsQualityItem::module, module, &CloudsQualityItem::quality, 1)); | |||
| @@ -330,7 +330,7 @@ struct ElementsWidget : ModuleWidget { | |||
| Elements *elements = dynamic_cast<Elements*>(module); | |||
| assert(elements); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Alternative models")); | |||
| menu->addChild(construct<ElementsModalItem>(&MenuItem::text, "Original", &ElementsModalItem::elements, elements, &ElementsModalItem::model, 0)); | |||
| menu->addChild(construct<ElementsModalItem>(&MenuItem::text, "Non-linear string", &ElementsModalItem::elements, elements, &ElementsModalItem::model, 1)); | |||
| @@ -372,7 +372,7 @@ struct FramesWidget : ModuleWidget { | |||
| Menu *menu = new Menu(); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, string::f("Channel %d", channel + 1))); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Interpolation Curve")); | |||
| menu->addChild(construct<FramesCurveItem>(&MenuItem::text, "Step", &FramesCurveItem::frames, frames, &FramesCurveItem::channel, channel, &FramesCurveItem::curve, frames::EASING_CURVE_STEP)); | |||
| @@ -381,7 +381,7 @@ struct FramesWidget : ModuleWidget { | |||
| menu->addChild(construct<FramesCurveItem>(&MenuItem::text, "Decelerating", &FramesCurveItem::frames, frames, &FramesCurveItem::channel, channel, &FramesCurveItem::curve, frames::EASING_CURVE_OUT_QUARTIC)); | |||
| menu->addChild(construct<FramesCurveItem>(&MenuItem::text, "Smooth Departure/Arrival", &FramesCurveItem::frames, frames, &FramesCurveItem::channel, channel, &FramesCurveItem::curve, frames::EASING_CURVE_SINE)); | |||
| menu->addChild(construct<FramesCurveItem>(&MenuItem::text, "Bouncing", &FramesCurveItem::frames, frames, &FramesCurveItem::channel, channel, &FramesCurveItem::curve, frames::EASING_CURVE_BOUNCE)); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Response Curve")); | |||
| menu->addChild(construct<FramesResponseItem>(&MenuItem::text, "Linear", &FramesResponseItem::frames, frames, &FramesResponseItem::channel, channel, &FramesResponseItem::response, 0)); | |||
| menu->addChild(construct<FramesResponseItem>(&MenuItem::text, "Exponential", &FramesResponseItem::frames, frames, &FramesResponseItem::channel, channel, &FramesResponseItem::response, 255)); | |||
| @@ -409,14 +409,14 @@ struct FramesWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Channel Settings")); | |||
| for (int i = 0; i < 4; i++) { | |||
| menu->addChild(construct<FramesChannelSettingsItem>(&MenuItem::text, string::f("Channel %d", i + 1), &FramesChannelSettingsItem::frames, frames, &FramesChannelSettingsItem::channel, i)); | |||
| } | |||
| menu->addChild(construct<FramesClearItem>(&MenuItem::text, "Clear Keyframes", &FramesClearItem::frames, frames)); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Mode")); | |||
| menu->addChild(construct<FramesModeItem>(&MenuItem::text, "Keyframer", &FramesModeItem::frames, frames, &FramesModeItem::poly_lfo_mode, false)); | |||
| menu->addChild(construct<FramesModeItem>(&MenuItem::text, "Poly LFO", &FramesModeItem::frames, frames, &FramesModeItem::poly_lfo_mode, true)); | |||
| @@ -596,7 +596,7 @@ struct MarblesWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(new MenuEntry); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(createMenuLabel("Scales")); | |||
| const std::string scaleLabels[] = { | |||
| "Major", | |||
| @@ -621,7 +621,7 @@ struct MarblesWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(new MenuEntry); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(createMenuLabel("Internal X clock source")); | |||
| const std::string sourceLabels[] = { | |||
| "T₁ → X₁, T₂ → X₂, T₃ → X₃", | |||
| @@ -672,7 +672,7 @@ struct MarblesWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(new MenuEntry); | |||
| menu->addChild(new MenuSeparator); | |||
| YDividerItem *yDividerItem = createMenuItem<YDividerItem>("Y divider ratio"); | |||
| yDividerItem->module = module; | |||
| menu->addChild(yDividerItem); | |||
| @@ -53,8 +53,8 @@ struct Plaits : Module { | |||
| bool lowCpu = false; | |||
| bool lpg = false; | |||
| dsp::SchmittTrigger model1Trigger; | |||
| dsp::SchmittTrigger model2Trigger; | |||
| dsp::BooleanTrigger model1Trigger; | |||
| dsp::BooleanTrigger model2Trigger; | |||
| Plaits() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| @@ -307,7 +307,7 @@ struct PlaitsWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(new MenuEntry); | |||
| menu->addChild(new MenuSeparator); | |||
| PlaitsLowCpuItem *lowCpuItem = createMenuItem<PlaitsLowCpuItem>("Low CPU", CHECKMARK(module->lowCpu)); | |||
| lowCpuItem->module = module; | |||
| menu->addChild(lowCpuItem); | |||
| @@ -315,7 +315,7 @@ struct PlaitsWidget : ModuleWidget { | |||
| lpgItem->module = module; | |||
| menu->addChild(lpgItem); | |||
| menu->addChild(new MenuEntry()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(createMenuLabel("Models")); | |||
| for (int i = 0; i < 16; i++) { | |||
| PlaitsModelItem *modelItem = createMenuItem<PlaitsModelItem>(modelLabels[i], CHECKMARK(module->patch.engine == i)); | |||
| @@ -316,7 +316,7 @@ struct RingsWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Resonator")); | |||
| menu->addChild(construct<RingsModelItem>(&MenuItem::text, "Modal resonator", &RingsModelItem::rings, rings, &RingsModelItem::model, rings::RESONATOR_MODEL_MODAL)); | |||
| menu->addChild(construct<RingsModelItem>(&MenuItem::text, "Sympathetic strings", &RingsModelItem::rings, rings, &RingsModelItem::model, rings::RESONATOR_MODEL_SYMPATHETIC_STRING)); | |||
| @@ -325,7 +325,7 @@ struct RingsWidget : ModuleWidget { | |||
| menu->addChild(construct<RingsModelItem>(&MenuItem::text, "Quantized sympathetic strings", &RingsModelItem::rings, rings, &RingsModelItem::model, rings::RESONATOR_MODEL_SYMPATHETIC_STRING_QUANTIZED)); | |||
| menu->addChild(construct<RingsModelItem>(&MenuItem::text, "Reverb string", &RingsModelItem::rings, rings, &RingsModelItem::model, rings::RESONATOR_MODEL_STRING_AND_REVERB)); | |||
| menu->addChild(construct<MenuLabel>()); | |||
| menu->addChild(new MenuSeparator); | |||
| menu->addChild(construct<RingsEasterEggItem>(&MenuItem::text, "Disastrous Peace", &RingsEasterEggItem::rings, rings)); | |||
| } | |||
| }; | |||
| @@ -271,7 +271,7 @@ struct TidesWidget : ModuleWidget { | |||
| } | |||
| }; | |||
| menu->addChild(new MenuEntry); | |||
| menu->addChild(new MenuSeparator); | |||
| SheepItem *sheepItem = createMenuItem<SheepItem>("Sheep", CHECKMARK(module->sheep)); | |||
| sheepItem->module = module; | |||
| menu->addChild(sheepItem); | |||