@@ -3,57 +3,6 @@ | |||
using namespace rack; | |||
//////////////////// | |||
// switches | |||
//////////////////// | |||
struct LargeSwitch : virtual Switch { | |||
LargeSwitch() { | |||
box.size = Vec(27, 27); | |||
spriteOffset = Vec(-3, -2); | |||
spriteSize = Vec(36, 36); | |||
spriteImage = Image::load("plugins/AudibleInstruments/res/button_large_black.png"); | |||
} | |||
}; | |||
struct MediumSwitch : virtual Switch { | |||
MediumSwitch() { | |||
box.size = Vec(15, 15); | |||
spriteOffset = Vec(-4, -2); | |||
spriteSize = Vec(25, 25); | |||
spriteImage = Image::load("plugins/AudibleInstruments/res/button_medium_black.png"); | |||
} | |||
}; | |||
struct LargeMomentarySwitch : LargeSwitch, MomentarySwitch {}; | |||
struct MediumMomentarySwitch : MediumSwitch, MomentarySwitch {}; | |||
struct LargeToggleSwitch : LargeSwitch, ToggleSwitch {}; | |||
struct MediumToggleSwitch : MediumSwitch, ToggleSwitch {}; | |||
struct SlideSwitch : Switch { | |||
SlideSwitch() { | |||
box.size = Vec(11, 21); | |||
spriteOffset = Vec(-1, -1); | |||
spriteSize = Vec(12, 22); | |||
spriteImage = Image::load("plugins/AudibleInstruments/res/slide_switch.png"); | |||
} | |||
void step() { | |||
index = (value == minValue) ? 0 : 1; | |||
} | |||
void onDragDrop(Widget *origin) { | |||
if (origin != this) | |||
return; | |||
if (value == minValue) { | |||
setValue(maxValue); | |||
} | |||
else { | |||
setValue(minValue); | |||
} | |||
} | |||
}; | |||
struct TripleModeLight : ValueLight { | |||
void step() { | |||
@@ -96,10 +96,10 @@ BlindsWidget::BlindsWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(150, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(150, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(150, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(150, 365))); | |||
addParam(createParam<Rogan1PSWhite>(Vec(8, 52), module, Blinds::GAIN1_PARAM, -1.0, 1.0, 0.0)); | |||
addParam(createParam<Rogan1PSWhite>(Vec(8, 131), module, Blinds::GAIN2_PARAM, -1.0, 1.0, 0.0)); | |||
@@ -212,10 +212,10 @@ BraidsWidget::BraidsWidget() { | |||
addChild(display); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(210, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(210, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(210, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(210, 365))); | |||
addParam(createParam<Rogan2SGray>(Vec(177, 60), module, Braids::SHAPE_PARAM, 0.0, braids::MACRO_OSC_SHAPE_LAST-2, 0.0)); | |||
@@ -85,8 +85,8 @@ BranchesWidget::BranchesWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addParam(createParam<Rogan1PSRed>(Vec(24, 64), module, Branches::THRESHOLD1_PARAM, 0.0, 1.0, 0.5)); | |||
// addParam(createParam<MediumToggleSwitch>(Vec(69, 58), module, Branches::MODE1_PARAM, 0.0, 1.0, 0.0)); | |||
@@ -114,6 +114,7 @@ void Clouds::step() { | |||
clouds::Parameters* p = processor->mutable_parameters(); | |||
p->trigger = triggered; | |||
p->gate = triggered; | |||
p->freeze = (getf(inputs[FREEZE_INPUT]) >= 1.0); | |||
p->position = clampf(params[POSITION_PARAM] + getf(inputs[POSITION_INPUT]) / 5.0, 0.0, 1.0); | |||
p->size = clampf(params[SIZE_PARAM] + getf(inputs[SIZE_INPUT]) / 5.0, 0.0, 1.0); | |||
@@ -122,9 +123,9 @@ void Clouds::step() { | |||
p->texture = clampf(params[TEXTURE_PARAM] + getf(inputs[TEXTURE_INPUT]) / 5.0, 0.0, 1.0); | |||
float blend = clampf(params[BLEND_PARAM] + getf(inputs[BLEND_INPUT]) / 5.0, 0.0, 1.0); | |||
p->dry_wet = blend; | |||
p->stereo_spread = 0.0f; | |||
p->feedback = 0.0f; | |||
p->reverb = 0.0f; | |||
p->stereo_spread = 0.0; | |||
p->feedback = 0.0; | |||
p->reverb = 0.0; | |||
clouds::ShortFrame output[32]; | |||
processor->Process(input, output, 32); | |||
@@ -168,10 +169,10 @@ CloudsWidget::CloudsWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(240, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(240, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(240, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(240, 365))); | |||
// TODO | |||
// addParam(createParam<MediumMomentarySwitch>(Vec(211, 51), module, Clouds::POSITION_PARAM, 0.0, 1.0, 0.5)); | |||
@@ -201,10 +201,10 @@ ElementsWidget::ElementsWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(480, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(480, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(480, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(480, 365))); | |||
addParam(createParam<Rogan1PSWhite>(Vec(29, 43), module, Elements::CONTOUR_PARAM, 0.0, 1.0, 1.0)); | |||
addParam(createParam<Rogan1PSWhite>(Vec(100, 43), module, Elements::BOW_PARAM, 0.0, 1.0, 0.0)); | |||
@@ -260,7 +260,7 @@ ElementsWidget::ElementsWidget() { | |||
addInput(createInput<PJ3410Port>(Vec(424, 313), module, Elements::BRIGHTNESS_MOD_INPUT)); | |||
addInput(createInput<PJ3410Port>(Vec(463, 313), module, Elements::SPACE_MOD_INPUT)); | |||
addParam(createParam<LargeMomentarySwitch>(Vec(36, 116), module, Elements::PLAY_PARAM, 0.0, 2.0, 0.0)); | |||
addParam(createParam<CKD6>(Vec(36, 116), module, Elements::PLAY_PARAM, 0.0, 1.0, 0.0)); | |||
addChild(createValueLight<MediumLight<GreenRedPolarityLight>>(Vec(184, 165), &module->lights[0])); | |||
addChild(createValueLight<MediumLight<GreenRedPolarityLight>>(Vec(395, 165), &module->lights[1])); | |||
@@ -97,8 +97,8 @@ KinksWidget::KinksWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addInput(createInput<PJ3410Port>(Vec(0, 72), module, Kinks::SIGN_INPUT)); | |||
addOutput(createOutput<PJ3410Port>(Vec(29, 72), module, Kinks::INVERT_OUTPUT)); | |||
@@ -66,8 +66,8 @@ LinksWidget::LinksWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addInput(createInput<PJ3410Port>(Vec(0, 72), module, Links::A1_INPUT)); | |||
addOutput(createOutput<PJ3410Port>(Vec(29, 72), module, Links::A1_OUTPUT)); | |||
@@ -208,13 +208,13 @@ RingsWidget::RingsWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(180, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(180, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(180, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(180, 365))); | |||
addParam(createParam<MediumToggleSwitch>(Vec(14, 40), module, Rings::POLYPHONY_PARAM, 0.0, 2.0, 0.0)); | |||
addParam(createParam<MediumToggleSwitch>(Vec(179, 40), module, Rings::RESONATOR_PARAM, 0.0, 2.0, 0.0)); | |||
addParam(createParam<TL1105>(Vec(14, 40), module, Rings::POLYPHONY_PARAM, 0.0, 2.0, 0.0)); | |||
addParam(createParam<TL1105>(Vec(179, 40), module, Rings::RESONATOR_PARAM, 0.0, 2.0, 0.0)); | |||
addParam(createParam<Rogan3PSWhite>(Vec(30, 73), module, Rings::FREQUENCY_PARAM, 0.0, 60.0, 30.0)); | |||
addParam(createParam<Rogan3PSWhite>(Vec(127, 73), module, Rings::STRUCTURE_PARAM, 0.0, 1.0, 0.5)); | |||
@@ -40,7 +40,7 @@ Shades::Shades() { | |||
static float getChannelOutput(const float *in, float gain, float mode) { | |||
float out = getf(in, 5.0); | |||
if (mode < 0.5) { | |||
if (roundf(mode) == 1) { | |||
// attenuverter | |||
out *= 2.0*gain - 1.0; | |||
} | |||
@@ -87,16 +87,16 @@ ShadesWidget::ShadesWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addParam(createParam<Rogan1PSRed>(Vec(40, 41), module, Shades::GAIN1_PARAM, 0.0, 1.0, 0.5)); | |||
addParam(createParam<Rogan1PSWhite>(Vec(40, 107), module, Shades::GAIN2_PARAM, 0.0, 1.0, 0.5)); | |||
addParam(createParam<Rogan1PSGreen>(Vec(40, 173), module, Shades::GAIN3_PARAM, 0.0, 1.0, 0.5)); | |||
addParam(createParam<SlideSwitch>(Vec(11, 52), module, Shades::MODE1_PARAM, 0.0, 1.0, 0.0)); | |||
addParam(createParam<SlideSwitch>(Vec(11, 118), module, Shades::MODE2_PARAM, 0.0, 1.0, 0.0)); | |||
addParam(createParam<SlideSwitch>(Vec(11, 184), module, Shades::MODE3_PARAM, 0.0, 1.0, 0.0)); | |||
addParam(createParam<CKSS>(Vec(10, 52), module, Shades::MODE1_PARAM, 0.0, 1.0, 1.0)); | |||
addParam(createParam<CKSS>(Vec(10, 118), module, Shades::MODE2_PARAM, 0.0, 1.0, 1.0)); | |||
addParam(createParam<CKSS>(Vec(10, 184), module, Shades::MODE3_PARAM, 0.0, 1.0, 1.0)); | |||
addInput(createInput<PJ3410Port>(Vec(5, 242), module, Shades::IN1_INPUT)); | |||
addInput(createInput<PJ3410Port>(Vec(5, 278), module, Shades::IN2_INPUT)); | |||
@@ -58,10 +58,10 @@ StreamsWidget::StreamsWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(150, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(150, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(150, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(150, 365))); | |||
// addParam(createParam<HugeGlowKnob>(Vec(30, 53), module, Streams::ALGORITHM_PARAM, 0.0, 8.0, 0.0)); | |||
@@ -153,13 +153,13 @@ TidesWidget::TidesWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(180, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(180, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(180, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(180, 365))); | |||
addParam(createParam<LargeToggleSwitch>(Vec(19, 52), module, Tides::MODE_PARAM, -1.0, 1.0, 0.0)); | |||
addParam(createParam<LargeToggleSwitch>(Vec(19, 93), module, Tides::RANGE_PARAM, -1.0, 1.0, 0.0)); | |||
addParam(createParam<CKD6>(Vec(19, 52), module, Tides::MODE_PARAM, -1.0, 1.0, 0.0)); | |||
addParam(createParam<CKD6>(Vec(19, 93), module, Tides::RANGE_PARAM, -1.0, 1.0, 0.0)); | |||
addParam(createParam<Rogan3PSGreen>(Vec(79, 60), module, Tides::FREQUENCY_PARAM, -48.0, 48.0, 0.0)); | |||
addParam(createParam<Rogan1PSGreen>(Vec(156, 66), module, Tides::FM_PARAM, -12.0, 12.0, 0.0)); | |||
@@ -105,10 +105,10 @@ VeilsWidget::VeilsWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(150, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(150, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(150, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(150, 365))); | |||
addParam(createParam<Rogan1PSWhite>(Vec(8, 52), module, Veils::GAIN1_PARAM, 0.0, 1.0, 0.0)); | |||
addParam(createParam<Rogan1PSWhite>(Vec(8, 131), module, Veils::GAIN2_PARAM, 0.0, 1.0, 0.0)); | |||
@@ -64,7 +64,7 @@ void Warps::step() { | |||
p->note += log2f(96000.0 / gSampleRate) * 12.0; | |||
float state = roundf(params[STATE_PARAM]); | |||
p->carrier_shape = (int32_t)state; | |||
lights[0] = state - 1.0; | |||
lights[0] = state; | |||
modulator.Process(inputFrames, outputFrames, 60); | |||
} | |||
@@ -88,15 +88,15 @@ WarpsWidget::WarpsWidget() { | |||
addChild(panel); | |||
} | |||
addChild(createScrew<SilverScrew>(Vec(15, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(120, 0))); | |||
addChild(createScrew<SilverScrew>(Vec(15, 365))); | |||
addChild(createScrew<SilverScrew>(Vec(120, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(120, 0))); | |||
addChild(createScrew<ScrewSilver>(Vec(15, 365))); | |||
addChild(createScrew<ScrewSilver>(Vec(120, 365))); | |||
addParam(createParam<Rogan6PSWhite>(Vec(30, 53), module, Warps::ALGORITHM_PARAM, 0.0, 8.0, 0.0)); | |||
addParam(createParam<Rogan1PSWhite>(Vec(95, 173), module, Warps::TIMBRE_PARAM, 0.0, 1.0, 0.5)); | |||
addParam(createParam<MediumToggleSwitch>(Vec(17, 182), module, Warps::STATE_PARAM, 0.0, 3.0, 0.0)); | |||
addParam(createParam<TL1105>(Vec(16, 182), module, Warps::STATE_PARAM, 0.0, 3.0, 0.0)); | |||
addParam(createParam<Trimpot>(Vec(15, 214), module, Warps::LEVEL1_PARAM, 0.0, 1.0, 1.0)); | |||
addParam(createParam<Trimpot>(Vec(54, 214), module, Warps::LEVEL2_PARAM, 0.0, 1.0, 1.0)); | |||