Browse Source

Fix internal modules for headless builds

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.02
falkTX 3 years ago
parent
commit
f80cf75e30
11 changed files with 104 additions and 39 deletions
  1. +1
    -1
      dpf
  2. +8
    -1
      plugins/Cardinal/src/AudioFile.cpp
  3. +11
    -1
      plugins/Cardinal/src/Carla.cpp
  4. +11
    -1
      plugins/Cardinal/src/HostMIDI-CC.cpp
  5. +11
    -1
      plugins/Cardinal/src/HostMIDI-Gate.cpp
  6. +5
    -1
      plugins/Cardinal/src/HostMIDI-Map.cpp
  7. +28
    -28
      plugins/Cardinal/src/HostParameters.cpp
  8. +0
    -2
      plugins/Cardinal/src/HostTime.cpp
  9. +17
    -1
      plugins/Cardinal/src/Ildaeil.cpp
  10. +5
    -1
      plugins/Cardinal/src/TextEditor.cpp
  11. +7
    -1
      plugins/Cardinal/src/glBars.cpp

+ 1
- 1
dpf

@@ -1 +1 @@
Subproject commit f56d13280baee304ebcb6eb92aaaa0409f8674a9
Subproject commit e9f41ad9979d35d7f747ec25652e5ff25da8e853

+ 8
- 1
plugins/Cardinal/src/AudioFile.cpp View File

@@ -619,7 +619,14 @@ struct AudioFileWidget : ModuleWidget {
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(AudioFileWidget) DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(AudioFileWidget)
}; };
#else #else
typedef ModuleWidget AudioFileWidget;
struct AudioFileWidget : ModuleWidget {
AudioFileWidget(CarlaInternalPluginModule* const module) {
setModule(module);

addOutput(createOutput<PJ301MPort>({}, module, 0));
addOutput(createOutput<PJ301MPort>({}, module, 1));
}
};
#endif #endif


// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------


+ 11
- 1
plugins/Cardinal/src/Carla.cpp View File

@@ -652,7 +652,17 @@ static void host_ui_closed(NativeHostHandle handle)
} }
#else #else
static void host_ui_closed(NativeHostHandle) {} static void host_ui_closed(NativeHostHandle) {}
typedef ModuleWidget CarlaModuleWidget;
struct CarlaModuleWidget : ModuleWidget {
CarlaModuleWidget(CarlaModule* const module) {
setModule(module);

for (uint i=0; i<CarlaModule::NUM_INPUTS; ++i)
addInput(createInput<PJ301MPort>({}, module, i));

for (uint i=0; i<CarlaModule::NUM_OUTPUTS; ++i)
addOutput(createOutput<PJ301MPort>({}), module, i));
}
};
#endif #endif






+ 11
- 1
plugins/Cardinal/src/HostMIDI-CC.cpp View File

@@ -775,7 +775,17 @@ struct HostMIDICCWidget : ModuleWidget {
} }
}; };
#else #else
typedef ModuleWidget HostMIDICCWidget;
struct HostMIDICCWidget : ModuleWidget {
HostMIDICCWidget(HostMIDICC* const module) {
setModule(module);

for (int i=0; i<18; ++i)
{
addInput(createInput<PJ301MPort>({}, module, i));
addOutput(createOutput<PJ301MPort>({}, module, i));
}
}
};
#endif #endif


// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------


+ 11
- 1
plugins/Cardinal/src/HostMIDI-Gate.cpp View File

@@ -689,7 +689,17 @@ struct HostMIDIGateWidget : ModuleWidget {
} }
}; };
#else #else
typedef ModuleWidget HostMIDIGateWidget;
struct HostMIDIGateWidget : ModuleWidget {
HostMIDIGateWidget(HostMIDIGate* const module) {
setModule(module);

for (int i=0; i<18; ++i)
{
addInput(createInput<PJ301MPort>({}, module, i));
addOutput(createOutput<PJ301MPort>({}, module, i));
}
}
};
#endif #endif


// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------


+ 5
- 1
plugins/Cardinal/src/HostMIDI-Map.cpp View File

@@ -734,7 +734,11 @@ struct HostMIDIMapWidget : ModuleWidget {
} }
}; };
#else #else
typedef ModuleWidget HostMIDIMapWidget;
struct HostMIDIMapWidget : ModuleWidget {
HostMIDIMapWidget(HostMIDIMap* const module) {
setModule(module);
}
};
#endif #endif


// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------


+ 28
- 28
plugins/Cardinal/src/HostParameters.cpp View File

@@ -35,19 +35,19 @@ struct HostParameters : Module {
NUM_LIGHTS NUM_LIGHTS
}; };


CardinalPluginContext* const pcontext;
rack::dsp::SlewLimiter parameters[kModuleParameters]; rack::dsp::SlewLimiter parameters[kModuleParameters];
bool parametersConnected[kModuleParameters] = {}; bool parametersConnected[kModuleParameters] = {};
float sampleTime = 0.0f; float sampleTime = 0.0f;


HostParameters() HostParameters()
: pcontext(static_cast<CardinalPluginContext*>(APP))
{ {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);

const CardinalPluginContext* const pcontext = static_cast<CardinalPluginContext*>(APP);

if (pcontext == nullptr) if (pcontext == nullptr)
throw rack::Exception("Plugin context is null."); throw rack::Exception("Plugin context is null.");


config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);

const float fsampleRate = static_cast<float>(pcontext->sampleRate); const float fsampleRate = static_cast<float>(pcontext->sampleRate);
SampleRateChangeEvent e = { SampleRateChangeEvent e = {
fsampleRate, fsampleRate,
@@ -58,38 +58,32 @@ struct HostParameters : Module {


void process(const ProcessArgs&) override void process(const ProcessArgs&) override
{ {
if (const CardinalPluginContext* const pcontext = static_cast<CardinalPluginContext*>(APP))
for (uint32_t i=0; i<kModuleParameters; ++i)
{ {
for (uint32_t i=0; i<kModuleParameters; ++i)
{
const bool connected = outputs[i].isConnected();
const bool connected = outputs[i].isConnected();


if (parametersConnected[i] != connected)
{
parametersConnected[i] = connected;
parameters[i].reset();
}

if (connected)
outputs[i].setVoltage(parameters[i].process(sampleTime, pcontext->parameters[i]));
if (parametersConnected[i] != connected)
{
parametersConnected[i] = connected;
parameters[i].reset();
} }

if (connected)
outputs[i].setVoltage(parameters[i].process(sampleTime, pcontext->parameters[i]));
} }
} }


void onSampleRateChange(const SampleRateChangeEvent& e) override void onSampleRateChange(const SampleRateChangeEvent& e) override
{ {
if (const CardinalPluginContext* const pcontext = static_cast<CardinalPluginContext*>(APP))
{
const double fall = 1.0 / (double(pcontext->bufferSize) / e.sampleRate);
const double fall = 1.0 / (double(pcontext->bufferSize) / e.sampleRate);


for (uint32_t i=0; i<kModuleParameters; ++i)
{
parameters[i].reset();
parameters[i].setRiseFall(fall, fall);
}

sampleTime = e.sampleTime;
for (uint32_t i=0; i<kModuleParameters; ++i)
{
parameters[i].reset();
parameters[i].setRiseFall(fall, fall);
} }

sampleTime = e.sampleTime;
} }
}; };


@@ -166,8 +160,14 @@ struct HostParametersWidget : ModuleWidget {
} }
}; };
#else #else
typedef ModuleWidget HostParametersWidget;
#endif
struct HostParametersWidget : ModuleWidget {
HostParametersWidget(HostParameters* const module) {
setModule(module);


for (int i=0; i<24; ++i)
addOutput(createOutput<PJ301MPort>({}, module, i));
}
};
#endif


Model* modelHostParameters = createModel<HostParameters, HostParametersWidget>("HostParameters"); Model* modelHostParameters = createModel<HostParameters, HostParametersWidget>("HostParameters");

+ 0
- 2
plugins/Cardinal/src/HostTime.cpp View File

@@ -184,8 +184,6 @@ struct HostTimeWidget : ModuleWidget {
nvgRoundedRect(vg, startX - 1.0f, y - 2.0f, box.size.x - (startX + 1) * 2, 28.0f, 4); nvgRoundedRect(vg, startX - 1.0f, y - 2.0f, box.size.x - (startX + 1) * 2, 28.0f, 4);
nvgFillColor(vg, nvgRGB(0xd0, 0xd0, 0xd0)); nvgFillColor(vg, nvgRGB(0xd0, 0xd0, 0xd0));
nvgFill(vg); nvgFill(vg);
// nvgStrokeColor(vg, nvgRGBA(0x4a, 0x4a, 0x4a, 0xc0));
// nvgStroke(vg);
nvgBeginPath(vg); nvgBeginPath(vg);
nvgFillColor(vg, color::BLACK); nvgFillColor(vg, color::BLACK);
nvgText(vg, startX + 36, y + 16, text, nullptr); nvgText(vg, startX + 36, y + 16, text, nullptr);


+ 17
- 1
plugins/Cardinal/src/Ildaeil.cpp View File

@@ -1714,7 +1714,23 @@ struct IldaeilModuleWidget : ModuleWidget {
static void host_ui_parameter_changed(NativeHostHandle, uint32_t, float) {} static void host_ui_parameter_changed(NativeHostHandle, uint32_t, float) {}
static const char* host_ui_open_file(NativeHostHandle, bool, const char*, const char*) { return nullptr; } static const char* host_ui_open_file(NativeHostHandle, bool, const char*, const char*) { return nullptr; }
static void projectLoadedFromDSP(void*) {} static void projectLoadedFromDSP(void*) {}
typedef ModuleWidget IldaeilModuleWidget;
struct IldaeilModuleWidget : ModuleWidget {
IldaeilModuleWidget(HostParameters* const module) {
setModule(module);

addInput(createInput<PJ301MPort>(Vec(3, 54), module, IldaeilModule::INPUT1));
addInput(createInput<PJ301MPort>(Vec(3, 54 + 30), module, IldaeilModule::INPUT2));
addOutput(createOutput<PJ301MPort>(Vec(3, 54 + 60), module, IldaeilModule::OUTPUT1));
addOutput(createOutput<PJ301MPort>(Vec(3, 54 + 90), module, IldaeilModule::OUTPUT2));

addInput(createInput<PJ301MPort>(Vec(3, 54 + 135), module, IldaeilModule::PITCH_INPUT));
addInput(createInput<PJ301MPort>(Vec(3, 54 + 165), module, IldaeilModule::GATE_INPUT));
addInput(createInput<PJ301MPort>(Vec(3, 54 + 195), module, IldaeilModule::VEL_INPUT));
addInput(createInput<PJ301MPort>(Vec(3, 54 + 225), module, IldaeilModule::AFT_INPUT));
addInput(createInput<PJ301MPort>(Vec(3, 54 + 255), module, IldaeilModule::PW_INPUT));
addInput(createInput<PJ301MPort>(Vec(3, 54 + 285), module, IldaeilModule::MW_INPUT));
}
};
#endif #endif


// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------


+ 5
- 1
plugins/Cardinal/src/TextEditor.cpp View File

@@ -380,7 +380,11 @@ struct TextEditorModuleWidget : ModuleWidget {
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(TextEditorModuleWidget) DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(TextEditorModuleWidget)
}; };
#else #else
typedef ModuleWidget TextEditorModuleWidget;
struct TextEditorModuleWidget : ModuleWidget {
TextEditorModuleWidget(TextEditorModule* const module) {
setModule(module);
}
};
#endif #endif


// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------


+ 7
- 1
plugins/Cardinal/src/glBars.cpp View File

@@ -160,7 +160,13 @@ struct glBarsWidget : ModuleWidget {
} }
}; };
#else #else
typedef ModuleWidget glBarsWidget;
struct glBarsWidget : ModuleWidget {
glBarsWidget(glBarsModule* const module) {
setModule(module);

addInput(createInput<PJ301MPort>({}, module, glBarsModule::IN1_INPUT));
}
};
#endif #endif


Model* modelGlBars = createModel<glBarsModule, glBarsWidget>("glBars"); Model* modelGlBars = createModel<glBarsModule, glBarsWidget>("glBars");

Loading…
Cancel
Save