computerscare-vcv-modules

computerscare modules for VCV Rack
Log | Files | Refs

commit 77aeb0c674ad67d2d811d1037b699954c25c24eb
parent 3f1618073b12f5472e1ee9a75f31756d4a41d504
Author: Adam M <aemalone@gmail.com>
Date:   Fri, 29 Oct 2021 16:08:52 -0500

port labels

Diffstat:
Msrc/ComputerscareBlankExpander.cpp | 6++++++
Msrc/ComputerscareBolyPuttons.cpp | 4++++
Msrc/ComputerscareDebug.cpp | 6++++++
Msrc/ComputerscareFolyPace.cpp | 1+
Msrc/ComputerscareGolyPenerator.cpp | 2++
Msrc/ComputerscareHorseADoodleDoo.cpp | 10++++++++++
Msrc/ComputerscareILoveCookies.cpp | 12++++++++++++
Msrc/ComputerscareKnolyPobs.cpp | 2++
Msrc/ComputerscareLaundrySoup.cpp | 9++++++++-
Msrc/ComputerscareMolyPatrix.cpp | 9++++++++-
Msrc/ComputerscareOhPeas.cpp | 25++++++++++++++++++++++++-
Msrc/ComputerscarePatchSequencer.cpp | 6++++++
Msrc/ComputerscareRolyPouter.cpp | 5+++++
Msrc/ComputerscareSolyPequencer.cpp | 7+++++++
Msrc/ComputerscareStolyFickPigure.cpp | 1+
Msrc/ComputerscareTolyPools.cpp | 6++++++
16 files changed, 108 insertions(+), 3 deletions(-)

diff --git a/src/ComputerscareBlankExpander.cpp b/src/ComputerscareBlankExpander.cpp @@ -77,6 +77,12 @@ struct ComputerscareBlankExpander : Module { configParam<FrameOffsetParam>(ZERO_OFFSET, 0.f, 0.999f, 0.f, "EOC / Reset Frame #"); configParam(MANUAL_NEXT_FILE_BUTTON, 0.f, 1.f, 0.f, "Next File (see right click menu of mother for options)"); + configInput(SYNC_INPUT, "Sync"); + configInput(RESET_INPUT, "Reset"); + configInput(NEXT_FILE_INPUT, "Next Slideshow File"); + configOutput(EOC_OUTPUT, "End of Animation"); + configOutput(EACH_FRAME_OUTPUT, "Frame Change"); + frameOffsetQuantity = dynamic_cast<FrameOffsetParam*>(paramQuantities[ZERO_OFFSET]); rightExpander.producerMessage = rightMessages[0]; diff --git a/src/ComputerscareBolyPuttons.cpp b/src/ComputerscareBolyPuttons.cpp @@ -46,6 +46,10 @@ struct ComputerscareBolyPuttons : ComputerscarePolyModule { getParamQuantity(POLY_CHANNELS)->randomizeEnabled = false; + configInput(A_INPUT, "A (Button Up)"); + configInput(B_INPUT, "B (Button Down)"); + configOutput(POLY_OUTPUT, "Main"); + outputRanges[0][0] = 0.f; outputRanges[0][1] = 10.f; outputRanges[1][0] = -5.f; diff --git a/src/ComputerscareDebug.cpp b/src/ComputerscareDebug.cpp @@ -75,6 +75,12 @@ struct ComputerscareDebug : Module { configParam(CLOCK_CHANNEL_FOCUS, 0.f, 15.f, 0.f, "Clock Channel Selector"); configParam(INPUT_CHANNEL_FOCUS, 0.f, 15.f, 0.f, "Input Channel Selector"); + configInput(VAL_INPUT, "Value"); + configInput(TRG_INPUT, "Clock"); + configInput(CLR_INPUT, "Reset"); + configOutput(POLY_OUTPUT, "Main"); + + outputRanges[0][0] = 0.f; outputRanges[0][1] = 10.f; diff --git a/src/ComputerscareFolyPace.cpp b/src/ComputerscareFolyPace.cpp @@ -51,6 +51,7 @@ struct FolyPace : Module { configParam(OFFSET, -5.f, 5.f, 0.f, "Input Offset", " Volts"); configParam(SCRAMBLE, -10.f, 10.f, 0.f, "Scrambling"); + configInput(X_INPUT, "Main"); } diff --git a/src/ComputerscareGolyPenerator.cpp b/src/ComputerscareGolyPenerator.cpp @@ -67,6 +67,8 @@ struct ComputerscareGolyPenerator : ComputerscarePolyModule { getParamQuantity(POLY_CHANNELS)->randomizeEnabled = false; + configOutput(POLY_OUTPUT, "Main"); + availableAlgorithms.push_back("Linear"); availableAlgorithms.push_back("Sigmoid"); availableAlgorithms.push_back("Hump"); diff --git a/src/ComputerscareHorseADoodleDoo.cpp b/src/ComputerscareHorseADoodleDoo.cpp @@ -315,6 +315,16 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule { getParamQuantity(STEPS_SPREAD)->randomizeEnabled = false; getParamQuantity(DENSITY_SPREAD)->randomizeEnabled = false; + configInput(CLOCK_INPUT, "Clock"); + configInput(RESET_INPUT, "Reset"); + configInput(PATTERN_CV, "Pattern CV"); + configInput(STEPS_CV, "Number of Steps CV"); + configInput(DENSITY_CV, "Density CV"); + + configOutput(TRIGGER_OUTPUT, "Trigger Sequence"); + configOutput(EOC_OUTPUT, "End of Cycle"); + configOutput(CV_OUTPUT, "CV Sequence"); + for (int i = 0; i < 16; i++) { seq[i] = HorseSequencer(0.f, 8, 0.f, i, 0.f); previousStep[i] = -1; diff --git a/src/ComputerscareILoveCookies.cpp b/src/ComputerscareILoveCookies.cpp @@ -22,6 +22,7 @@ const int numKnobs = numKnobRows * numKnobColumns; const int numInputs = numInputRows * numInputColumns; const std::vector<NVGcolor> outlineColorMap = {COLOR_COMPUTERSCARE_RED, COLOR_COMPUTERSCARE_YELLOW, COLOR_COMPUTERSCARE_BLUE}; +const std::string uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; struct ComputerscareILoveCookies : Module { enum ParamIds { @@ -100,10 +101,21 @@ struct ComputerscareILoveCookies : Module { setNextAbsoluteSequence(i); checkIfShouldChange(i); resetOneOfThem(i); + + configInput(CLOCK_INPUT + i, "Row " + std::to_string(i + 1) + " Clock"); + configInput(RESET_INPUT + i, "Row " + std::to_string(i + 1) + " Reset"); + + configOutput(TRG_OUTPUT + i, "Row " + std::to_string(i + 1) + " CV"); + configOutput(FIRST_STEP_OUTPUT + i, "Row " + std::to_string(i + 1) + " End of Cycle"); } for (int k = 0; k < numKnobs; k++) { configParam( KNOB_PARAM + k, 0.f, 10.f, 0.0f, string::f("knob %c", knoblookup[k])); + + configInput(SIGNAL_INPUT + k, string::f("%c", uppercaseLetters.at(k))); } + + configInput(GLOBAL_CLOCK_INPUT, "Global Clock"); + configInput(GLOBAL_RESET_INPUT, "Global Reset"); } json_t *dataToJson() override { json_t *rootJ = json_object(); diff --git a/src/ComputerscareKnolyPobs.cpp b/src/ComputerscareKnolyPobs.cpp @@ -46,6 +46,8 @@ struct ComputerscareKnolyPobs : ComputerscarePolyModule { getParamQuantity(GLOBAL_SCALE)->randomizeEnabled = false; getParamQuantity(GLOBAL_OFFSET)->randomizeEnabled = false; + configOutput(POLY_OUTPUT, "Main"); + } void process(const ProcessArgs &args) override { ComputerscarePolyModule::checkCounter(); diff --git a/src/ComputerscareLaundrySoup.cpp b/src/ComputerscareLaundrySoup.cpp @@ -114,12 +114,19 @@ struct ComputerscareLaundrySoup : Module { checkIfShouldChange(i); resetOneOfThem(i); + configInput(CLOCK_INPUT + i, "Row " + std::to_string(i + 1) + " Clock"); + configInput(RESET_INPUT + i, "Row " + std::to_string(i + 1) + " Reset"); + + configOutput(TRG_OUTPUT + i, "Row " + std::to_string(i + 1) + " Trigger"); + configOutput(FIRST_STEP_OUTPUT + i, "Row " + std::to_string(i + 1) + " End of Cycle"); + LaundryPoly lp = LaundryPoly(currentFormula[i]); laundryPoly[i] = lp; channelCountEnum[i] = -1; channelCount[i] = 1; - } + configInput(GLOBAL_CLOCK_INPUT, "Global Clock"); + configInput(GLOBAL_RESET_INPUT, "Global Reset"); } json_t *dataToJson() override { json_t *rootJ = json_object(); diff --git a/src/ComputerscareMolyPatrix.cpp b/src/ComputerscareMolyPatrix.cpp @@ -30,7 +30,7 @@ struct ComputerscareMolyPatrix : ComputerscarePolyModule { INPUT_ATTENUATION_CV, INPUT_OFFSET_CV, OUTPUT_ATTENUATION_CV, - OUTPUT_ATTENUATION_OFFSET, + OUTPUT_OFFSET_CV, NUM_INPUTS }; enum OutputIds { @@ -73,6 +73,13 @@ struct ComputerscareMolyPatrix : ComputerscarePolyModule { configParam<AutoParamQuantity>(POLY_CHANNELS, 0.f, 16.f, 0.f, "Poly Channels"); getParamQuantity(POLY_CHANNELS)->randomizeEnabled = false; + configInput(POLY_INPUT, "Main"); + + configInput(INPUT_ATTENUATION_CV, "Input Attenuation"); + configInput(OUTPUT_ATTENUATION_CV, "Output Attenuation"); + + configOutput(POLY_OUTPUT, "Main"); + } void checkPoly() override { numInputChannels = inputs[POLY_INPUT].getChannels(); diff --git a/src/ComputerscareOhPeas.cpp b/src/ComputerscareOhPeas.cpp @@ -68,17 +68,40 @@ struct ComputerscareOhPeas : Module ComputerscareOhPeas() { + + enum InputIds + { + CHANNEL_INPUT, + SCALE_CV = CHANNEL_INPUT + numChannels, + OFFSET_CV = SCALE_CV + numChannels, + NUM_INPUTS = OFFSET_CV + numChannels + }; + enum OutputIds + { + SCALED_OUTPUT, + QUANTIZED_OUTPUT = SCALED_OUTPUT + numChannels, + NUM_OUTPUTS = QUANTIZED_OUTPUT + numChannels + }; + + config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); configParam(GLOBAL_TRANSPOSE, -1.f, 1.f, 0.0f, "Global Transpose"); configParam(NUM_DIVISIONS, 1.f, 24.f, 12.0f, "Number of Divisions"); for (int i = 0; i < numChannels; i++) { - std::string chi = "Ch. " + std::to_string(i + 1); + std::string chi = "Column " + std::to_string(i + 1); configParam( SCALE_TRIM + i, -1.f, 1.f, 0.0f, chi + " Scale CV Amount"); configParam( SCALE_VAL + i, -2.f, 2.f, 1.0f, chi + " Scale Value"); configParam( OFFSET_TRIM + i, -1.f, 1.f, 0.0f, chi + " Offset CV Amount"); configParam( OFFSET_VAL + i, -5.f, 5.f, 0.0f, chi + " Offset Value"); + configInput(CHANNEL_INPUT + i, chi); + configInput(SCALE_CV + i, chi + " Scale"); + configInput(OFFSET_CV + i, chi + " Offset"); + + configOutput(SCALED_OUTPUT + i, chi + " Non-Quantized"); + configOutput(QUANTIZED_OUTPUT + i, chi + " Quantized"); + } } diff --git a/src/ComputerscarePatchSequencer.cpp b/src/ComputerscarePatchSequencer.cpp @@ -73,9 +73,15 @@ struct ComputerscarePatchSequencer : Module { configParam(STEPS_PARAM, 1.f, 16.f, 2.0f, "Number of Steps"); for (int i = 0; i < numOutputs; i++) { channelCount[i] = 0; + configInput(INPUT_JACKS + i, "Row " + std::to_string(i + 1)); + configOutput(OUTPUTS + i, "Column " + std::to_string(i + 1)); } getParamQuantity(STEPS_PARAM)->randomizeEnabled = false; + configInput(TRG_INPUT, "Clock"); + configInput(RESET_INPUT, "Reset Trigger"); + configInput(RANDOMIZE_INPUT, "Randomize Trigger"); + } void process(const ProcessArgs &args) override; diff --git a/src/ComputerscareRolyPouter.cpp b/src/ComputerscareRolyPouter.cpp @@ -45,6 +45,11 @@ struct ComputerscareRolyPouter : ComputerscarePolyModule { getParamQuantity(POLY_CHANNELS)->randomizeEnabled = false; getParamQuantity(RANDOMIZE_ONE_TO_ONE)->randomizeEnabled = false; + configInput(POLY_INPUT, "Main"); + configInput(ROUTING_CV, "Routing CV"); + + configOutput(POLY_OUTPUT, "Re-Routed"); + } void setAll(int setVal) { for (int i = 0; i < 16; i++) { diff --git a/src/ComputerscareSolyPequencer.cpp b/src/ComputerscareSolyPequencer.cpp @@ -52,6 +52,13 @@ struct ComputerscareSolyPequencer : ComputerscarePolyModule { configParam<AutoParamQuantity>(POLY_CHANNELS, 0.f, 16.f, 16.f, "Poly Channels"); getParamQuantity(POLY_CHANNELS)->randomizeEnabled = false; + + configInput(POLY_INPUT, "Main"); + configInput(CLOCK_INPUT, "Clock"); + configInput(RESET_INPUT, "Reset Trigger"); + + configOutput(POLY_OUTPUT, "Main"); + configOutput(EOC_OUTPUT, "End of Cycle"); } void resetAll() { for (int i = 0; i < 16; i++) { diff --git a/src/ComputerscareStolyFickPigure.cpp b/src/ComputerscareStolyFickPigure.cpp @@ -56,6 +56,7 @@ struct StolyFickPigure : Module { configParam(SCRAMBLE, -10.f, 10.f, 0.f, "Scrambling"); + configInput(X_INPUT, "Main"); } diff --git a/src/ComputerscareTolyPools.cpp b/src/ComputerscareTolyPools.cpp @@ -60,6 +60,12 @@ struct ComputerscareTolyPools : Module { configParam(ROTATE_KNOB, 0.f, 15.f, 0.f, "Rotate input", " channels"); configParam(NUM_CHANNELS_KNOB, 1.f, 16.f, 16.f, "Number of Output Channels"); + configInput(POLY_INPUT, "Main"); + configInput(ROTATE_CV, "Rotation CV"); + configInput(NUM_CHANNELS_CV, "Number of Channels CV"); + + configOutput(POLY_OUTPUT, "Main"); + configOutput(NUM_CHANNELS_OUTPUT, "Number of Input Channels"); } void process(const ProcessArgs &args) override {