Browse Source

Force the way binary resources are generated

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.02
falkTX 3 years ago
parent
commit
28f2c26872
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
4 changed files with 34 additions and 8 deletions
  1. +28
    -0
      include/common.hpp
  2. +0
    -4
      plugins/res2c.py
  3. +1
    -0
      src/CardinalPlugin.cpp
  4. +5
    -4
      src/CardinalUI.cpp

+ 28
- 0
include/common.hpp 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)

+ 0
- 4
plugins/res2c.py 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__':


+ 1
- 0
src/CardinalPlugin.cpp 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();
}


+ 5
- 4
src/CardinalUI.cpp 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


Loading…
Cancel
Save