Rename a file to prevent conflicts
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
a6a83f3dae
commit
df0f1ac1db
10 changed files with 21 additions and 19 deletions
190
src/CardinalPluginContext.hpp
Normal file
190
src/CardinalPluginContext.hpp
Normal file
|
@ -0,0 +1,190 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <audio.hpp>
|
||||
#include <context.hpp>
|
||||
#include <midi.hpp>
|
||||
|
||||
#ifdef NDEBUG
|
||||
# undef DEBUG
|
||||
#endif
|
||||
|
||||
#include "CardinalRemote.hpp"
|
||||
#include "DistrhoPlugin.hpp"
|
||||
|
||||
#if CARDINAL_VARIANT_MINI || !defined(HEADLESS)
|
||||
# include "WindowParameters.hpp"
|
||||
#else
|
||||
# define kWindowParameterCount 0
|
||||
#endif
|
||||
|
||||
#ifndef HEADLESS
|
||||
# include "DistrhoUI.hpp"
|
||||
#endif
|
||||
|
||||
#include "plugincontext.hpp"
|
||||
|
||||
START_NAMESPACE_DISTRHO
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
enum CardinalParameters {
|
||||
kCardinalParameterCountAtModules = kModuleParameterCount,
|
||||
kCardinalParameterBypass = kCardinalParameterCountAtModules,
|
||||
#if CARDINAL_VARIANT_MINI || !defined(HEADLESS)
|
||||
kCardinalParameterStartWindow,
|
||||
kCardinalParameterCountAtWindow = kCardinalParameterStartWindow + kWindowParameterCount,
|
||||
#if CARDINAL_VARIANT_MINI
|
||||
kCardinalParameterStartMini = kCardinalParameterCountAtWindow,
|
||||
kCardinalParameterStartMiniBuffers = kCardinalParameterStartMini,
|
||||
kCardinalParameterMiniAudioIn1 = kCardinalParameterStartMiniBuffers,
|
||||
kCardinalParameterMiniAudioIn2,
|
||||
kCardinalParameterMiniCVIn1,
|
||||
kCardinalParameterMiniCVIn2,
|
||||
kCardinalParameterMiniCVIn3,
|
||||
kCardinalParameterMiniCVIn4,
|
||||
kCardinalParameterMiniCVIn5,
|
||||
kCardinalParameterCountAtMiniBuffers,
|
||||
kCardinalParameterStartMiniTime = kCardinalParameterCountAtMiniBuffers,
|
||||
kCardinalParameterMiniTimeFlags = kCardinalParameterStartMiniTime,
|
||||
kCardinalParameterMiniTimeBar,
|
||||
kCardinalParameterMiniTimeBeat,
|
||||
kCardinalParameterMiniTimeBeatsPerBar,
|
||||
kCardinalParameterMiniTimeBeatType,
|
||||
kCardinalParameterMiniTimeFrame,
|
||||
kCardinalParameterMiniTimeBarStartTick,
|
||||
kCardinalParameterMiniTimeBeatsPerMinute,
|
||||
kCardinalParameterMiniTimeTick,
|
||||
kCardinalParameterMiniTimeTicksPerBeat,
|
||||
kCardinalParameterCountAtMiniTime,
|
||||
kCardinalParameterCountAtMini = kCardinalParameterCountAtMiniTime,
|
||||
kCardinalParameterCount = kCardinalParameterCountAtMini
|
||||
#else
|
||||
kCardinalParameterCount = kCardinalParameterCountAtWindow
|
||||
#endif
|
||||
#else
|
||||
kCardinalParameterCount
|
||||
#endif
|
||||
};
|
||||
|
||||
enum CardinalStates {
|
||||
kCardinalStatePatch,
|
||||
kCardinalStateScreenshot,
|
||||
kCardinalStateComment,
|
||||
#if CARDINAL_VARIANT_MINI || !defined(HEADLESS)
|
||||
kCardinalStateWindowSize,
|
||||
#endif
|
||||
#if CARDINAL_VARIANT_MINI
|
||||
kCardinalStateParamChange,
|
||||
#endif
|
||||
kCardinalStateCount
|
||||
};
|
||||
|
||||
static_assert(kCardinalParameterBypass == kModuleParameterCount, "valid parameter indexes");
|
||||
#if CARDINAL_VARIANT_MINI || !defined(HEADLESS)
|
||||
static_assert(kCardinalParameterStartWindow == kModuleParameterCount + 1, "valid parameter indexes");
|
||||
static_assert(kCardinalParameterStartWindow == kCardinalParameterBypass + 1, "valid parameter indexes");
|
||||
static_assert(kCardinalParameterCountAtWindow == kModuleParameterCount + kWindowParameterCount + 1, "valid parameter indexes");
|
||||
#endif
|
||||
#if CARDINAL_VARIANT_MINI
|
||||
static_assert(0 == kCardinalParameterStartMini - kCardinalParameterMiniAudioIn1, "valid parameter indexes");
|
||||
static_assert(kCardinalParameterStartMini == kCardinalParameterCountAtWindow, "valid parameter indexes");
|
||||
static_assert(kCardinalParameterStartMini == kCardinalParameterBypass + kWindowParameterCount + 1, "valid parameter indexes");
|
||||
static_assert(kCardinalParameterStartMini == kModuleParameterCount + kWindowParameterCount + 1, "valid parameter indexes");
|
||||
static_assert(kCardinalParameterCountAtWindow == kModuleParameterCount + kWindowParameterCount + 1, "valid parameter indexes");
|
||||
static_assert(DISTRHO_PLUGIN_NUM_INPUTS == kCardinalParameterCountAtMiniBuffers - kCardinalParameterStartMiniBuffers, "valid parameter indexes");
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
|
||||
CardinalPluginContext* getRackContextFromPlugin(void* ptr);
|
||||
#endif
|
||||
|
||||
class CardinalBasePlugin : public Plugin {
|
||||
public:
|
||||
CardinalPluginContext* const context;
|
||||
|
||||
CardinalBasePlugin(uint32_t parameterCount, uint32_t programCount, uint32_t stateCount)
|
||||
: Plugin(parameterCount, programCount, stateCount),
|
||||
context(new CardinalPluginContext(this)) {}
|
||||
~CardinalBasePlugin() override {}
|
||||
|
||||
#ifdef HAVE_LIBLO
|
||||
virtual bool startRemoteServer(const char* port) = 0;
|
||||
virtual void stopRemoteServer() = 0;
|
||||
virtual void stepRemoteServer() = 0;
|
||||
#endif
|
||||
|
||||
#ifndef HEADLESS
|
||||
friend class CardinalUI;
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifndef HEADLESS
|
||||
struct WasmRemotePatchLoadingDialog;
|
||||
|
||||
class CardinalBaseUI : public UI {
|
||||
public:
|
||||
CardinalPluginContext* const context;
|
||||
remoteUtils::RemoteDetails* remoteDetails;
|
||||
bool saving;
|
||||
bool savingUncompressed;
|
||||
|
||||
#ifdef DISTRHO_OS_WASM
|
||||
WasmRemotePatchLoadingDialog* psDialog;
|
||||
#endif
|
||||
|
||||
// for 3rd party modules
|
||||
std::function<void(char* path)> filebrowseraction;
|
||||
FileBrowserHandle filebrowserhandle;
|
||||
|
||||
CardinalBaseUI(const uint width, const uint height)
|
||||
: UI(width, height),
|
||||
#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
|
||||
context(getRackContextFromPlugin(getPluginInstancePointer())),
|
||||
#else
|
||||
context(new CardinalPluginContext(nullptr)),
|
||||
#endif
|
||||
remoteDetails(nullptr),
|
||||
saving(false),
|
||||
savingUncompressed(false),
|
||||
#ifdef DISTRHO_OS_WASM
|
||||
psDialog(nullptr),
|
||||
#endif
|
||||
filebrowseraction(),
|
||||
filebrowserhandle(nullptr)
|
||||
{
|
||||
context->tlw = this;
|
||||
context->ui = this;
|
||||
}
|
||||
|
||||
~CardinalBaseUI() override
|
||||
{
|
||||
remoteUtils::disconnectFromRemote(remoteDetails);
|
||||
|
||||
if (filebrowserhandle != nullptr)
|
||||
fileBrowserClose(filebrowserhandle);
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
END_NAMESPACE_DISTRHO
|
Loading…
Add table
Add a link
Reference in a new issue