This commit is contained in:
falkTX 2021-10-08 10:33:14 +01:00
parent ee3f3771a4
commit 0845a0ffa2
17 changed files with 86 additions and 71 deletions

View file

@ -1,17 +1,18 @@
/*
* DISTRHO CVCRack Plugin
* DISTRHO Cardinal Plugin
* Copyright (C) 2021 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
* 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
* 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.
*/
#include <asset.hpp>
@ -35,6 +36,15 @@
START_NAMESPACE_DISTRHO
// -----------------------------------------------------------------------------------------------------------
// The following code was based from VCVRack adapters/standalone.cpp
/*
Copyright (C) 2016-2021 VCV
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 (at your option) any later version.
*/
struct Initializer {
Initializer()
@ -121,13 +131,12 @@ static const Initializer& getInitializerInstance()
return init;
}
/**
Plugin to demonstrate parameter outputs using meters.
*/
class CVCRackPlugin : public Plugin
// -----------------------------------------------------------------------------------------------------------
class CardinalPlugin : public Plugin
{
public:
CVCRackPlugin()
CardinalPlugin()
: Plugin(0, 0, 0)
{
}
@ -142,7 +151,7 @@ protected:
*/
const char* getLabel() const override
{
return "CVCRack";
return "Cardinal";
}
/**
@ -166,7 +175,7 @@ protected:
*/
const char* getHomePage() const override
{
return "https://github.com/DISTRHO/CVCRack";
return "https://github.com/DISTRHO/Cardinal";
}
/**
@ -192,7 +201,7 @@ protected:
*/
int64_t getUniqueId() const override
{
return d_cconst('d', 'C', 'V', 'C');
return d_cconst('d', 'C', 'd', 'n');
}
/* --------------------------------------------------------------------------------------------------------
@ -223,7 +232,7 @@ private:
/**
Set our plugin class as non-copyable and add a leak detector just in case.
*/
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CVCRackPlugin)
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CardinalPlugin)
};
/* ------------------------------------------------------------------------------------------------------------
@ -232,7 +241,7 @@ private:
Plugin* createPlugin()
{
getInitializerInstance();
return new CVCRackPlugin();
return new CardinalPlugin();
}
// -----------------------------------------------------------------------------------------------------------

View file

@ -1,17 +1,18 @@
/*
* DISTRHO CVCRack Plugin
* DISTRHO Cardinal Plugin
* Copyright (C) 2021 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
* 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
* 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.
*/
#include <app/common.hpp>
@ -64,16 +65,25 @@ static const Initializer2& getInitializer2Instance()
return init;
}
class CVCRackUI : public UI
class CardinalUI : public UI
{
ResizeHandle fResizeHandle;
public:
CVCRackUI()
CardinalUI()
: UI(1280, 720),
fResizeHandle(this)
{
using namespace rack;
/*
The following code was based from VCVRack adapters/standalone.cpp
Copyright (C) 2016-2021 VCV
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 (at your option) any later version.
*/
// Initialize context
INFO("Initializing context");
window::lastUI = this;
@ -92,7 +102,7 @@ public:
APP->engine->startFallbackThread();
}
~CVCRackUI() override
~CardinalUI() override
{
using namespace rack;
@ -183,7 +193,7 @@ private:
/**
Set our UI class as non-copyable and add a leak detector just in case.
*/
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CVCRackUI)
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CardinalUI)
};
/* ------------------------------------------------------------------------------------------------------------
@ -192,7 +202,7 @@ private:
UI* createUI()
{
getInitializer2Instance();
return new CVCRackUI();
return new CardinalUI();
}
// -----------------------------------------------------------------------------------------------------------

View file

@ -1,10 +1,10 @@
/*
* DISTRHO CVCRack Plugin
* DISTRHO Cardinal Plugin
* Copyright (C) 2021 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 2 of
* 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,
@ -12,15 +12,15 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the license see the LICENSE file.
* For a full copy of the GNU General Public License see the LICENSE file.
*/
#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED
#define DISTRHO_PLUGIN_INFO_H_INCLUDED
#define DISTRHO_PLUGIN_BRAND "DISTRHO"
#define DISTRHO_PLUGIN_NAME "CVCRack"
#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/CVCRack"
#define DISTRHO_PLUGIN_NAME "Cardinal"
#define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal"
#define DISTRHO_PLUGIN_HAS_UI 1
#define DISTRHO_PLUGIN_NUM_INPUTS 2

View file

@ -7,16 +7,16 @@
# --------------------------------------------------------------
# Project name, used for binaries
NAME = CVCRack
NAME = Cardinal
# --------------------------------------------------------------
# Files to build (DPF stuff)
FILES_DSP = \
CVCRackPlugin.cpp
CardinalPlugin.cpp
FILES_UI = \
CVCRackUI.cpp \
CardinalUI.cpp \
Window.cpp
# --------------------------------------------------------------

View file

@ -72,15 +72,10 @@ struct Window::Internal {
std::string lastWindowTitle;
int lastWindowX = 0;
int lastWindowY = 0;
int lastWindowWidth = 0;
int lastWindowHeight = 0;
int frame = 0;
bool ignoreNextMouseDelta = false;
int frameSwapInterval = -1;
double monitorRefreshRate = 0.0;
double monitorRefreshRate = 60.0; // FIXME
double frameTime = 0.0;
double lastFrameDuration = 0.0;
@ -131,6 +126,7 @@ Window::Window() {
osdialog_message(OSDIALOG_ERROR, OSDIALOG_OK, "Could not initialize NanoVG. Does your graphics card support OpenGL 2.0 or greater? If so, make sure you have the latest graphics drivers installed.");
exit(1);
}
d_stderr2("framebuffer is %p", fbVg);
// Load default Blendish font
uiFont = loadFont(asset::system("res/fonts/DejaVuSans.ttf"));
@ -305,7 +301,7 @@ void Window::cursorUnlock() {
bool Window::isCursorLocked() {
return false;
return internal->ignoreNextMouseDelta;
}