Merge branch 'CVfunk' of https://github.com/codygeary/Cardinal into CVfunk
This commit is contained in:
commit
e08693a640
53 changed files with 614 additions and 225 deletions
42
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
42
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
name: Bug Report
|
||||
description: Report a bug with Cardinal
|
||||
body:
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
value: "24.04"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: plugin-type
|
||||
attributes:
|
||||
label: Plugin type
|
||||
multiple: true
|
||||
options:
|
||||
- Native / JACK
|
||||
- AU
|
||||
- CLAP
|
||||
- LV2
|
||||
- VST2
|
||||
- VST3
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: os
|
||||
attributes:
|
||||
label: OS
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: daw-host
|
||||
attributes:
|
||||
label: "DAW / Host (if applicable)"
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: bug-description
|
||||
attributes:
|
||||
label: Description
|
||||
validations:
|
||||
required: true
|
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Module request
|
||||
url: https://github.com/DISTRHO/Cardinal/wiki/Possible-modules-to-include
|
||||
about: To request a new module, add it to the wiki page here
|
||||
- name: Discussions
|
||||
url: https://github.com/DISTRHO/Cardinal/discussions
|
||||
about: Ask other questions or share what you've made with Cardinal
|
9
.github/ISSUE_TEMPLATE/feature.yaml
vendored
Normal file
9
.github/ISSUE_TEMPLATE/feature.yaml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
name: Feature request
|
||||
description: Request a new feature
|
||||
body:
|
||||
- type: textarea
|
||||
id: feature-description
|
||||
attributes:
|
||||
label: Description
|
||||
validations:
|
||||
required: true
|
9
.gitmodules
vendored
9
.gitmodules
vendored
|
@ -233,6 +233,15 @@
|
|||
[submodule "plugins/DHE-Modules"]
|
||||
path = plugins/DHE-Modules
|
||||
url = https://github.com/dhemery/DHE-Modules.git
|
||||
[submodule "plugins/Computerscare"]
|
||||
path = plugins/Computerscare
|
||||
url = https://github.com/freddyz/computerscare-vcv-modules.git
|
||||
[submodule "plugins/CVfunk"]
|
||||
path = plugins/CVfunk
|
||||
url = https://github.com/codygeary/CVfunk-Modules.git
|
||||
[submodule "plugins/StarlingVia"]
|
||||
path = plugins/StarlingVia
|
||||
url = https://github.com/starlingcode/Via-for-Rack.git
|
||||
[submodule "plugins/Biset"]
|
||||
path = plugins/Biset
|
||||
url = https://github.com/gibbonjoyeux/VCV-Biset.git
|
||||
|
|
5
Makefile
5
Makefile
|
@ -10,11 +10,12 @@ include $(ROOT)/Makefile.base.mk
|
|||
# Set version
|
||||
|
||||
# also set in:
|
||||
# .github/ISSUE_TEMPLATE/bug.yaml
|
||||
# src/CardinalCommon.cpp `CARDINAL_VERSION`
|
||||
# src/CardinalPlugin.cpp `getVersion`
|
||||
# utils/macOS/Info_{JACK,Native}.plist
|
||||
# src/CardinalCommon.cpp src/CardinalPlugin.cpp utils/macOS/Info_{JACK,Native}.plist
|
||||
VERSION = 24.03
|
||||
# .github/ISSUE_TEMPLATE/bug.yaml src/CardinalCommon.cpp src/CardinalPlugin.cpp utils/macOS/Info_{JACK,Native}.plist
|
||||
VERSION = 24.04
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Build targets
|
||||
|
|
|
@ -139,6 +139,7 @@ At the moment the following 3rd-party modules are provided:
|
|||
- [Catro/Modulo](https://github.com/catronomix/catro-modulo)
|
||||
- [cf](https://github.com/cfoulc/cf)
|
||||
- [ChowDSP](https://github.com/jatinchowdhury18/ChowDSP-VCV)
|
||||
- [Computerscare](https://github.com/freddyz/computerscare-vcv-modules)
|
||||
- [CVfunk](https://github.com/codygeary/CVfunk-Modules)
|
||||
- [dBiz](https://github.com/dBiz/dBiz)
|
||||
- [DHE Modules](https://github.com/dhemery/DHE-Modules)
|
||||
|
@ -185,6 +186,7 @@ At the moment the following 3rd-party modules are provided:
|
|||
- [Sapphire](https://github.com/cosinekitty/sapphire)
|
||||
- [Sonus Modular](https://gitlab.com/sonusdept/sonusmodular)
|
||||
- [stocaudio](https://github.com/aptrn/stocaudio-modules)
|
||||
- [Starling Via](https://github.com/starlingcode/Via-for-Rack)
|
||||
- [Stoermelder Pack-One](https://github.com/stoermelder/vcvrack-packone)
|
||||
- [Surge XT](https://github.com/surge-synthesizer/surge-rack)
|
||||
- [unless_modules](https://gitlab.com/unlessgames/unless_modules)
|
||||
|
|
2
carla
2
carla
|
@ -1 +1 @@
|
|||
Subproject commit 66afe24a08790732cc17d81d4b846a1e0cfa0118
|
||||
Subproject commit 3c7d0e7b914d38a32b733cc5ced0b5696d2f9a03
|
2
deps/PawPaw
vendored
2
deps/PawPaw
vendored
|
@ -1 +1 @@
|
|||
Subproject commit b84d0ec2d1bb5c7d7fd05d4a8d7f4af71306c425
|
||||
Subproject commit 0edef2120e7fd493493e66967438c0b2ea8c8552
|
|
@ -29,10 +29,12 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
|
|||
| Bacon Music | GPL-3.0-or-later | |
|
||||
| Befaco | GPL-3.0-or-later | |
|
||||
| Bidoo | GPL-3.0-or-later | |
|
||||
| Biset | MIT | |
|
||||
| Bogaudio | GPL-3.0-or-later | |
|
||||
| Catro/Modulo | BSD-3-Clause | |
|
||||
| cf | BSD-3-Clause | |
|
||||
| ChowDSP | GPL-3.0-or-later | |
|
||||
| Computerscare | BSD-3-Clause | |
|
||||
| CVfunk | MIT | |
|
||||
| dBiz | GPL-3.0-or-later | |
|
||||
| DHE-Modules | MIT | |
|
||||
|
@ -78,6 +80,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
|
|||
| RebelTech | GPL-2.0-or-later | |
|
||||
| Sapphire | GPL-3.0-or-later | |
|
||||
| Sonus Modular | GPL-3.0-or-later | |
|
||||
| Starling Via | MIT | |
|
||||
| stocaudio | GPL-3.0-or-later | |
|
||||
| Stoermelder Pack-One | GPL-3.0-or-later | |
|
||||
| Surge XT | GPL-3.0-or-later | |
|
||||
|
@ -145,6 +148,9 @@ Below is a list of artwork licenses from plugins
|
|||
| Befaco/components/* | CC-BY-NC-4.0 | |
|
||||
| Befaco/fonts/Segment7Standard.otf | OFL-1.1-RFN | |
|
||||
| Befaco/panels/* | Custom | Copyright © [Befaco](https://www.befaco.org/), [used and distributed with permission](LICENSE-PERMISSIONS.md#befaco-manu-retamero--befaco) |
|
||||
| Biset/* | MIT | No artwork specific license provided |
|
||||
| Biset/FT88-Regular.ttf | OFL | |
|
||||
| Biset/Recursive_VF_1.085.ttf | OFL-1.1-no-RFN | |
|
||||
| BogaudioModules/* | CC-BY-SA-4.0 | |
|
||||
| BogaudioModules/fonts/audiowide.ttf | OFL-1.1-RFN | |
|
||||
| BogaudioModules/fonts/inconsolata*.ttf | OFL-1.1-no-RFN | |
|
||||
|
@ -158,6 +164,9 @@ Below is a list of artwork licenses from plugins
|
|||
| cf/VT323-Regular.ttf | OFL-1.1-no-RFN | |
|
||||
| ChowDSP/* | GPL-3.0-or-later | Same license as source code |
|
||||
| ChowDSP/fonts/RobotoCondensed-*.ttf | Apache-2.0 | |
|
||||
| Computerscare/* | BSD-3-Clause | No artwork specific license provided |
|
||||
| Computerscare/Oswald-Regular.ttf | OFL-1.1 | |
|
||||
| Computerscare/Segment7Standard.ttf | OFL-1.1-RFN | |
|
||||
| CVfunk/* | MIT | Same license as source code |
|
||||
| dBiz/* | CC-BY-NC-ND-4.0 | |
|
||||
| dBiz/DejaVuSansMono.ttf | Bitstream-Vera | |
|
||||
|
@ -231,6 +240,7 @@ Below is a list of artwork licenses from plugins
|
|||
| RebelTech/* | CC-BY-NC-4.0 | |
|
||||
| Sapphire/* | GPL-3.0-or-later | No artwork specific license provided |
|
||||
| sonusmodular/* | GPL-3.0-or-later | [Same license as source code](https://gitlab.com/sonusdept/sonusmodular/-/issues/14) |
|
||||
| StarlingVia/* | MIT | No artwork specific license provided |
|
||||
| stocaudio/* | GPL-3.0-or-later | No artwork specific license provided |
|
||||
| stoermelder-packone/* | GPL-3.0-or-later | No artwork specific license provided |
|
||||
| stoermelder-packone/fonts/RedkostComic.otf | OFL-1.1-RFN | |
|
||||
|
|
2
dpf
2
dpf
|
@ -1 +1 @@
|
|||
Subproject commit 045b943199393053c606b530fc882661502d53d7
|
||||
Subproject commit 01aca7649c1a3a5ee20a47c5ecd3cb2e29395f89
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -29,6 +29,8 @@
|
|||
|
||||
#include "choc/choc_SmallVector.h"
|
||||
|
||||
#include <jansson.h>
|
||||
|
||||
namespace rack {
|
||||
/** Abstraction for all MIDI drivers in Rack */
|
||||
namespace midi {
|
||||
|
@ -111,6 +113,18 @@ struct Message {
|
|||
};
|
||||
|
||||
|
||||
struct InputQueue {
|
||||
struct Internal;
|
||||
Internal* internal;
|
||||
|
||||
InputQueue();
|
||||
~InputQueue();
|
||||
bool tryPop(Message* const messageOut, int64_t maxFrame);
|
||||
json_t* toJson() const;
|
||||
void fromJson(json_t* rootJ);
|
||||
};
|
||||
|
||||
|
||||
/* NOTE all the other MIDI stuff (drivers, ports etc) is purposefully missing here, unwanted in Cardinal
|
||||
*/
|
||||
struct Port;
|
||||
|
|
|
@ -1,47 +1,27 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 3 of
|
||||
* the License, or any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "DistrhoUtils.hpp"
|
||||
#ifdef BUILDING_PLUGIN_MODULES
|
||||
#include "rack.hpp"
|
||||
#endif
|
||||
|
||||
#include "../dgl/Base.hpp"
|
||||
namespace rack {
|
||||
namespace midi {
|
||||
struct Message;
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
// from PluginContext.hpp
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
// Base DISTRHO classes
|
||||
|
||||
START_NAMESPACE_DGL
|
||||
class TopLevelWidget;
|
||||
template <class BaseWidget> class NanoBaseWidget;
|
||||
typedef NanoBaseWidget<TopLevelWidget> NanoTopLevelWidget;
|
||||
END_NAMESPACE_DGL
|
||||
#ifndef DISTRHO_DETAILS_HPP_INCLUDED
|
||||
|
||||
START_NAMESPACE_DISTRHO
|
||||
|
||||
static constexpr const uint32_t kModuleParameterCount = 24;
|
||||
|
||||
enum CardinalVariant {
|
||||
kCardinalVariantMain,
|
||||
kCardinalVariantMini,
|
||||
kCardinalVariantFX,
|
||||
kCardinalVariantNative,
|
||||
kCardinalVariantSynth,
|
||||
};
|
||||
namespace CardinalDISTRHO {
|
||||
|
||||
class Plugin;
|
||||
class UI;
|
||||
|
@ -54,6 +34,45 @@ struct MidiEvent {
|
|||
const uint8_t* dataExt;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
// Base DGL classes
|
||||
|
||||
#ifndef DGL_BASE_HPP_INCLUDED
|
||||
|
||||
namespace CardinalDGL {
|
||||
|
||||
class TopLevelWidget;
|
||||
template <class BaseWidget> class NanoBaseWidget;
|
||||
typedef NanoBaseWidget<TopLevelWidget> NanoTopLevelWidget;
|
||||
|
||||
struct IdleCallback {
|
||||
virtual ~IdleCallback() {}
|
||||
virtual void idleCallback() = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
using CardinalDGL::IdleCallback;
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
// Cardinal specific context
|
||||
|
||||
static constexpr const uint32_t kModuleParameterCount = 24;
|
||||
|
||||
enum CardinalVariant {
|
||||
kCardinalVariantMain,
|
||||
kCardinalVariantMini,
|
||||
kCardinalVariantFX,
|
||||
kCardinalVariantNative,
|
||||
kCardinalVariantSynth,
|
||||
};
|
||||
|
||||
struct CardinalPluginContext : rack::Context {
|
||||
uint32_t bufferSize, processCounter;
|
||||
double sampleRate;
|
||||
|
@ -67,23 +86,23 @@ struct CardinalPluginContext : rack::Context {
|
|||
uintptr_t nativeWindowId;
|
||||
const float* const* dataIns;
|
||||
float** dataOuts;
|
||||
const MidiEvent* midiEvents;
|
||||
const CardinalDISTRHO::MidiEvent* midiEvents;
|
||||
uint32_t midiEventCount;
|
||||
Plugin* const plugin;
|
||||
DGL_NAMESPACE::NanoTopLevelWidget* tlw;
|
||||
UI* ui;
|
||||
CardinalPluginContext(Plugin* const p);
|
||||
CardinalDISTRHO::Plugin* const plugin;
|
||||
#ifndef HEADLESS
|
||||
CardinalDGL::NanoTopLevelWidget* tlw;
|
||||
CardinalDISTRHO::UI* ui;
|
||||
#endif
|
||||
CardinalPluginContext(CardinalDISTRHO::Plugin* const p);
|
||||
void writeMidiMessage(const rack::midi::Message& message, uint8_t channel);
|
||||
#ifndef HEADLESS
|
||||
#ifndef HEADLESS
|
||||
bool addIdleCallback(IdleCallback* cb) const;
|
||||
void removeIdleCallback(IdleCallback* cb) const;
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifndef HEADLESS
|
||||
void handleHostParameterDrag(const CardinalPluginContext* pcontext, uint index, bool started);
|
||||
#endif
|
||||
|
||||
END_NAMESPACE_DISTRHO
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
1
plugins/Biset
Submodule
1
plugins/Biset
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit a697109733cf0d0f022cf01e06896a1e78b236f6
|
|
@ -1,11 +1,11 @@
|
|||
/*
|
||||
* AIDA-X Cardinal plugin
|
||||
* Copyright (C) 2022-2023 Massimo Pennazio <maxipenna@libero.it>
|
||||
* Copyright (C) 2023 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2023-2024 Filipe Coelho <falktx@falktx.com>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
#include "plugincontext.hpp"
|
||||
#include "plugin.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
|
||||
#ifndef HEADLESS
|
||||
|
@ -250,7 +250,6 @@ struct AidaPluginModule : Module {
|
|||
NUM_LIGHTS
|
||||
};
|
||||
|
||||
CardinalPluginContext* const pcontext;
|
||||
bool fileChanged = false;
|
||||
std::string currentFile;
|
||||
|
||||
|
@ -272,7 +271,6 @@ struct AidaPluginModule : Module {
|
|||
#endif
|
||||
|
||||
AidaPluginModule()
|
||||
: pcontext(static_cast<CardinalPluginContext*>(APP))
|
||||
{
|
||||
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
|
||||
|
||||
|
@ -656,8 +654,6 @@ struct AidaPluginModule : Module {
|
|||
cachedParams[kParameterPRESENCE]);
|
||||
}
|
||||
#endif
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(AidaPluginModule)
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -1093,8 +1089,6 @@ struct AidaWidget : ModuleWidgetWithSideScrews<23> {
|
|||
|
||||
menu->addChild(new LoadModelFileItem(module));
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(AidaWidget)
|
||||
};
|
||||
#else
|
||||
struct AidaWidget : ModuleWidget {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,6 +15,7 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "extra/Runner.hpp"
|
||||
|
@ -39,6 +40,7 @@ const NativePluginDescriptor* carla_getNativePluginDescriptor(const std::size_t
|
|||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
using namespace CARLA_BACKEND_NAMESPACE;
|
||||
using namespace DISTRHO_NAMESPACE;
|
||||
|
||||
static uint32_t host_get_buffer_size(NativeHostHandle);
|
||||
static double host_get_sample_rate(NativeHostHandle);
|
||||
|
@ -335,8 +337,6 @@ struct CarlaInternalPluginModule : Module, Runner {
|
|||
0, 0, nullptr, e.sampleRate);
|
||||
fCarlaPluginDescriptor->activate(fCarlaPluginHandle);
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaInternalPluginModule)
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
@ -679,8 +679,6 @@ struct AudioFileWidget : ModuleWidgetWithSideScrews<23> {
|
|||
|
||||
menu->addChild(new LoadAudioFileItem(module));
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(AudioFileWidget)
|
||||
};
|
||||
#else
|
||||
struct AudioFileWidget : ModuleWidget {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Bram Giesen
|
||||
* Copyright (C) 2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2022-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -16,7 +16,7 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugincontext.hpp"
|
||||
#include "plugin.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "Widgets.hpp"
|
||||
|
||||
|
@ -24,8 +24,6 @@ extern "C" {
|
|||
#include "aubio.h"
|
||||
}
|
||||
|
||||
USE_NAMESPACE_DISTRHO;
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// aubio setup values (tested under 48 kHz sample rate)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,6 +15,7 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "Expander.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
|
@ -427,8 +428,6 @@ struct CarlaModule : Module {
|
|||
0, 0, nullptr, e.sampleRate);
|
||||
fCarlaPluginDescriptor->activate(fCarlaPluginHandle);
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaModule)
|
||||
};
|
||||
|
||||
static_assert((int)CarlaModule::NUM_INPUTS == (int)CarlaModule::NUM_OUTPUTS, "inputs must match outputs");
|
||||
|
@ -715,8 +714,6 @@ struct CarlaModuleWidget : ModuleWidgetWith9HP, IdleCallback {
|
|||
e.consume(this);
|
||||
showUI();
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaModuleWidget)
|
||||
};
|
||||
|
||||
static void host_ui_closed(NativeHostHandle handle)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,9 +15,11 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "Widgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,8 +15,10 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -25,9 +25,11 @@
|
|||
* the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "Widgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -25,9 +25,11 @@
|
|||
* the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "Widgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -25,9 +25,11 @@
|
|||
* the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "Widgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -25,7 +25,9 @@
|
|||
* the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -25,9 +25,11 @@
|
|||
* the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "Widgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,8 +15,10 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,8 +15,10 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "ModuleWidgets.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -25,6 +25,7 @@
|
|||
* the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#include "Expander.hpp"
|
||||
|
||||
|
@ -98,6 +99,7 @@ namespace ildaeil {
|
|||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
using namespace CARLA_BACKEND_NAMESPACE;
|
||||
using namespace DISTRHO_NAMESPACE;
|
||||
|
||||
static uint32_t host_get_buffer_size(NativeHostHandle);
|
||||
static double host_get_sample_rate(NativeHostHandle);
|
||||
|
@ -768,8 +770,6 @@ struct IldaeilModule : Module {
|
|||
0, 0, nullptr, e.sampleRate);
|
||||
fCarlaPluginDescriptor->activate(fCarlaPluginHandle);
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(IldaeilModule)
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
@ -2252,8 +2252,6 @@ struct IldaeilWidget : ImGuiWidget, IdleCallback, Runner {
|
|||
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(IldaeilWidget)
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -2435,8 +2433,6 @@ struct IldaeilModuleWidget : ModuleWidgetWithSideScrews<26> {
|
|||
|
||||
ModuleWidgetWithSideScrews<26>::step();
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(IldaeilModuleWidget)
|
||||
};
|
||||
#else
|
||||
static void host_ui_parameter_changed(NativeHostHandle, uint32_t, float) {}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,12 +15,15 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugin.hpp"
|
||||
#include "plugincontext.hpp"
|
||||
#ifndef HEADLESS
|
||||
# include "EmbedWidget.hpp"
|
||||
# include "extra/ExternalWindow.hpp"
|
||||
#endif
|
||||
|
||||
USE_NAMESPACE_DISTRHO;
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
struct CardinalEmbedModule : Module {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,7 +15,7 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugincontext.hpp"
|
||||
#include "plugin.hpp"
|
||||
#include "ImGuiWidget.hpp"
|
||||
#include "sassy/sassy.hpp"
|
||||
#include "sassy/sassy_scope.cpp"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -15,7 +15,7 @@
|
|||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "plugincontext.hpp"
|
||||
#include "plugin.hpp"
|
||||
|
||||
#ifndef HEADLESS
|
||||
# include "ImGuiTextEditor.hpp"
|
||||
|
@ -412,8 +412,6 @@ struct TextEditorModuleWidget : ModuleWidget {
|
|||
menu->addChild(new ui::MenuSeparator);
|
||||
menu->addChild(createMenuItem("Select all", RACK_MOD_CTRL_NAME "+A", [=]{ textEditorWidget->selectAll(); }));
|
||||
}
|
||||
|
||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(TextEditorModuleWidget)
|
||||
};
|
||||
#else
|
||||
struct TextEditorModuleWidget : ModuleWidget {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -18,11 +18,8 @@
|
|||
#pragma once
|
||||
|
||||
#include "rack.hpp"
|
||||
#include "engine/TerminalModule.hpp"
|
||||
|
||||
#ifdef NDEBUG
|
||||
# undef DEBUG
|
||||
#endif
|
||||
// #include "engine/TerminalModule.hpp"
|
||||
// #include "plugincontext.hpp"
|
||||
|
||||
using namespace rack;
|
||||
|
||||
|
|
1
plugins/Computerscare
Submodule
1
plugins/Computerscare
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 5baab047242088e45c99c9999b6e2d9082981ef1
|
|
@ -572,6 +572,15 @@ PLUGIN_FILES += BidooDark/plugin.cpp
|
|||
BIDOO_CUSTOM = ChannelDisplay InstantiateExpanderItem LadderFilter PitchShifter $(DRWAV)
|
||||
BIDOO_CUSTOM_PER_FILE = channel channel filterType
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Biset
|
||||
|
||||
PLUGIN_FILES += $(filter-out Biset/src/plugin.cpp,$(wildcard Biset/src/*.cpp))
|
||||
PLUGIN_FILES += $(wildcard Biset/src/*/*.cpp)
|
||||
|
||||
# modules/types which are present in other plugins
|
||||
BISET_CUSTOM = Blank ButtonTrigger Clock Tree TreeDisplay
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# BogaudioModules
|
||||
|
||||
|
@ -645,6 +654,14 @@ PLUGIN_FILES += $(filter-out cf/src/plugin.cpp,$(wildcard cf/src/*.cpp))
|
|||
# modules/types which are present in other plugins
|
||||
CF_CUSTOM = $(DRWAV)
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Computerscare
|
||||
|
||||
PLUGIN_FILES += $(filter-out Computerscare/src/Computerscare.cpp Computerscare/src/test.cpp,$(wildcard Computerscare/src/*.cpp))
|
||||
|
||||
# modules/types which are present in other plugins
|
||||
COMPUTERSCARE_CUSTOM = Quantizer PanelBorder
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# CVfunk
|
||||
|
||||
|
@ -1003,6 +1020,23 @@ PLUGIN_FILES += $(filter-out Sapphire/src/plugin.cpp,$(wildcard Sapphire/src/*.c
|
|||
|
||||
PLUGIN_FILES += $(filter-out sonusmodular/src/sonusmodular.cpp,$(wildcard sonusmodular/src/*.cpp))
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Starling Via
|
||||
|
||||
PLUGIN_FILES += $(wildcard StarlingVia/src/*.cpp)
|
||||
PLUGIN_FILES += $(wildcard StarlingVia/Via/io/src/*.cpp)
|
||||
PLUGIN_FILES += $(wildcard StarlingVia/Via/ui/src/*.cpp)
|
||||
PLUGIN_FILES += $(wildcard StarlingVia/Via/modules/*/*.cpp)
|
||||
PLUGIN_BINARIES += StarlingVia/res/original.gateseq
|
||||
PLUGIN_BINARIES += StarlingVia/res/original.meta
|
||||
PLUGIN_BINARIES += StarlingVia/res/original.osc3
|
||||
PLUGIN_BINARIES += StarlingVia/res/original.scanner
|
||||
PLUGIN_BINARIES += StarlingVia/res/original.sync
|
||||
PLUGIN_BINARIES += StarlingVia/res/original.sync3
|
||||
|
||||
# modules/types which are present in other plugins
|
||||
STARLINGVIA_CUSTOM = Scanner Scale Wavetable
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# stocaudio
|
||||
|
||||
|
@ -1284,6 +1318,7 @@ BUILD_DIR = ../build/plugins
|
|||
endif
|
||||
|
||||
BASE_FLAGS += -DBUILDING_PLUGIN_MODULES
|
||||
BASE_FLAGS += -DDONT_SET_USING_DISTRHO_NAMESPACE
|
||||
BASE_FLAGS += -I$(abspath $(ROOT)/include/osdialog-stub)
|
||||
|
||||
ifeq ($(BSD)$(WASM),true)
|
||||
|
@ -1402,11 +1437,11 @@ RESOURCE_FILES += Befaco/res/SpringReverbIR.f32
|
|||
RESOURCE_FILES += cf/playeroscs
|
||||
RESOURCE_FILES += DHE-Modules/svg
|
||||
RESOURCE_FILES += DrumKit/res/samples
|
||||
RESOURCE_FILES += Meander/res
|
||||
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityPresets
|
||||
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes
|
||||
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldPresets
|
||||
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes
|
||||
RESOURCE_FILES += Meander/res
|
||||
RESOURCE_FILES += Mog/res
|
||||
RESOURCE_FILES += nonlinearcircuits/res
|
||||
RESOURCE_FILES += ParableInstruments/res/Neil.png
|
||||
|
@ -2168,6 +2203,13 @@ $(BUILD_DIR)/Bidoo%.cpp.o: Bidoo%.cpp
|
|||
-Wno-sign-compare \
|
||||
-Wno-unused-function
|
||||
|
||||
$(BUILD_DIR)/Biset/src/%.cpp.o: Biset/src/%.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
|
||||
$(foreach m,$(BISET_CUSTOM),$(call custom_module_names,$(m),Biset)) \
|
||||
-DpluginInstance=pluginInstance__Biset
|
||||
|
||||
$(BUILD_DIR)/BogaudioModules/src/follower_base.cpp.o: BogaudioModules/src/follower_base.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
|
@ -2207,6 +2249,13 @@ $(BUILD_DIR)/cf/src/%.cpp.o: cf/src/%.cpp
|
|||
-DpluginInstance=pluginInstance__cf \
|
||||
-Wno-misleading-indentation
|
||||
|
||||
$(BUILD_DIR)/Computerscare/src/%.cpp.o: Computerscare/src/%.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
|
||||
$(foreach m,$(COMPUTERSCARE_CUSTOM),$(call custom_module_names,$(m),Computerscare)) \
|
||||
-DpluginInstance=pluginInstance__Computerscare
|
||||
|
||||
$(BUILD_DIR)/CVfunk/src/%.cpp.o: CVfunk/src/%.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
|
@ -2630,6 +2679,21 @@ $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp
|
|||
$(foreach m,$(SONUSMODULAR_CUSTOM),$(call custom_module_names,$(m),sonusmodular)) \
|
||||
-DpluginInstance=pluginInstance__sonusmodular
|
||||
|
||||
$(BUILD_DIR)/StarlingVia/%.cpp.o: StarlingVia/%.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
|
||||
$(foreach m,$(STARLINGVIA_CUSTOM),$(call custom_module_names,$(m),StarlingVia)) \
|
||||
-DpluginInstance=pluginInstance__StarlingVia \
|
||||
-DBUILD_VIRTUAL \
|
||||
-IStarlingVia/dep/starling-dsp \
|
||||
-IStarlingVia/Via/modules/inc \
|
||||
-IStarlingVia/Via/synthesis/inc \
|
||||
-IStarlingVia/Via/io/inc \
|
||||
-IStarlingVia/Via/ui/inc \
|
||||
-IStarlingVia/src/dep/starling-dsp \
|
||||
-IStarlingVia/src/dep/starling-rack-ui
|
||||
|
||||
$(BUILD_DIR)/stoermelder-packone/%.cpp.o: stoermelder-packone/%.cpp
|
||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||
@echo "Compiling $<"
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 18f4fa89ca08e9943e38548440d3e02e1ee2e170
|
||||
Subproject commit 8136f0c941b41c57af70a5ebb5839f0086518b2b
|
|
@ -1 +1 @@
|
|||
Subproject commit 4bf2ad39eeaddcbfcc5cd345aef8c0c4cc722b73
|
||||
Subproject commit d26e157140ef6283906a33675733ea35e4dd26ac
|
1
plugins/StarlingVia
Submodule
1
plugins/StarlingVia
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit a6b75fddc2df624ba64dab70c2e35b8e48ad8c1d
|
|
@ -1 +1 @@
|
|||
Subproject commit 88f1bd64cff6e96a1a48566a1692de86b9a7de2a
|
||||
Subproject commit d6933abe016eeb97c9fb0b0f955af756401403c1
|
|
@ -146,6 +146,35 @@ extern Model* modelChord;
|
|||
// Bidoo
|
||||
#include "Bidoo/src/plugin.hpp"
|
||||
|
||||
// Biset
|
||||
/* NOTE too much noise in original include, do this a different way
|
||||
// #include "Biset/src/plugin.hpp"
|
||||
*/
|
||||
#define modelBlank modelBisetBlank
|
||||
#define modelTree modelBisetTree
|
||||
extern Model* modelTracker;
|
||||
extern Model* modelTrackerSynth;
|
||||
extern Model* modelTrackerDrum;
|
||||
extern Model* modelTrackerClock;
|
||||
extern Model* modelTrackerPhase;
|
||||
extern Model* modelTrackerQuant;
|
||||
extern Model* modelTrackerState;
|
||||
extern Model* modelTrackerControl;
|
||||
extern Model* modelRegex;
|
||||
extern Model* modelRegexCondensed;
|
||||
extern Model* modelRegexExp;
|
||||
extern Model* modelTree;
|
||||
extern Model* modelTreeSeed;
|
||||
extern Model* modelGbu;
|
||||
extern Model* modelPkm;
|
||||
extern Model* modelIgc;
|
||||
extern Model* modelOmega3;
|
||||
extern Model* modelOmega6;
|
||||
extern Model* modelSegfault;
|
||||
extern Model* modelBlank;
|
||||
#undef modelBlank
|
||||
#undef modelTree
|
||||
|
||||
// BogaudioModules - integrate theme/skin support
|
||||
#include <mutex>
|
||||
#include <string>
|
||||
|
@ -311,6 +340,9 @@ extern Model* modelTestVCF;
|
|||
#include "ChowDSP/src/plugin.cpp"
|
||||
#undef init
|
||||
|
||||
// Computerscare
|
||||
#include "Computerscare/src/Computerscare.hpp"
|
||||
|
||||
// dBiz
|
||||
#define DarkDefaultItem dBizDarkDefaultItem
|
||||
#define OrangeLight dBizOrangeLight
|
||||
|
@ -779,6 +811,16 @@ void addThemeMenuItems(Menu*, ModuleTheme*) {}
|
|||
// sonusmodular
|
||||
#include "sonusmodular/src/sonusmodular.hpp"
|
||||
|
||||
|
||||
// Starling Via
|
||||
#define modelScanner modelStarlingViaScanner
|
||||
#define Scale starlingViaScale
|
||||
#define Wavetable starlingViaWavetable
|
||||
#include "StarlingVia/src/starling.hpp"
|
||||
#undef modelScanner
|
||||
#undef Scale
|
||||
#undef Wavetable
|
||||
|
||||
// stocaudio
|
||||
#include "stocaudio/src/plugin.hpp"
|
||||
|
||||
|
@ -862,10 +904,12 @@ Plugin* pluginInstance__Axioma;
|
|||
Plugin* pluginInstance__Bacon;
|
||||
Plugin* pluginInstance__Befaco;
|
||||
Plugin* pluginInstance__Bidoo;
|
||||
Plugin* pluginInstance__Biset;
|
||||
Plugin* pluginInstance__BogaudioModules;
|
||||
Plugin* pluginInstance__CatroModulo;
|
||||
Plugin* pluginInstance__cf;
|
||||
Plugin* pluginInstance__ChowDSP;
|
||||
Plugin* pluginInstance__Computerscare;
|
||||
Plugin* pluginInstance__CVfunk;
|
||||
Plugin* pluginInstance__dBiz;
|
||||
Plugin* pluginInstance__DHE;
|
||||
|
@ -910,6 +954,7 @@ Plugin* pluginInstance__RebelTech;
|
|||
Plugin* pluginInstance__repelzen;
|
||||
Plugin* pluginInstance__sapphire;
|
||||
Plugin* pluginInstance__sonusmodular;
|
||||
extern Plugin* pluginInstance__StarlingVia;
|
||||
Plugin* pluginInstance__stocaudio;
|
||||
extern Plugin* pluginInstance__stoermelder_p1;
|
||||
Plugin* pluginInstance__surgext;
|
||||
|
@ -1598,6 +1643,46 @@ static void initStatic__Bidoo()
|
|||
}
|
||||
}
|
||||
|
||||
static void initStatic__Biset()
|
||||
{
|
||||
Plugin* const p = new Plugin;
|
||||
pluginInstance__Biset = p;
|
||||
|
||||
const StaticPluginLoader spl(p, "Biset");
|
||||
if (spl.ok())
|
||||
{
|
||||
#define modelBlank modelBisetBlank
|
||||
#define modelTree modelBisetTree
|
||||
p->addModel(modelTracker);
|
||||
p->addModel(modelTrackerSynth);
|
||||
p->addModel(modelTrackerDrum);
|
||||
p->addModel(modelTrackerClock);
|
||||
p->addModel(modelTrackerPhase);
|
||||
p->addModel(modelTrackerQuant);
|
||||
p->addModel(modelTrackerState);
|
||||
p->addModel(modelTrackerControl);
|
||||
|
||||
p->addModel(modelRegex);
|
||||
p->addModel(modelRegexCondensed);
|
||||
p->addModel(modelRegexExp);
|
||||
|
||||
p->addModel(modelTree);
|
||||
p->addModel(modelTreeSeed);
|
||||
|
||||
p->addModel(modelGbu);
|
||||
p->addModel(modelPkm);
|
||||
|
||||
p->addModel(modelIgc);
|
||||
p->addModel(modelOmega3);
|
||||
p->addModel(modelOmega6);
|
||||
|
||||
p->addModel(modelSegfault);
|
||||
p->addModel(modelBlank);
|
||||
#undef modelBlank
|
||||
#undef modelTree
|
||||
}
|
||||
}
|
||||
|
||||
static void initStatic__BogaudioModules()
|
||||
{
|
||||
Plugin* const p = new Plugin;
|
||||
|
@ -1833,6 +1918,34 @@ static void initStatic__ChowDSP()
|
|||
}
|
||||
}
|
||||
|
||||
static void initStatic__Computerscare()
|
||||
{
|
||||
Plugin* const p = new Plugin;
|
||||
pluginInstance__Computerscare = p;
|
||||
|
||||
const StaticPluginLoader spl(p, "Computerscare");
|
||||
if (spl.ok())
|
||||
{
|
||||
p->addModel(modelComputerscarePatchSequencer);
|
||||
p->addModel(modelComputerscareDebug);
|
||||
p->addModel(modelComputerscareLaundrySoup);
|
||||
p->addModel(modelComputerscareILoveCookies);
|
||||
p->addModel(modelComputerscareOhPeas);
|
||||
p->addModel(modelComputerscareHorseADoodleDoo);
|
||||
p->addModel(modelComputerscareKnolyPobs);
|
||||
p->addModel(modelComputerscareBolyPuttons);
|
||||
p->addModel(modelComputerscareRolyPouter);
|
||||
p->addModel(modelComputerscareSolyPequencer);
|
||||
p->addModel(modelComputerscareTolyPools);
|
||||
p->addModel(modelComputerscareMolyPatrix);
|
||||
p->addModel(modelComputerscareGolyPenerator);
|
||||
p->addModel(modelComputerscareFolyPace);
|
||||
p->addModel(modelComputerscareStolyFickPigure);
|
||||
p->addModel(modelComputerscareBlank);
|
||||
p->addModel(modelComputerscareBlankExpander);
|
||||
}
|
||||
}
|
||||
|
||||
static void initStatic__CVfunk()
|
||||
{
|
||||
Plugin* const p = new Plugin;
|
||||
|
@ -2956,6 +3069,29 @@ static void initStatic__sonusmodular()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static void initStatic__StarlingVia()
|
||||
{
|
||||
Plugin* const p = new Plugin;
|
||||
pluginInstance__StarlingVia = p;
|
||||
|
||||
const StaticPluginLoader spl(p, "StarlingVia");
|
||||
if (spl.ok())
|
||||
{
|
||||
#define modelScanner modelStarlingViaScanner
|
||||
p->addModel(modelMeta);
|
||||
p->addModel(modelGateseq);
|
||||
p->addModel(modelScanner);
|
||||
p->addModel(modelSync);
|
||||
p->addModel(modelAtsr);
|
||||
p->addModel(modelOsc3);
|
||||
p->addModel(modelSync3);
|
||||
p->addModel(modelSync3XL);
|
||||
p->addModel(modelSync3XLLevels);
|
||||
#undef modelScanner
|
||||
}
|
||||
}
|
||||
|
||||
static void initStatic__stocaudio()
|
||||
{
|
||||
Plugin* const p = new Plugin;
|
||||
|
@ -3249,10 +3385,12 @@ void initStaticPlugins()
|
|||
initStatic__Bacon();
|
||||
initStatic__Befaco();
|
||||
initStatic__Bidoo();
|
||||
initStatic__Biset();
|
||||
initStatic__BogaudioModules();
|
||||
initStatic__CatroModulo();
|
||||
initStatic__cf();
|
||||
initStatic__ChowDSP();
|
||||
initStatic__Computerscare();
|
||||
initStatic__CVfunk();
|
||||
initStatic__dBiz();
|
||||
initStatic__DHE();
|
||||
|
@ -3297,6 +3435,7 @@ void initStaticPlugins()
|
|||
initStatic__repelzen();
|
||||
initStatic__Sapphire();
|
||||
initStatic__sonusmodular();
|
||||
initStatic__StarlingVia();
|
||||
initStatic__stocaudio();
|
||||
initStatic__stoermelder_p1();
|
||||
initStatic__surgext();
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include "CardinalCommon.hpp"
|
||||
|
||||
#include "AsyncDialog.hpp"
|
||||
#include "PluginContext.hpp"
|
||||
#include "CardinalPluginContext.hpp"
|
||||
#include "DistrhoPluginUtils.hpp"
|
||||
|
||||
#include <asset.hpp>
|
||||
|
@ -99,9 +99,7 @@ void destroyStaticPlugins();
|
|||
}
|
||||
}
|
||||
|
||||
const std::string CARDINAL_VERSION = "24.03";
|
||||
|
||||
START_NAMESPACE_DISTRHO
|
||||
const std::string CARDINAL_VERSION = "24.04";
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
@ -126,6 +124,53 @@ void handleHostParameterDrag(const CardinalPluginContext* pcontext, uint index,
|
|||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
CardinalPluginContext::CardinalPluginContext(Plugin* const p)
|
||||
: bufferSize(p != nullptr ? p->getBufferSize() : 0),
|
||||
processCounter(0),
|
||||
sampleRate(p != nullptr ? p->getSampleRate() : 0.0),
|
||||
#if CARDINAL_VARIANT_MAIN
|
||||
variant(kCardinalVariantMain),
|
||||
#elif CARDINAL_VARIANT_MINI
|
||||
variant(kCardinalVariantMini),
|
||||
#elif CARDINAL_VARIANT_FX
|
||||
variant(kCardinalVariantFX),
|
||||
#elif CARDINAL_VARIANT_NATIVE
|
||||
variant(kCardinalVariantNative),
|
||||
#elif CARDINAL_VARIANT_SYNTH
|
||||
variant(kCardinalVariantSynth),
|
||||
#else
|
||||
#error cardinal variant not set
|
||||
#endif
|
||||
bypassed(false),
|
||||
playing(false),
|
||||
reset(false),
|
||||
bbtValid(false),
|
||||
bar(1),
|
||||
beat(1),
|
||||
beatsPerBar(4),
|
||||
beatType(4),
|
||||
frame(0),
|
||||
barStartTick(0.0),
|
||||
beatsPerMinute(120.0),
|
||||
tick(0.0),
|
||||
tickClock(0.0),
|
||||
ticksPerBeat(0.0),
|
||||
ticksPerClock(0.0),
|
||||
ticksPerFrame(0.0),
|
||||
nativeWindowId(0),
|
||||
dataIns(nullptr),
|
||||
dataOuts(nullptr),
|
||||
midiEvents(nullptr),
|
||||
midiEventCount(0),
|
||||
plugin(p)
|
||||
#ifndef HEADLESS
|
||||
, tlw(nullptr)
|
||||
, ui(nullptr)
|
||||
#endif
|
||||
{
|
||||
std::memset(parameters, 0, sizeof(parameters));
|
||||
}
|
||||
|
||||
#ifndef HEADLESS
|
||||
bool CardinalPluginContext::addIdleCallback(IdleCallback* const cb) const
|
||||
{
|
||||
|
@ -224,6 +269,86 @@ void CardinalPluginContext::writeMidiMessage(const rack::midi::Message& message,
|
|||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
namespace rack {
|
||||
namespace midi {
|
||||
|
||||
struct InputQueue::Internal {
|
||||
CardinalPluginContext* const pcontext = static_cast<CardinalPluginContext*>(APP);
|
||||
const CardinalDISTRHO::MidiEvent* midiEvents = nullptr;
|
||||
uint32_t midiEventsLeft = 0;
|
||||
uint32_t lastProcessCounter = 0;
|
||||
int64_t lastBlockFrame = 0;
|
||||
};
|
||||
|
||||
InputQueue::InputQueue() {
|
||||
internal = new Internal;
|
||||
}
|
||||
|
||||
InputQueue::~InputQueue() {
|
||||
delete internal;
|
||||
}
|
||||
|
||||
bool InputQueue::tryPop(Message* const messageOut, int64_t maxFrame)
|
||||
{
|
||||
const uint32_t processCounter = internal->pcontext->processCounter;
|
||||
const bool processCounterChanged = internal->lastProcessCounter != processCounter;
|
||||
|
||||
if (processCounterChanged)
|
||||
{
|
||||
internal->lastBlockFrame = internal->pcontext->engine->getBlockFrame();
|
||||
internal->lastProcessCounter = processCounter;
|
||||
|
||||
internal->midiEvents = internal->pcontext->midiEvents;
|
||||
internal->midiEventsLeft = internal->pcontext->midiEventCount;
|
||||
}
|
||||
|
||||
if (internal->midiEventsLeft == 0 || maxFrame < internal->lastBlockFrame)
|
||||
return false;
|
||||
|
||||
const uint32_t frame = maxFrame - internal->lastBlockFrame;
|
||||
|
||||
if (frame > internal->midiEvents->frame)
|
||||
return false;
|
||||
|
||||
const CardinalDISTRHO::MidiEvent& midiEvent(*internal->midiEvents);
|
||||
|
||||
const uint8_t* data;
|
||||
if (midiEvent.size > CardinalDISTRHO::MidiEvent::kDataSize)
|
||||
{
|
||||
data = midiEvent.dataExt;
|
||||
messageOut->bytes.resize(midiEvent.size);
|
||||
}
|
||||
else
|
||||
{
|
||||
data = midiEvent.data;
|
||||
}
|
||||
|
||||
messageOut->frame = frame;
|
||||
std::memcpy(messageOut->bytes.data(), data, midiEvent.size);
|
||||
|
||||
++internal->midiEvents;
|
||||
--internal->midiEventsLeft;
|
||||
return true;
|
||||
}
|
||||
|
||||
json_t* InputQueue::toJson() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void InputQueue::fromJson(json_t* rootJ)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
START_NAMESPACE_DISTRHO
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
#ifdef HAVE_LIBLO
|
||||
static void osc_error_handler(int num, const char* msg, const char* path)
|
||||
{
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
|
||||
extern const std::string CARDINAL_VERSION;
|
||||
|
||||
struct CardinalPluginContext;
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
namespace rack {
|
||||
|
@ -84,7 +86,6 @@ START_NAMESPACE_DISTRHO
|
|||
|
||||
class CardinalBasePlugin;
|
||||
class CardinalBaseUI;
|
||||
struct CardinalPluginContext;
|
||||
|
||||
struct Initializer
|
||||
{
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#include "CardinalCommon.hpp"
|
||||
#include "DistrhoPluginUtils.hpp"
|
||||
#include "PluginContext.hpp"
|
||||
#include "CardinalPluginContext.hpp"
|
||||
#include "extra/Base64.hpp"
|
||||
#include "extra/ScopedDenormalDisable.hpp"
|
||||
#include "extra/ScopedSafeLocale.hpp"
|
||||
|
@ -406,7 +406,7 @@ protected:
|
|||
|
||||
uint32_t getVersion() const override
|
||||
{
|
||||
return d_version(0, 24, 3);
|
||||
return d_version(0, 24, 4);
|
||||
}
|
||||
|
||||
int64_t getUniqueId() const override
|
||||
|
|
|
@ -36,29 +36,14 @@
|
|||
|
||||
#ifndef HEADLESS
|
||||
# include "DistrhoUI.hpp"
|
||||
#else
|
||||
# include "Base.hpp"
|
||||
START_NAMESPACE_DGL
|
||||
class TopLevelWidget;
|
||||
template <class BaseWidget> class NanoBaseWidget;
|
||||
typedef NanoBaseWidget<TopLevelWidget> NanoTopLevelWidget;
|
||||
END_NAMESPACE_DGL
|
||||
#endif
|
||||
|
||||
#include "plugincontext.hpp"
|
||||
|
||||
START_NAMESPACE_DISTRHO
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
static constexpr const uint kModuleParameterCount = 24;
|
||||
|
||||
enum CardinalVariant {
|
||||
kCardinalVariantMain,
|
||||
kCardinalVariantMini,
|
||||
kCardinalVariantFX,
|
||||
kCardinalVariantNative,
|
||||
kCardinalVariantSynth,
|
||||
};
|
||||
|
||||
enum CardinalParameters {
|
||||
kCardinalParameterCountAtModules = kModuleParameterCount,
|
||||
kCardinalParameterBypass = kCardinalParameterCountAtModules,
|
||||
|
@ -126,82 +111,6 @@ static_assert(kCardinalParameterCountAtWindow == kModuleParameterCount + kWindow
|
|||
static_assert(DISTRHO_PLUGIN_NUM_INPUTS == kCardinalParameterCountAtMiniBuffers - kCardinalParameterStartMiniBuffers, "valid parameter indexes");
|
||||
#endif
|
||||
|
||||
class UI;
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
struct CardinalPluginContext : rack::Context {
|
||||
uint32_t bufferSize, processCounter;
|
||||
double sampleRate;
|
||||
float parameters[kModuleParameterCount];
|
||||
CardinalVariant variant;
|
||||
bool bypassed, playing, reset, bbtValid;
|
||||
int32_t bar, beat, beatsPerBar, beatType;
|
||||
uint64_t frame;
|
||||
double barStartTick, beatsPerMinute;
|
||||
double tick, tickClock, ticksPerBeat, ticksPerClock, ticksPerFrame;
|
||||
uintptr_t nativeWindowId;
|
||||
const float* const* dataIns;
|
||||
float** dataOuts;
|
||||
const MidiEvent* midiEvents;
|
||||
uint32_t midiEventCount;
|
||||
Plugin* const plugin;
|
||||
NanoTopLevelWidget* tlw;
|
||||
UI* ui;
|
||||
|
||||
CardinalPluginContext(Plugin* const p)
|
||||
: bufferSize(p != nullptr ? p->getBufferSize() : 0),
|
||||
processCounter(0),
|
||||
sampleRate(p != nullptr ? p->getSampleRate() : 0.0),
|
||||
#if CARDINAL_VARIANT_MAIN
|
||||
variant(kCardinalVariantMain),
|
||||
#elif CARDINAL_VARIANT_MINI
|
||||
variant(kCardinalVariantMini),
|
||||
#elif CARDINAL_VARIANT_FX
|
||||
variant(kCardinalVariantFX),
|
||||
#elif CARDINAL_VARIANT_NATIVE
|
||||
variant(kCardinalVariantNative),
|
||||
#elif CARDINAL_VARIANT_SYNTH
|
||||
variant(kCardinalVariantSynth),
|
||||
#else
|
||||
#error cardinal variant not set
|
||||
#endif
|
||||
bypassed(false),
|
||||
playing(false),
|
||||
reset(false),
|
||||
bbtValid(false),
|
||||
bar(1),
|
||||
beat(1),
|
||||
beatsPerBar(4),
|
||||
beatType(4),
|
||||
frame(0),
|
||||
barStartTick(0.0),
|
||||
beatsPerMinute(120.0),
|
||||
tick(0.0),
|
||||
tickClock(0.0),
|
||||
ticksPerBeat(0.0),
|
||||
ticksPerClock(0.0),
|
||||
ticksPerFrame(0.0),
|
||||
nativeWindowId(0),
|
||||
dataIns(nullptr),
|
||||
dataOuts(nullptr),
|
||||
midiEvents(nullptr),
|
||||
midiEventCount(0),
|
||||
plugin(p),
|
||||
tlw(nullptr),
|
||||
ui(nullptr)
|
||||
{
|
||||
std::memset(parameters, 0, sizeof(parameters));
|
||||
}
|
||||
|
||||
void writeMidiMessage(const rack::midi::Message& message, uint8_t channel);
|
||||
|
||||
#ifndef HEADLESS
|
||||
bool addIdleCallback(IdleCallback* cb) const;
|
||||
void removeIdleCallback(IdleCallback* cb) const;
|
||||
#endif
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -24,7 +24,7 @@
|
|||
#endif
|
||||
|
||||
#include "CardinalRemote.hpp"
|
||||
#include "PluginContext.hpp"
|
||||
#include "CardinalPluginContext.hpp"
|
||||
#include "extra/Base64.hpp"
|
||||
#include "extra/ScopedSafeLocale.hpp"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -18,7 +18,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "NanoVG.hpp"
|
||||
#include "PluginContext.hpp"
|
||||
#include "CardinalPluginContext.hpp"
|
||||
#include "WindowParameters.hpp"
|
||||
|
||||
#include <widget/Widget.hpp>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -30,7 +30,7 @@
|
|||
#include <engine/Engine.hpp>
|
||||
#include <ui/common.hpp>
|
||||
|
||||
#include "PluginContext.hpp"
|
||||
#include "CardinalPluginContext.hpp"
|
||||
#include "extra/ScopedValueSetter.hpp"
|
||||
|
||||
#define CARDINAL_TEMPLATE_NAME "init/main.vcv"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -49,7 +49,7 @@
|
|||
#include "Application.hpp"
|
||||
#include "AsyncDialog.hpp"
|
||||
#include "CardinalCommon.hpp"
|
||||
#include "PluginContext.hpp"
|
||||
#include "CardinalPluginContext.hpp"
|
||||
#include "WindowParameters.hpp"
|
||||
#include "extra/Base64.hpp"
|
||||
|
||||
|
@ -1081,7 +1081,7 @@ protected:
|
|||
int key;
|
||||
switch (ev.key)
|
||||
{
|
||||
case '\t': key = GLFW_KEY_TAB; break;
|
||||
case kKeyTab: key = GLFW_KEY_TAB; break;
|
||||
case kKeyBackspace: key = GLFW_KEY_BACKSPACE; break;
|
||||
case kKeyEnter: key = GLFW_KEY_ENTER; break;
|
||||
case kKeyEscape: key = GLFW_KEY_ESCAPE; break;
|
||||
|
|
|
@ -316,6 +316,7 @@ SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/chopin
|
|||
SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/debussy
|
||||
SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/goldberg
|
||||
SYMLINKED_DIRS_RESOURCES += cf/playeroscs
|
||||
SYMLINKED_DIRS_RESOURCES += DHE-Modules/svg
|
||||
SYMLINKED_DIRS_RESOURCES += DrumKit/res/samples
|
||||
SYMLINKED_DIRS_RESOURCES += GrandeModular/presets
|
||||
SYMLINKED_DIRS_RESOURCES += LyraeModules/presets
|
||||
|
|
|
@ -62,6 +62,7 @@ enum DarkMode {
|
|||
kModeAudibleInstruments,
|
||||
kModeBidoo,
|
||||
kModeCf,
|
||||
kModeComputerscare,
|
||||
kModeDHE,
|
||||
kModeDrumKit,
|
||||
kModeESeries,
|
||||
|
@ -214,6 +215,29 @@ static const struct {
|
|||
{ kModeCf, "/cf/res/SUB.svg", {}, -1 },
|
||||
{ kModeCf, "/cf/res/trSEQ.svg", {}, -1 },
|
||||
{ kModeCf, "/cf/res/VARIABLE.svg", {}, -1 },
|
||||
// BSD-3 Clause
|
||||
{ kModeComputerscare, "/Computerscare/res/computerscare-clk-text.svg", {}, -1},
|
||||
{ kModeComputerscare, "/Computerscare/res/vertical-x-1.svg", {}, -1},
|
||||
{ kModeComputerscare, "/Computerscare/res/vertical-x-2.svg", {}, -1},
|
||||
{ kModeComputerscare, "/Computerscare/res/vertical-x-3.svg", {}, -1},
|
||||
{ kModeComputerscare, "/Computerscare/res/computerscare-logo-normal.svg", {}, -1},
|
||||
{ kModeComputerscare, "/Computerscare/res/computerscare-logo-sad.svg", {}, -1},
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareDebugPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareOhPeasPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareFolyPacePanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareKnolyPobsPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareTolyPoolsPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareMolyPatrixPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareRolyPouterPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareBolyPuttonsPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareCustomBlankPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareLaundrySoupPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareILoveCookiesPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareGolyPeneratorPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareSolyPequencerPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscarePatchSequencerPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareHorseADoodleDooPanel.svg", {}, -1 },
|
||||
{ kModeComputerscare, "/Computerscare/res/ComputerscareCustomBlankExpanderPanel.svg", {}, -1 },
|
||||
// MIT
|
||||
{ kModeDHE, "/DHE-Modules/svg/blossom.svg", {}, -1 },
|
||||
{ kModeDHE, "/DHE-Modules/svg/booster-stage.svg", {}, -1 },
|
||||
|
@ -362,6 +386,7 @@ enum LightMode {
|
|||
kModeAutinn,
|
||||
kModeBefaco,
|
||||
kModeCardinal,
|
||||
kModeComputerscareLight,
|
||||
kModeExtratone,
|
||||
kModeFehlerFabrik,
|
||||
kModeForsitan,
|
||||
|
@ -450,6 +475,8 @@ static const struct {
|
|||
{ kModeCardinal, "/Cardinal/res/HostParamsMap.svg" },
|
||||
{ kModeCardinal, "/Cardinal/res/HostTime.svg" },
|
||||
{ kModeCardinal, "/Cardinal/res/Ildaeil.svg" },
|
||||
// BSD-3 Clause
|
||||
{ kModeComputerscareLight, "/Computerscare/res/ComputerscareStolyFickPigurePanel.svg" },
|
||||
// GPLv3+
|
||||
{ kModeExtratone, "/Extratone/res/Darwinism.svg" },
|
||||
// { kModeExtratone, "/Extratone/res/HalluciMemory.svg" },
|
||||
|
@ -664,6 +691,15 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai
|
|||
}
|
||||
}
|
||||
break;
|
||||
// Special case for Computerscare
|
||||
case kModeComputerscare:
|
||||
switch (paint.color)
|
||||
{
|
||||
// Just make vertical-x-* visible
|
||||
case 0xffa6c924:
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
// Special case for DHE, mark things darker instead of inverting
|
||||
case kModeDHE:
|
||||
paint.color = darkerColor(paint.color);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -16,7 +16,7 @@
|
|||
*/
|
||||
|
||||
#include "Application.hpp"
|
||||
#include "PluginContext.hpp"
|
||||
#include "CardinalPluginContext.hpp"
|
||||
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -53,7 +53,7 @@
|
|||
|
||||
#include "../CardinalCommon.hpp"
|
||||
#include "../CardinalRemote.hpp"
|
||||
#include "../PluginContext.hpp"
|
||||
#include "../CardinalPluginContext.hpp"
|
||||
#include "DistrhoPlugin.hpp"
|
||||
#include "DistrhoStandaloneUtils.hpp"
|
||||
|
||||
|
@ -605,10 +605,8 @@ static void setAllFramebufferWidgetsDirty(widget::Widget* const widget)
|
|||
for (widget::Widget* child : widget->children)
|
||||
{
|
||||
if (widget::FramebufferWidget* const fbw = dynamic_cast<widget::FramebufferWidget*>(child))
|
||||
{
|
||||
fbw->setDirty();
|
||||
break;
|
||||
}
|
||||
|
||||
setAllFramebufferWidgetsDirty(child);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2023 Filipe Coelho <falktx@falktx.com>
|
||||
* Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
|
@ -46,7 +46,7 @@
|
|||
#include "Application.hpp"
|
||||
#include "extra/String.hpp"
|
||||
#include "../CardinalCommon.hpp"
|
||||
#include "../PluginContext.hpp"
|
||||
#include "../CardinalPluginContext.hpp"
|
||||
#include "../WindowParameters.hpp"
|
||||
|
||||
#ifndef DGL_NO_SHARED_RESOURCES
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<key>CFBundleIdentifier</key>
|
||||
<string>studio.kx.distrho.cardinal.jack</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>23.03</string>
|
||||
<string>23.04</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.15</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<key>CFBundleIdentifier</key>
|
||||
<string>studio.kx.distrho.cardinal.native</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>24.03</string>
|
||||
<string>24.04</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.15</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue