Tweak template patch locations
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
c957357781
commit
2aa9142437
20 changed files with 587 additions and 56 deletions
2
dpf
2
dpf
|
|
@ -1 +1 @@
|
||||||
Subproject commit d200db475b74a20e244bbfc2031527666c614eb4
|
Subproject commit d41b971d77dceadcb76a7736908d0b6a36ff1469
|
||||||
268
patches/init/wasm.vcv
Normal file
268
patches/init/wasm.vcv
Normal file
|
|
@ -0,0 +1,268 @@
|
||||||
|
{
|
||||||
|
"version": "2.1.2",
|
||||||
|
"unsaved": true,
|
||||||
|
"zoom": 1.0,
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"id": 8712245256622475,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "TextEditor",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [],
|
||||||
|
"leftModuleId": 799138358763949,
|
||||||
|
"data": {
|
||||||
|
"filepath": "",
|
||||||
|
"lang": "None",
|
||||||
|
"etext": "Welcome to Cardinal!\n\nThis is the Web/Wasm variant\nIt has 2 audio outputs, enabled by default.\nUse Engine menu to enable input and/or MIDI.\n\nA basic VCO + ADSR + VCA is the default patch\n\n",
|
||||||
|
"width": 23
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
49,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5726895899473528,
|
||||||
|
"plugin": "Fundamental",
|
||||||
|
"model": "ADSR",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 8601159184541723,
|
||||||
|
"rightModuleId": 4828178296911509,
|
||||||
|
"pos": [
|
||||||
|
18,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4828178296911509,
|
||||||
|
"plugin": "Fundamental",
|
||||||
|
"model": "VCA-1",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 1.0,
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 1.0,
|
||||||
|
"id": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 5726895899473528,
|
||||||
|
"rightModuleId": 1,
|
||||||
|
"pos": [
|
||||||
|
27,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8601159184541723,
|
||||||
|
"plugin": "Fundamental",
|
||||||
|
"model": "VCO",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 1.0,
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 7
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 2,
|
||||||
|
"rightModuleId": 5726895899473528,
|
||||||
|
"pos": [
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "HostAudio2",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 0.79432821273803711,
|
||||||
|
"id": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 4828178296911509,
|
||||||
|
"rightModuleId": 799138358763949,
|
||||||
|
"data": {
|
||||||
|
"dcFilter": true
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
30,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "HostMIDI",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [],
|
||||||
|
"rightModuleId": 8601159184541723,
|
||||||
|
"data": {
|
||||||
|
"pwRange": 0.0,
|
||||||
|
"smooth": false,
|
||||||
|
"channels": 1,
|
||||||
|
"polyMode": 0,
|
||||||
|
"lastPitch": 8192,
|
||||||
|
"lastMod": 0,
|
||||||
|
"inputChannel": 0,
|
||||||
|
"outputChannel": 0
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 799138358763949,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "HostMIDIMap",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [],
|
||||||
|
"leftModuleId": 1,
|
||||||
|
"rightModuleId": 8712245256622475,
|
||||||
|
"data": {
|
||||||
|
"maps": [
|
||||||
|
{
|
||||||
|
"cc": -1,
|
||||||
|
"moduleId": -1,
|
||||||
|
"paramId": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"smooth": true,
|
||||||
|
"channel": 0
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
38,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cables": [
|
||||||
|
{
|
||||||
|
"id": 5155876120487880,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 1,
|
||||||
|
"inputModuleId": 5726895899473528,
|
||||||
|
"inputId": 4,
|
||||||
|
"color": "#ff9352"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 781753834216137,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 6,
|
||||||
|
"inputModuleId": 5726895899473528,
|
||||||
|
"inputId": 5,
|
||||||
|
"color": "#ffd452"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3464471860196875,
|
||||||
|
"outputModuleId": 5726895899473528,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 4828178296911509,
|
||||||
|
"inputId": 0,
|
||||||
|
"color": "#e8ff52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 739552540616113,
|
||||||
|
"outputModuleId": 4828178296911509,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 1,
|
||||||
|
"inputId": 0,
|
||||||
|
"color": "#52beff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6701970185765111,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 8601159184541723,
|
||||||
|
"inputId": 0,
|
||||||
|
"color": "#ff5252"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6959800657121782,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 2,
|
||||||
|
"inputModuleId": 8601159184541723,
|
||||||
|
"inputId": 1,
|
||||||
|
"color": "#52ff7d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1598271319373837,
|
||||||
|
"outputModuleId": 8601159184541723,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 4828178296911509,
|
||||||
|
"inputId": 1,
|
||||||
|
"color": "#a8ff52"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
268
patches/welcome-wasm-mini.vcv
Normal file
268
patches/welcome-wasm-mini.vcv
Normal file
|
|
@ -0,0 +1,268 @@
|
||||||
|
{
|
||||||
|
"version": "2.1.2",
|
||||||
|
"unsaved": true,
|
||||||
|
"zoom": 1.0,
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"id": 8712245256622475,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "TextEditor",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [],
|
||||||
|
"leftModuleId": 799138358763949,
|
||||||
|
"data": {
|
||||||
|
"filepath": "",
|
||||||
|
"lang": "None",
|
||||||
|
"etext": "Welcome to Cardinal!\n\nThis is the Web/Wasm variant\nIt has 2 audio outputs, enabled by default.\nUse Engine menu to enable input and/or MIDI.\n\nA basic VCO + ADSR + VCA is the default patch\n\n",
|
||||||
|
"width": 23
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
49,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5726895899473528,
|
||||||
|
"plugin": "Fundamental",
|
||||||
|
"model": "ADSR",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 8601159184541723,
|
||||||
|
"rightModuleId": 4828178296911509,
|
||||||
|
"pos": [
|
||||||
|
18,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4828178296911509,
|
||||||
|
"plugin": "Fundamental",
|
||||||
|
"model": "VCA-1",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 1.0,
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 1.0,
|
||||||
|
"id": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 5726895899473528,
|
||||||
|
"rightModuleId": 1,
|
||||||
|
"pos": [
|
||||||
|
27,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8601159184541723,
|
||||||
|
"plugin": "Fundamental",
|
||||||
|
"model": "VCO",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 1.0,
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.5,
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 0.0,
|
||||||
|
"id": 7
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 2,
|
||||||
|
"rightModuleId": 5726895899473528,
|
||||||
|
"pos": [
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "HostAudio2",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"value": 0.79432821273803711,
|
||||||
|
"id": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"leftModuleId": 4828178296911509,
|
||||||
|
"rightModuleId": 799138358763949,
|
||||||
|
"data": {
|
||||||
|
"dcFilter": true
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
30,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "HostMIDI",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [],
|
||||||
|
"rightModuleId": 8601159184541723,
|
||||||
|
"data": {
|
||||||
|
"pwRange": 0.0,
|
||||||
|
"smooth": false,
|
||||||
|
"channels": 1,
|
||||||
|
"polyMode": 0,
|
||||||
|
"lastPitch": 8192,
|
||||||
|
"lastMod": 0,
|
||||||
|
"inputChannel": 0,
|
||||||
|
"outputChannel": 0
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 799138358763949,
|
||||||
|
"plugin": "Cardinal",
|
||||||
|
"model": "HostMIDIMap",
|
||||||
|
"version": "2.0",
|
||||||
|
"params": [],
|
||||||
|
"leftModuleId": 1,
|
||||||
|
"rightModuleId": 8712245256622475,
|
||||||
|
"data": {
|
||||||
|
"maps": [
|
||||||
|
{
|
||||||
|
"cc": -1,
|
||||||
|
"moduleId": -1,
|
||||||
|
"paramId": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"smooth": true,
|
||||||
|
"channel": 0
|
||||||
|
},
|
||||||
|
"pos": [
|
||||||
|
38,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cables": [
|
||||||
|
{
|
||||||
|
"id": 5155876120487880,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 1,
|
||||||
|
"inputModuleId": 5726895899473528,
|
||||||
|
"inputId": 4,
|
||||||
|
"color": "#ff9352"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 781753834216137,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 6,
|
||||||
|
"inputModuleId": 5726895899473528,
|
||||||
|
"inputId": 5,
|
||||||
|
"color": "#ffd452"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3464471860196875,
|
||||||
|
"outputModuleId": 5726895899473528,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 4828178296911509,
|
||||||
|
"inputId": 0,
|
||||||
|
"color": "#e8ff52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 739552540616113,
|
||||||
|
"outputModuleId": 4828178296911509,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 1,
|
||||||
|
"inputId": 0,
|
||||||
|
"color": "#52beff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6701970185765111,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 8601159184541723,
|
||||||
|
"inputId": 0,
|
||||||
|
"color": "#ff5252"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6959800657121782,
|
||||||
|
"outputModuleId": 2,
|
||||||
|
"outputId": 2,
|
||||||
|
"inputModuleId": 8601159184541723,
|
||||||
|
"inputId": 1,
|
||||||
|
"color": "#52ff7d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1598271319373837,
|
||||||
|
"outputModuleId": 8601159184541723,
|
||||||
|
"outputId": 0,
|
||||||
|
"inputModuleId": 4828178296911509,
|
||||||
|
"inputId": 1,
|
||||||
|
"color": "#a8ff52"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -26,7 +26,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DISTRHO_OS_WASM
|
#ifdef DISTRHO_OS_WASM
|
||||||
# define CARDINAL_IMPORTED_TEMPLATE_FILENAME "/imported.vcv"
|
# define CARDINAL_WASM_IMPORTED_TEMPLATE_FILENAME "/imported.vcv"
|
||||||
|
# ifdef STATIC_BUILD
|
||||||
|
# define CARDINAL_WASM_WELCOME_TEMPLATE_FILENAME "welcome-wasm.vcv"
|
||||||
|
# else
|
||||||
|
# define CARDINAL_WASM_WELCOME_TEMPLATE_FILENAME "welcome-wasm-mini.vcv"
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern const std::string CARDINAL_VERSION;
|
extern const std::string CARDINAL_VERSION;
|
||||||
|
|
|
||||||
|
|
@ -28,12 +28,18 @@
|
||||||
#define DISTRHO_PLUGIN_BRAND "DISTRHO"
|
#define DISTRHO_PLUGIN_BRAND "DISTRHO"
|
||||||
#define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal#fx"
|
#define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal#fx"
|
||||||
|
|
||||||
#ifdef __MOD_DEVICES__
|
#if defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD)
|
||||||
#define DISTRHO_PLUGIN_NAME "Cardinal Mini"
|
# define DISTRHO_PLUGIN_NAME "Mini Cardinal"
|
||||||
#define DISTRHO_PLUGIN_LABEL "CardinalMini"
|
# define DISTRHO_PLUGIN_LABEL "MiniCardinal"
|
||||||
|
#elif defined(DISTRHO_OS_WASM)
|
||||||
|
# define DISTRHO_PLUGIN_NAME "Cardinal"
|
||||||
|
# define DISTRHO_PLUGIN_LABEL "Cardinal"
|
||||||
|
#elif defined(__MOD_DEVICES__)
|
||||||
|
# define DISTRHO_PLUGIN_NAME "Cardinal Mini"
|
||||||
|
# define DISTRHO_PLUGIN_LABEL "CardinalMini"
|
||||||
#else
|
#else
|
||||||
#define DISTRHO_PLUGIN_NAME "Cardinal FX"
|
# define DISTRHO_PLUGIN_NAME "Cardinal FX"
|
||||||
#define DISTRHO_PLUGIN_LABEL "CardinalFX"
|
# define DISTRHO_PLUGIN_LABEL "CardinalFX"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HEADLESS
|
#ifdef HEADLESS
|
||||||
|
|
|
||||||
|
|
@ -52,18 +52,14 @@
|
||||||
# include "extra/SharedResourcePointer.hpp"
|
# include "extra/SharedResourcePointer.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CARDINAL_VARIANT_FX
|
|
||||||
# define CARDINAL_FACTORY_TEMPLATE_NAME "template-fx.vcv"
|
|
||||||
#elif CARDINAL_VARIANT_SYNTH
|
|
||||||
# define CARDINAL_FACTORY_TEMPLATE_NAME "template-synth.vcv"
|
|
||||||
#else
|
|
||||||
# define CARDINAL_FACTORY_TEMPLATE_NAME "template.vcv"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef DISTRHO_OS_WASM
|
#ifdef DISTRHO_OS_WASM
|
||||||
# define CARDINAL_TEMPLATE_NAME "template-wasm.vcv"
|
# define CARDINAL_TEMPLATE_NAME "init/wasm.vcv"
|
||||||
|
#elif CARDINAL_VARIANT_FX
|
||||||
|
# define CARDINAL_TEMPLATE_NAME "init/fx.vcv"
|
||||||
|
#elif CARDINAL_VARIANT_SYNTH
|
||||||
|
# define CARDINAL_TEMPLATE_NAME "init/synth.vcv"
|
||||||
#else
|
#else
|
||||||
# define CARDINAL_TEMPLATE_NAME CARDINAL_FACTORY_TEMPLATE_NAME
|
# define CARDINAL_TEMPLATE_NAME "init/main.vcv"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const constexpr uint kCardinalStateBaseCount = 3; // patch, screenshot, comment
|
static const constexpr uint kCardinalStateBaseCount = 3; // patch, screenshot, comment
|
||||||
|
|
@ -78,16 +74,19 @@ static const constexpr uint kCardinalStateCount = kCardinalStateBaseCount;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace rack {
|
namespace rack {
|
||||||
|
namespace asset {
|
||||||
|
std::string patchesPath();
|
||||||
|
}
|
||||||
namespace engine {
|
namespace engine {
|
||||||
void Engine_setAboutToClose(Engine*);
|
void Engine_setAboutToClose(Engine*);
|
||||||
}
|
}
|
||||||
namespace plugin {
|
namespace plugin {
|
||||||
void initStaticPlugins();
|
void initStaticPlugins();
|
||||||
void destroyStaticPlugins();
|
void destroyStaticPlugins();
|
||||||
}
|
}
|
||||||
#ifndef HEADLESS
|
#ifndef HEADLESS
|
||||||
namespace window {
|
namespace window {
|
||||||
void WindowInit(Window* window, DISTRHO_NAMESPACE::Plugin* plugin);
|
void WindowInit(Window* window, DISTRHO_NAMESPACE::Plugin* plugin);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
@ -183,10 +182,8 @@ struct Initializer
|
||||||
{
|
{
|
||||||
if (const char* const resourcePath = getResourcePath(bundlePath))
|
if (const char* const resourcePath = getResourcePath(bundlePath))
|
||||||
{
|
{
|
||||||
asset::bundlePath = system::join(resourcePath, "PluginManifests");
|
|
||||||
asset::systemDir = resourcePath;
|
asset::systemDir = resourcePath;
|
||||||
templatePath = system::join(asset::systemDir, CARDINAL_TEMPLATE_NAME);
|
asset::bundlePath = system::join(asset::systemDir, "PluginManifests");
|
||||||
factoryTemplatePath = system::join(asset::systemDir, CARDINAL_FACTORY_TEMPLATE_NAME);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -196,13 +193,8 @@ struct Initializer
|
||||||
// Make system dir point to source code location as fallback
|
// Make system dir point to source code location as fallback
|
||||||
asset::systemDir = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "Rack";
|
asset::systemDir = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "Rack";
|
||||||
|
|
||||||
if (system::exists(system::join(asset::systemDir, "res")))
|
|
||||||
{
|
|
||||||
templatePath = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR CARDINAL_TEMPLATE_NAME;
|
|
||||||
factoryTemplatePath = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR CARDINAL_FACTORY_TEMPLATE_NAME;
|
|
||||||
}
|
|
||||||
// If source code dir does not exist use install target prefix as system dir
|
// If source code dir does not exist use install target prefix as system dir
|
||||||
else
|
if (!system::exists(system::join(asset::systemDir, "res")))
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#if defined(DISTRHO_OS_WASM)
|
#if defined(DISTRHO_OS_WASM)
|
||||||
|
|
@ -218,18 +210,19 @@ struct Initializer
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
asset::bundlePath = system::join(asset::systemDir, "PluginManifests");
|
asset::bundlePath = system::join(asset::systemDir, "PluginManifests");
|
||||||
templatePath = system::join(asset::systemDir, CARDINAL_TEMPLATE_NAME);
|
|
||||||
factoryTemplatePath = system::join(asset::systemDir, CARDINAL_FACTORY_TEMPLATE_NAME);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
asset::userDir = asset::systemDir;
|
asset::userDir = asset::systemDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const std::string patchesPath = asset::patchesPath();
|
||||||
#ifdef DISTRHO_OS_WASM
|
#ifdef DISTRHO_OS_WASM
|
||||||
if ((patchStorageSlug = getPatchStorageSlug()) != nullptr)
|
templatePath = system::join(patchesPath, CARDINAL_WASM_WELCOME_TEMPLATE_FILENAME);
|
||||||
templatePath = CARDINAL_IMPORTED_TEMPLATE_FILENAME;
|
#else
|
||||||
|
templatePath = system::join(patchesPath, CARDINAL_TEMPLATE_NAME);
|
||||||
#endif
|
#endif
|
||||||
|
factoryTemplatePath = system::join(patchesPath, CARDINAL_TEMPLATE_NAME);
|
||||||
|
|
||||||
// Log environment
|
// Log environment
|
||||||
INFO("%s %s v%s", APP_NAME.c_str(), APP_EDITION.c_str(), APP_VERSION.c_str());
|
INFO("%s %s v%s", APP_NAME.c_str(), APP_EDITION.c_str(), APP_VERSION.c_str());
|
||||||
|
|
@ -608,11 +601,13 @@ public:
|
||||||
context->window = new rack::window::Window;
|
context->window = new rack::window::Window;
|
||||||
|
|
||||||
#ifdef DISTRHO_OS_WASM
|
#ifdef DISTRHO_OS_WASM
|
||||||
if (rack::patchStorageSlug == nullptr)
|
if ((rack::patchStorageSlug = getPatchStorageSlug()) == nullptr)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
context->patch->loadTemplate();
|
context->patch->loadTemplate();
|
||||||
context->scene->rackScroll->reset();
|
context->scene->rackScroll->reset();
|
||||||
|
// swap to factory template after first load
|
||||||
|
context->patch->templatePath = context->patch->factoryTemplatePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_LIBLO) && defined(HEADLESS)
|
#if defined(HAVE_LIBLO) && defined(HEADLESS)
|
||||||
|
|
|
||||||
|
|
@ -253,7 +253,7 @@ static void downloadPatchStorageFailed(const char* const filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace rack;
|
using namespace rack;
|
||||||
context->patch->templatePath = system::join(asset::systemDir, "template-synth.vcv"); // FIXME
|
context->patch->templatePath = system::join(asset::systemDir, "init/wasm.vcv"); // FIXME
|
||||||
context->patch->loadTemplate();
|
context->patch->loadTemplate();
|
||||||
context->scene->rackScroll->reset();
|
context->scene->rackScroll->reset();
|
||||||
}
|
}
|
||||||
|
|
@ -277,7 +277,7 @@ static void downloadPatchStorageSucceeded(const char* const filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
context->patch->load(CARDINAL_IMPORTED_TEMPLATE_FILENAME);
|
context->patch->load(CARDINAL_WASM_IMPORTED_TEMPLATE_FILENAME);
|
||||||
} catch (rack::Exception& e) {
|
} catch (rack::Exception& e) {
|
||||||
const std::string message = rack::string::f("Could not load patch: %s", e.what());
|
const std::string message = rack::string::f("Could not load patch: %s", e.what());
|
||||||
asyncDialog::create(message.c_str());
|
asyncDialog::create(message.c_str());
|
||||||
|
|
@ -428,7 +428,7 @@ public:
|
||||||
|
|
||||||
void uiIdle() override
|
void uiIdle() override
|
||||||
{
|
{
|
||||||
if (counterForFirstIdlePoint >= 0 && ++counterForFirstIdlePoint == 5)
|
if (counterForFirstIdlePoint >= 0 && ++counterForFirstIdlePoint == 30)
|
||||||
{
|
{
|
||||||
counterForFirstIdlePoint = -1;
|
counterForFirstIdlePoint = -1;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,6 @@ endif
|
||||||
|
|
||||||
CORE_RESOURCES = patches
|
CORE_RESOURCES = patches
|
||||||
CORE_RESOURCES += $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/*.svg ../Rack/res/fonts/*.ttf))
|
CORE_RESOURCES += $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/*.svg ../Rack/res/fonts/*.ttf))
|
||||||
CORE_RESOURCES += $(subst ../,,$(wildcard ../template*.vcv))
|
|
||||||
|
|
||||||
LV2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%)
|
LV2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%)
|
||||||
VST3_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%)
|
VST3_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%)
|
||||||
|
|
@ -376,22 +375,6 @@ $(TARGET_DIR)/%/patches: ../../patches
|
||||||
-@mkdir -p "$(shell dirname $@)"
|
-@mkdir -p "$(shell dirname $@)"
|
||||||
$(SILENT)ln -sf $(abspath $<) $@
|
$(SILENT)ln -sf $(abspath $<) $@
|
||||||
|
|
||||||
$(TARGET_DIR)/%/template.vcv: ../template.vcv
|
|
||||||
-@mkdir -p "$(shell dirname $@)"
|
|
||||||
$(SILENT)ln -sf $(abspath $<) $@
|
|
||||||
|
|
||||||
$(TARGET_DIR)/%/template-fx.vcv: ../template-fx.vcv
|
|
||||||
-@mkdir -p "$(shell dirname $@)"
|
|
||||||
$(SILENT)ln -sf $(abspath $<) $@
|
|
||||||
|
|
||||||
$(TARGET_DIR)/%/template-synth.vcv: ../template-synth.vcv
|
|
||||||
-@mkdir -p "$(shell dirname $@)"
|
|
||||||
$(SILENT)ln -sf $(abspath $<) $@
|
|
||||||
|
|
||||||
$(TARGET_DIR)/%/template-wasm.vcv: ../template-wasm.vcv
|
|
||||||
-@mkdir -p "$(shell dirname $@)"
|
|
||||||
$(SILENT)ln -sf $(abspath $<) $@
|
|
||||||
|
|
||||||
$(TARGET_DIR)/$(NAME).lv2/resources/%: ../Rack/res/%
|
$(TARGET_DIR)/$(NAME).lv2/resources/%: ../Rack/res/%
|
||||||
-@mkdir -p "$(shell dirname $@)"
|
-@mkdir -p "$(shell dirname $@)"
|
||||||
$(SILENT)ln -sf $(abspath $<) $@
|
$(SILENT)ln -sf $(abspath $<) $@
|
||||||
|
|
|
||||||
|
|
@ -97,12 +97,15 @@ struct MenuButton : ui::Button {
|
||||||
|
|
||||||
struct FileButton : MenuButton {
|
struct FileButton : MenuButton {
|
||||||
const bool isStandalone;
|
const bool isStandalone;
|
||||||
|
#if !(defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD))
|
||||||
std::vector<std::string> demoPatches;
|
std::vector<std::string> demoPatches;
|
||||||
|
#endif
|
||||||
|
|
||||||
FileButton(const bool standalone)
|
FileButton(const bool standalone)
|
||||||
: MenuButton(), isStandalone(standalone)
|
: MenuButton(), isStandalone(standalone)
|
||||||
{
|
{
|
||||||
const std::string patchesDir = asset::patchesPath();
|
#if !(defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD))
|
||||||
|
const std::string patchesDir = asset::patchesPath() + DISTRHO_OS_SEP_STR "examples";
|
||||||
|
|
||||||
if (system::isDirectory(patchesDir))
|
if (system::isDirectory(patchesDir))
|
||||||
{
|
{
|
||||||
|
|
@ -111,6 +114,7 @@ struct FileButton : MenuButton {
|
||||||
return string::lowercase(a) < string::lowercase(b);
|
return string::lowercase(a) < string::lowercase(b);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void onAction(const ActionEvent& e) override {
|
void onAction(const ActionEvent& e) override {
|
||||||
|
|
@ -195,6 +199,7 @@ struct FileButton : MenuButton {
|
||||||
}));
|
}));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !(defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD))
|
||||||
if (!demoPatches.empty())
|
if (!demoPatches.empty())
|
||||||
{
|
{
|
||||||
menu->addChild(new ui::MenuSeparator);
|
menu->addChild(new ui::MenuSeparator);
|
||||||
|
|
@ -220,6 +225,7 @@ struct FileButton : MenuButton {
|
||||||
}));
|
}));
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef DISTRHO_OS_WASM
|
#ifndef DISTRHO_OS_WASM
|
||||||
if (isStandalone) {
|
if (isStandalone) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue