1
Fork 0

Force the way binary resources are generated

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2021-10-18 04:11:05 +01:00
parent 2a0d263666
commit 28f2c26872
No known key found for this signature in database
GPG Key ID: CDBAA37ABC74FBA0
4 changed files with 34 additions and 8 deletions

28
include/common.hpp Normal file
View File

@ -0,0 +1,28 @@
/*
* 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_next "common.hpp"
#undef BINARY
#undef BINARY_START
#undef BINARY_END
#undef BINARY_SIZE
#define BINARY(sym) extern const unsigned char sym[]; extern const unsigned int sym##_len
#define BINARY_START(sym) ((const void*) sym)
#define BINARY_END(sym) ((const void*) sym + sym##_len)
#define BINARY_SIZE(sym) (sym##_len)

View File

@ -32,10 +32,6 @@ def res2c(filename):
print("const unsigned int %s_len = %d;\n" % (resname, fhandle.tell()))
if sys.platform != "darwin":
print("const unsigned char* _binary_%s_start = %s;\n" % (resname, resname))
print("const unsigned char* _binary_%s_end = %s + %d;\n" % (resname, resname, fhandle.tell()))
# -----------------------------------------------------
if __name__ == '__main__':

View File

@ -174,6 +174,7 @@ public:
fContext->patch = new rack::patch::Manager;
fContext->patch->autosavePath = fAutosavePath;
fContext->patch->templatePath = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "template.vcv";
fContext->patch->loadTemplate();
fContext->engine->startFallbackThread();
}

View File

@ -80,10 +80,11 @@ public:
fContext->window = new rack::window::Window;
rack::window::lastUI = nullptr;
if (fContext->patch->hasAutosave())
fContext->patch->loadAutosave();
else
fContext->patch->loadTemplate();
// we need to reload current patch for things to show on screen :(
// FIXME always save
if (! fContext->patch->hasAutosave())
fContext->patch->saveAutosave();
fContext->patch->loadAutosave();
}
~CardinalUI() override