|
|
|
@@ -1,14 +1,31 @@ |
|
|
|
// This source file compiles those nice implementation-in-header little libraries |
|
|
|
/* |
|
|
|
* 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 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. |
|
|
|
*/ |
|
|
|
|
|
|
|
#include <common.hpp> // for fopen_u8 |
|
|
|
#include <common.hpp> |
|
|
|
#include <string.hpp> |
|
|
|
|
|
|
|
#ifdef NDEBUG |
|
|
|
# undef DEBUG |
|
|
|
#endif |
|
|
|
|
|
|
|
#include "OpenGL.hpp" |
|
|
|
|
|
|
|
#ifdef DEBUG |
|
|
|
// fix blendish build, missing symbol in debug mode |
|
|
|
#ifdef DEBUG |
|
|
|
extern "C" { |
|
|
|
float bnd_clamp(float v, float mn, float mx) { |
|
|
|
return (v > mx)?mx:(v < mn)?mn:v; |
|
|
|
@@ -16,13 +33,47 @@ float bnd_clamp(float v, float mn, float mx) { |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
// fopen_u8 |
|
|
|
#ifdef ARCH_WIN |
|
|
|
#include <windows.h> |
|
|
|
FILE* fopen_u8(const char* filename, const char* mode) |
|
|
|
{ |
|
|
|
return _wfopen(rack::string::UTF8toUTF16(filename).c_str(), rack::string::UTF8toUTF16(mode).c_str()); |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
// Compile those nice implementation-in-header little libraries |
|
|
|
#define NANOSVG_IMPLEMENTATION |
|
|
|
#define NANOSVG_ALL_COLOR_KEYWORDS |
|
|
|
#include <nanosvg.h> |
|
|
|
|
|
|
|
// Define the global names to indicate this is Cardinal and not VCVRack |
|
|
|
namespace rack { |
|
|
|
const std::string APP_NAME = ""; |
|
|
|
const std::string APP_EDITION = ""; |
|
|
|
const std::string APP_EDITION_NAME = "Cardinal Audio Plugin"; |
|
|
|
const std::string APP_VERSION_MAJOR = "2"; |
|
|
|
const std::string APP_VERSION = "v0.0.1"; |
|
|
|
#if defined(ARCH_WIN) |
|
|
|
const std::string APP_ARCH = "win"; |
|
|
|
#elif defined(ARCH_MAC) |
|
|
|
const std::string APP_ARCH = "mac"; |
|
|
|
#else |
|
|
|
const std::string APP_ARCH = "lin"; |
|
|
|
#endif |
|
|
|
const std::string API_URL = ""; |
|
|
|
Exception::Exception(const char* format, ...) |
|
|
|
{ |
|
|
|
va_list args; |
|
|
|
va_start(args, format); |
|
|
|
msg = string::fV(format, args); |
|
|
|
va_end(args); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Define the stuff needed for VCVRack but unused for Cardinal |
|
|
|
#include <library.hpp> |
|
|
|
#include <network.hpp> |
|
|
|
|
|
|
|
namespace rack { |
|
|
|
namespace library { |
|
|
|
std::string appChangelogUrl; |
|
|
|
|