@@ -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); | |||