@gorilla-engine-sdk/create-gorilla-engine-plugin 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +64 -0
- package/README.md +103 -0
- package/generator-gorilla-engine-plugin/app/index.js +338 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/SKILL.md +295 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/effects-filters.md +186 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/indexing.md +129 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/instrument-files.md +547 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/key-rules.md +81 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/modulation.md +210 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/module-control.md +217 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/module-reference-bus-effects.md +663 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/module-reference-core.md +145 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/module-reference-misc.md +59 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/module-reference-modulation.md +85 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/module-reference-voice-effects.md +407 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/note-events.md +278 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/properties.md +230 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/script-patterns.md +494 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-dsp/references/time-tempo.md +209 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/SKILL.md +104 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/advanced-controls.md +194 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/base-props.md +167 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/basic-controls.md +230 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/bindings.md +183 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/composite-components.md +258 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/containers.md +149 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/editors.md +191 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/event-handlers.md +150 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/getting-started.md +143 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/gorilla-engine-api.md +147 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/instrument-api.md +250 -0
- package/generator-gorilla-engine-plugin/app/templates/.agents/skills/gorilla-engine-ui/references/visualization.md +209 -0
- package/generator-gorilla-engine-plugin/app/templates/.prettierignore +13 -0
- package/generator-gorilla-engine-plugin/app/templates/.vscode/settings.json +14 -0
- package/generator-gorilla-engine-plugin/app/templates/.vscode_input/launch.json +89 -0
- package/generator-gorilla-engine-plugin/app/templates/README.md +36 -0
- package/generator-gorilla-engine-plugin/app/templates/assets/fonts/OFL.txt +93 -0
- package/generator-gorilla-engine-plugin/app/templates/assets/fonts/Roboto-Bold.otf +0 -0
- package/generator-gorilla-engine-plugin/app/templates/assets/fonts/Roboto-Medium.otf +0 -0
- package/generator-gorilla-engine-plugin/app/templates/assets/fonts/Roboto-Regular.otf +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/Presets/Factory/Category 1/Init.preset +1 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/Presets/Factory/Category 1/Three Quarters.preset +1 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/Horizontal Slider.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/Horizontal Slider@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/Rotary Bipolar.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/Rotary-Bipolar@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/Rotary.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/Rotary@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-down-default.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-down-default@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-down-hover.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-down-hover@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-down-pressed.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-down-pressed@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-up-default.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-up-default@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-up-hover.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-up-hover@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-up-pressed.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/arrow-up-pressed@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/toggle-default.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/toggle-default@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/toggle-pressed.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/images/toggle-pressed@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/instruments/Basic Synth Example_part1.blob +0 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/assets/instruments/Basic Synth Example_part2.blob +1 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/instrument/Basic Synth Example.inst +157 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/instrument/Basic Synth Example.txt +184 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/app/Root.tsx +35 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/app/components/ErrorBoundary.tsx +138 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/app/components/UserInterface.tsx +338 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/app/pluginConfig.ts +4 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/dialogsCustomStyle.ts +98 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/index.tsx +217 -0
- package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/presetBrowserCustomStyle.ts +124 -0
- package/generator-gorilla-engine-plugin/app/templates/build.ugep +173 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/Presets/Factory/Category 1/01 - All The Way Down.preset +1 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/Presets/Factory/Category 1/02 - About Half.preset +1 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/Presets/Factory/Category 1/03 - Three Quarters.preset +1 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/Presets/Factory/Category 1/04 - All The Way Up.preset +1 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/images/Rotary.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/images/Rotary@2x.png +0 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/instruments/Reverb Example_part1.blob +0 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/assets/instruments/Reverb Example_part2.blob +1 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/instrument/Reverb Example.inst +73 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/instrument/Reverb Example.txt +21 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/src/app/Root.tsx +35 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/src/app/components/ErrorBoundary.tsx +114 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/src/app/components/UserInterface.tsx +85 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/src/app/pluginConfig.ts +4 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/src/dialogsCustomStyle.ts +101 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/src/index.tsx +214 -0
- package/generator-gorilla-engine-plugin/app/templates/effect/src/presetBrowserCustomStyle.ts +124 -0
- package/generator-gorilla-engine-plugin/app/templates/gitignore +9 -0
- package/generator-gorilla-engine-plugin/app/templates/licence.txt +0 -0
- package/generator-gorilla-engine-plugin/app/templates/package.json +38 -0
- package/generator-gorilla-engine-plugin/app/templates/prettierrc +9 -0
- package/generator-gorilla-engine-plugin/app/templates/tsconfig.json +20 -0
- package/generator-gorilla-engine-plugin/package.json +17 -0
- package/index.js +72 -0
- package/package.json +42 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DialogHorizontalAlign,
|
|
3
|
+
DialogVerticalAlign,
|
|
4
|
+
DialogsStyleState,
|
|
5
|
+
} from '@gorilla-engine-sdk/ge-dialogs-lib/dist/DialogsStyleState'
|
|
6
|
+
|
|
7
|
+
export const dialogsCustomStyle: DialogsStyleState = {
|
|
8
|
+
pluginWidth: 920,
|
|
9
|
+
pluginHeight: 640,
|
|
10
|
+
|
|
11
|
+
modal: {
|
|
12
|
+
horizontalAlign: DialogHorizontalAlign.CENTER,
|
|
13
|
+
horizontalOffset: 0,
|
|
14
|
+
verticalAlign: DialogVerticalAlign.CENTER,
|
|
15
|
+
verticalOffset: 0,
|
|
16
|
+
|
|
17
|
+
blockingBackgroundColor: '33000000',
|
|
18
|
+
|
|
19
|
+
modalWidth: 400,
|
|
20
|
+
modalHeight: 220,
|
|
21
|
+
headerHeight: 50,
|
|
22
|
+
horizontalContentMargin: 16,
|
|
23
|
+
|
|
24
|
+
modal: {
|
|
25
|
+
cornerRadius: 4,
|
|
26
|
+
border: {
|
|
27
|
+
width: 1,
|
|
28
|
+
color: '3F4354',
|
|
29
|
+
},
|
|
30
|
+
backgroundColor: '2F333F',
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
title: {
|
|
34
|
+
fontSize: 20,
|
|
35
|
+
textColor: 'ffffff',
|
|
36
|
+
textAlign: 'center',
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
dividerLine: {
|
|
40
|
+
height: 1,
|
|
41
|
+
backgroundColor: '3F4354',
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
message: {
|
|
45
|
+
fontSize: 14,
|
|
46
|
+
textColor: 'ffffff',
|
|
47
|
+
textAlign: 'top left',
|
|
48
|
+
multiLine: true,
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
cancelButton: {
|
|
52
|
+
backgroundColor: '21242E',
|
|
53
|
+
textColor: 'E1E6F5',
|
|
54
|
+
font: 'fonts/Roboto-Medium.otf',
|
|
55
|
+
cornerRadius: 4,
|
|
56
|
+
},
|
|
57
|
+
approveButton: {
|
|
58
|
+
backgroundColor: '5177E0',
|
|
59
|
+
textColor: 'E1E6F5',
|
|
60
|
+
font: 'fonts/Roboto-Medium.otf',
|
|
61
|
+
cornerRadius: 4,
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
closeButton: {
|
|
65
|
+
width: 20,
|
|
66
|
+
height: 20,
|
|
67
|
+
backgroundColor: '333333',
|
|
68
|
+
cornerRadius: 10,
|
|
69
|
+
text: 'X',
|
|
70
|
+
},
|
|
71
|
+
closeButtonPosition: {
|
|
72
|
+
position: 'right',
|
|
73
|
+
space: 15,
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
notification: {
|
|
78
|
+
horizontalAlign: DialogHorizontalAlign.RIGHT,
|
|
79
|
+
horizontalOffset: -30,
|
|
80
|
+
verticalAlign: DialogVerticalAlign.BOTTOM,
|
|
81
|
+
verticalOffset: -30,
|
|
82
|
+
container: {
|
|
83
|
+
width: 300,
|
|
84
|
+
height: 40,
|
|
85
|
+
cornerRadius: 5,
|
|
86
|
+
backgroundColor: '333333',
|
|
87
|
+
},
|
|
88
|
+
label: {},
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
toolTip: {
|
|
92
|
+
container: { backgroundColor: '000000', cornerRadius: 5, height: 35 },
|
|
93
|
+
label: {
|
|
94
|
+
fontSize: 13,
|
|
95
|
+
textAlign: 'center',
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import path = require('path');
|
|
2
|
+
import os = require('os');
|
|
3
|
+
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import * as GEReact from '@gorilla-engine-sdk/gorilla-engine-react';
|
|
6
|
+
import { Root } from './app/Root';
|
|
7
|
+
import { ErrorBoundary } from './app/components/ErrorBoundary';
|
|
8
|
+
import {
|
|
9
|
+
SessionAndPresetsConfig,
|
|
10
|
+
SessionAndPresetsDispatchTypes,
|
|
11
|
+
SessionAndPresetsState,
|
|
12
|
+
SessionAndPresetsStateProvider,
|
|
13
|
+
SessionAndPresetsWrapper,
|
|
14
|
+
defaultSessionAndPresetsConfig,
|
|
15
|
+
defaultSessionAndPresetsState,
|
|
16
|
+
useSessionAndPresetsStateDispatch,
|
|
17
|
+
} from '@gorilla-engine-sdk/ge-session-presets-lib';
|
|
18
|
+
import {
|
|
19
|
+
Dialogs,
|
|
20
|
+
DialogsStylesState,
|
|
21
|
+
dialogsDefaultStyle,
|
|
22
|
+
} from '@gorilla-engine-sdk/ge-dialogs-lib';
|
|
23
|
+
import {
|
|
24
|
+
PresetBrowser,
|
|
25
|
+
PresetBrowserConfig,
|
|
26
|
+
PresetBrowserStyle,
|
|
27
|
+
defaultPresetBrowserConfig,
|
|
28
|
+
defaultPresetBrowserStyle,
|
|
29
|
+
} from '@gorilla-engine-sdk/ge-preset-browser';
|
|
30
|
+
|
|
31
|
+
import { DefaultModalProps, DefaultModal, useModal } from '@gorilla-engine-sdk/ge-dialogs-lib';
|
|
32
|
+
|
|
33
|
+
import { BlobManager, loadBlob } from '@gorilla-engine-sdk/ge-blob-manager';
|
|
34
|
+
import { presetBrowserCustomStyle, presetBrowserSaveModalStyle } from './presetBrowserCustomStyle';
|
|
35
|
+
import { dialogsCustomStyle } from './dialogsCustomStyle';
|
|
36
|
+
|
|
37
|
+
const PLUGIN_WIDTH: number = 920;
|
|
38
|
+
const PLUGIN_HEIGHT: number = 590;
|
|
39
|
+
|
|
40
|
+
const MANUFACTURER: string = GorillaEngine.getManufacturerName();
|
|
41
|
+
const PLUGINNAME = GorillaEngine.getPluginName();
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Factory Preset location
|
|
45
|
+
*/
|
|
46
|
+
const FACTORY_PRESET_LOCATION: string = path.resolve(
|
|
47
|
+
GorillaEngine.getResourcePath(),
|
|
48
|
+
'presets',
|
|
49
|
+
'Factory',
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const USER_CONTENT_PATH: string = path.resolve(os.homedir(), 'Documents', MANUFACTURER, PLUGINNAME);
|
|
53
|
+
const USER_PRESET_LOCATION: string = path.resolve(USER_CONTENT_PATH, 'Presets');
|
|
54
|
+
|
|
55
|
+
const dialogsStyle: DialogsStylesState = {
|
|
56
|
+
...dialogsCustomStyle,
|
|
57
|
+
pluginWidth: PLUGIN_WIDTH,
|
|
58
|
+
pluginHeight: PLUGIN_HEIGHT,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* Session Save/Restore & Presets config & content-state
|
|
64
|
+
*
|
|
65
|
+
*/
|
|
66
|
+
const sessionAndPresetsConfiguration: SessionAndPresetsConfig = {
|
|
67
|
+
...defaultSessionAndPresetsConfig,
|
|
68
|
+
|
|
69
|
+
presetFileSuffix: '.preset',
|
|
70
|
+
// Location of factory presets
|
|
71
|
+
factoryPresetPath: FACTORY_PRESET_LOCATION,
|
|
72
|
+
// Location of user presets
|
|
73
|
+
userPresetPath: USER_PRESET_LOCATION,
|
|
74
|
+
|
|
75
|
+
// Factory library display name
|
|
76
|
+
factoryPresetType: 'Factory',
|
|
77
|
+
// User library display name
|
|
78
|
+
userPresetType: 'User',
|
|
79
|
+
|
|
80
|
+
handleErrors: true,
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
const initialSessionAndPresetsState: SessionAndPresetsState = {
|
|
84
|
+
...defaultSessionAndPresetsState,
|
|
85
|
+
instrument: undefined,
|
|
86
|
+
initialPresetPath: path.join(FACTORY_PRESET_LOCATION, 'Category 1', 'Init.preset'),
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Preset Browser Config
|
|
91
|
+
*/
|
|
92
|
+
const presetBrowserConfig: PresetBrowserConfig = {
|
|
93
|
+
...defaultPresetBrowserConfig,
|
|
94
|
+
enforceCategories: true,
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
function Main() {
|
|
98
|
+
const sessionAndPresetStateDispath = useSessionAndPresetsStateDispatch();
|
|
99
|
+
|
|
100
|
+
const [instrument, setInstrument] = React.useState<GorillaEngine.Runtime.Instrument | undefined>(
|
|
101
|
+
undefined,
|
|
102
|
+
);
|
|
103
|
+
const [instrumentLoaded, setInstrumentLoaded] = React.useState(false);
|
|
104
|
+
const [instrumentName, setInstrumentName] = React.useState('');
|
|
105
|
+
let showRelocateTrigger = false;
|
|
106
|
+
// Logic has a different flow since it does not allow a popup if the UI is not visible
|
|
107
|
+
if (GorillaEngine.getHostDescription() == 'Apple Logic') {
|
|
108
|
+
showRelocateTrigger = true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// setup Modal
|
|
112
|
+
const defaultModalProps = {
|
|
113
|
+
width: 400,
|
|
114
|
+
height: 200,
|
|
115
|
+
|
|
116
|
+
title: 'An Error Occured!',
|
|
117
|
+
message: 'Error message',
|
|
118
|
+
|
|
119
|
+
cancelTrigger: showRelocateTrigger,
|
|
120
|
+
cancelTriggerLabel: 'Locate',
|
|
121
|
+
onCancelTrigger: onLocate,
|
|
122
|
+
approveTrigger: false,
|
|
123
|
+
closeTrigger: false,
|
|
124
|
+
};
|
|
125
|
+
const [modalProps, setModalProps] = React.useState<DefaultModalProps>({
|
|
126
|
+
...defaultModalProps,
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
const modalPropsRef = React.useRef(modalProps);
|
|
130
|
+
modalPropsRef.current = modalProps;
|
|
131
|
+
|
|
132
|
+
const [showModal, hideModal] = useModal(
|
|
133
|
+
() => <DefaultModal {...modalPropsRef.current} />,
|
|
134
|
+
[true, false],
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
async function onLocate() {
|
|
138
|
+
hideModal();
|
|
139
|
+
loadBlob({
|
|
140
|
+
pluginName: GorillaEngine.getPluginName(),
|
|
141
|
+
blobName: PLUGINNAME,
|
|
142
|
+
defaultBlobPath: path.join(GorillaEngine.getResourcePath(), 'assets', 'instruments'),
|
|
143
|
+
manufacturerName: GorillaEngine.getManufacturerName(),
|
|
144
|
+
onErrorLoadingInstrument: onErrorLoadingInstrument,
|
|
145
|
+
onInstrumentLoaded: onInstrumentLoaded,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Callback when the BlobManager finds the blob and loads the instrument successfully
|
|
150
|
+
const onInstrumentLoaded = (instrument: GorillaEngine.Instrument, instrumentName: string) => {
|
|
151
|
+
const runtimeInstrument = instrument as GorillaEngine.Runtime.Instrument;
|
|
152
|
+
setInstrument(runtimeInstrument);
|
|
153
|
+
setInstrumentName(instrumentName);
|
|
154
|
+
setInstrumentLoaded(true);
|
|
155
|
+
|
|
156
|
+
// Enable MIDI processing
|
|
157
|
+
GorillaEngine.getPluginMM(true);
|
|
158
|
+
|
|
159
|
+
// Enable audio processing
|
|
160
|
+
GorillaEngine.getPluginAE(true);
|
|
161
|
+
|
|
162
|
+
sessionAndPresetStateDispath({
|
|
163
|
+
type: SessionAndPresetsDispatchTypes.setInstrument,
|
|
164
|
+
payload: {
|
|
165
|
+
instrument: instrument,
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// Callback when the BlobManager cannot locate the blob
|
|
171
|
+
const onErrorLoadingInstrument = (errorMessage: string) => {
|
|
172
|
+
setModalProps({
|
|
173
|
+
...defaultModalProps,
|
|
174
|
+
title: 'Error Loading Blob',
|
|
175
|
+
message: errorMessage,
|
|
176
|
+
});
|
|
177
|
+
showModal();
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
return (
|
|
181
|
+
<>
|
|
182
|
+
<BlobManager
|
|
183
|
+
pluginName={GorillaEngine.getPluginName()}
|
|
184
|
+
blobName={PLUGINNAME}
|
|
185
|
+
defaultBlobPath={path.join(GorillaEngine.getResourcePath(), 'assets', 'instruments')}
|
|
186
|
+
manufacturerName={GorillaEngine.getManufacturerName()}
|
|
187
|
+
onErrorLoadingInstrument={onErrorLoadingInstrument}
|
|
188
|
+
onInstrumentLoaded={onInstrumentLoaded}
|
|
189
|
+
/>
|
|
190
|
+
{instrumentLoaded && <Root instrument={instrument} instrumentName={instrumentName} />}
|
|
191
|
+
</>
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
GEReact.createUI(
|
|
196
|
+
<React.StrictMode>
|
|
197
|
+
<ErrorBoundary>
|
|
198
|
+
<SessionAndPresetsStateProvider
|
|
199
|
+
config={sessionAndPresetsConfiguration}
|
|
200
|
+
state={initialSessionAndPresetsState}
|
|
201
|
+
>
|
|
202
|
+
<Dialogs styleState={dialogsStyle}>
|
|
203
|
+
<SessionAndPresetsWrapper>
|
|
204
|
+
<Main />
|
|
205
|
+
<PresetBrowser
|
|
206
|
+
config={presetBrowserConfig}
|
|
207
|
+
browserStyle={presetBrowserCustomStyle}
|
|
208
|
+
saveModalStyle={presetBrowserSaveModalStyle}
|
|
209
|
+
/>
|
|
210
|
+
</SessionAndPresetsWrapper>
|
|
211
|
+
</Dialogs>
|
|
212
|
+
</SessionAndPresetsStateProvider>
|
|
213
|
+
</ErrorBoundary>
|
|
214
|
+
</React.StrictMode>,
|
|
215
|
+
PLUGIN_WIDTH,
|
|
216
|
+
PLUGIN_HEIGHT,
|
|
217
|
+
);
|
package/generator-gorilla-engine-plugin/app/templates/basic-synth/src/presetBrowserCustomStyle.ts
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { PresetBrowserSaveModalStyle, PresetBrowserStyle } from '@gorilla-engine-sdk/ge-preset-browser'
|
|
2
|
+
|
|
3
|
+
export const presetBrowserSaveModalStyle: PresetBrowserSaveModalStyle = {
|
|
4
|
+
fileNameLabel: {
|
|
5
|
+
textColor: 'E1E6F5',
|
|
6
|
+
font: 'fonts/Roboto-Medium.otf',
|
|
7
|
+
fontSize: 14,
|
|
8
|
+
},
|
|
9
|
+
fileNameInput: {
|
|
10
|
+
backgroundColor: '1d2029',
|
|
11
|
+
textColor: 'E1E6F5',
|
|
12
|
+
font: 'fonts/Roboto-Regular.otf',
|
|
13
|
+
fontSize: 14,
|
|
14
|
+
caretColor: 'E1E6F5',
|
|
15
|
+
},
|
|
16
|
+
categoryLabel: {
|
|
17
|
+
textColor: 'E1E6F5',
|
|
18
|
+
font: 'fonts/Roboto-Medium.otf',
|
|
19
|
+
fontSize: 14,
|
|
20
|
+
},
|
|
21
|
+
categoryComboBox: {
|
|
22
|
+
backgroundColor: '1d2029',
|
|
23
|
+
textColor: 'E1E6F5',
|
|
24
|
+
font: 'fonts/Roboto-Medium.otf',
|
|
25
|
+
fontSize: 14,
|
|
26
|
+
popup: {
|
|
27
|
+
backgroundColor: '1d2029',
|
|
28
|
+
itemTextColor: 'E1E6F5',
|
|
29
|
+
itemSelectedTextColor: 'E1E6F5',
|
|
30
|
+
itemHighlightedTextColor: 'E1E6F5',
|
|
31
|
+
itemSelectedBackgroundColor: '282c34',
|
|
32
|
+
itemHighlightedBackgroundColor: '5177E0',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const presetBrowserCustomStyle: PresetBrowserStyle = {
|
|
38
|
+
container: {
|
|
39
|
+
x: 57,
|
|
40
|
+
y: 25,
|
|
41
|
+
width: 300,
|
|
42
|
+
height: 100,
|
|
43
|
+
backgroundColor: '2F323D',
|
|
44
|
+
interceptsMouseClicks: false,
|
|
45
|
+
},
|
|
46
|
+
comboBox: {
|
|
47
|
+
x: 0,
|
|
48
|
+
y: 0,
|
|
49
|
+
width: 200,
|
|
50
|
+
height: 30,
|
|
51
|
+
backgroundColor: '1d2029',
|
|
52
|
+
font: "fonts/Roboto-Medium.otf",
|
|
53
|
+
textColor: 'E1E6F5',
|
|
54
|
+
padding: 7,
|
|
55
|
+
levelSeperator: '|',
|
|
56
|
+
fontSize: 18,
|
|
57
|
+
textAlign: "center",
|
|
58
|
+
popup: {
|
|
59
|
+
backgroundColor: "1d2029",
|
|
60
|
+
itemTextColor: "E1E6F5",
|
|
61
|
+
itemSelectedTextColor: "E1E6F5",
|
|
62
|
+
itemHighlightedTextColor: "E1E6F5",
|
|
63
|
+
itemSelectedBackgroundColor: "282c34",
|
|
64
|
+
itemHighlightedBackgroundColor: "5177E0",
|
|
65
|
+
separatorHeight: 0,
|
|
66
|
+
separatorPadding: 0,
|
|
67
|
+
padding: { left: 16, top: 0, right: 0, bottom: 0 },
|
|
68
|
+
},
|
|
69
|
+
images: {
|
|
70
|
+
arrowIcon: "images/transparent.png",
|
|
71
|
+
popupCheckmarkHighlightedImage: "images/transparent.png",
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
prevButton: {
|
|
75
|
+
x: 205,
|
|
76
|
+
y: 0,
|
|
77
|
+
width: 30,
|
|
78
|
+
height: 30,
|
|
79
|
+
backgroundColor: '21242E',
|
|
80
|
+
textColor: 'E1E6F5',
|
|
81
|
+
font: "fonts/Roboto-Medium.otf",
|
|
82
|
+
text: '<',
|
|
83
|
+
},
|
|
84
|
+
nextButton: {
|
|
85
|
+
x: 235,
|
|
86
|
+
y: 0,
|
|
87
|
+
width: 30,
|
|
88
|
+
height: 30,
|
|
89
|
+
backgroundColor: '21242E',
|
|
90
|
+
textColor: 'E1E6F5',
|
|
91
|
+
font: "fonts/Roboto-Medium.otf",
|
|
92
|
+
text: '>',
|
|
93
|
+
},
|
|
94
|
+
deleteButton: {
|
|
95
|
+
x: 0,
|
|
96
|
+
y: 35,
|
|
97
|
+
width: 85,
|
|
98
|
+
height: 25,
|
|
99
|
+
backgroundColor: '21242E',
|
|
100
|
+
textColor: 'E1E6F5',
|
|
101
|
+
font: "fonts/Roboto-Medium.otf",
|
|
102
|
+
text: 'Delete',
|
|
103
|
+
},
|
|
104
|
+
saveButton: {
|
|
105
|
+
x: 90,
|
|
106
|
+
y: 35,
|
|
107
|
+
width: 85,
|
|
108
|
+
height: 25,
|
|
109
|
+
backgroundColor: '21242E',
|
|
110
|
+
textColor: 'E1E6F5',
|
|
111
|
+
font: "fonts/Roboto-Medium.otf",
|
|
112
|
+
text: 'Save',
|
|
113
|
+
},
|
|
114
|
+
saveAsButton: {
|
|
115
|
+
x: 180,
|
|
116
|
+
y: 35,
|
|
117
|
+
width: 85,
|
|
118
|
+
height: 25,
|
|
119
|
+
backgroundColor: '21242E',
|
|
120
|
+
textColor: 'E1E6F5',
|
|
121
|
+
font: "fonts/Roboto-Medium.otf",
|
|
122
|
+
text: 'Save As',
|
|
123
|
+
},
|
|
124
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "v3.3.0-beta8",
|
|
3
|
+
"ymlFiles": [],
|
|
4
|
+
"scriptFiles": [
|
|
5
|
+
{
|
|
6
|
+
"name": "<%= plugin_name %>.js",
|
|
7
|
+
"path": "esbuild/<%= plugin_name %>.js",
|
|
8
|
+
"entryPoint": "yes"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"sharedFiles": [],
|
|
12
|
+
"blobFiles": [],
|
|
13
|
+
"assetFiles": [
|
|
14
|
+
{
|
|
15
|
+
"name": "fonts",
|
|
16
|
+
"path": "assets/fonts"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "images",
|
|
20
|
+
"path": "assets/images"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "instruments",
|
|
24
|
+
"path": "assets/instruments"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"iconFiles": [],
|
|
28
|
+
"nodeModules": [],
|
|
29
|
+
"nativePlugins": [],
|
|
30
|
+
"presets": [
|
|
31
|
+
{
|
|
32
|
+
"name": "factory",
|
|
33
|
+
"path": "assets/Presets/Factory"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"nks": {
|
|
37
|
+
"xmlDefinition": [],
|
|
38
|
+
"presets": [],
|
|
39
|
+
"instrumentPlist": [],
|
|
40
|
+
"databaseFiles": [],
|
|
41
|
+
"images": []
|
|
42
|
+
},
|
|
43
|
+
"scriptEntryPoint": {
|
|
44
|
+
"name": "<%= plugin_name %>.js",
|
|
45
|
+
"path": "esbuild/<%= plugin_name %>.js",
|
|
46
|
+
"entryPoint": "yes"
|
|
47
|
+
},
|
|
48
|
+
"ymlEntryPoint": null,
|
|
49
|
+
"blobEntryPoint": null,
|
|
50
|
+
"projectFileDir": "",
|
|
51
|
+
"projectFileName": "<%= plugin_name %>.ugep",
|
|
52
|
+
"projectName": "<%= plugin_name %>",
|
|
53
|
+
"installerScripts": {
|
|
54
|
+
"pre": {
|
|
55
|
+
"mac": "",
|
|
56
|
+
"windows": ""
|
|
57
|
+
},
|
|
58
|
+
"post": {
|
|
59
|
+
"mac": "",
|
|
60
|
+
"windows": "@echo off\r\nsetlocal\r\nset \"DESTINATION_DIR=%ProgramData%\\<%= manufacturer_name %>\\<%= plugin_name %>\\scripts\"\r\nset \"DESTINATION=%DESTINATION_DIR%\\credman.ps1\"\r\nif not exist \"%DESTINATION_DIR%\" mkdir \"%DESTINATION_DIR%\"\r\nif errorlevel 1 exit /b 1\r\n>\"%DESTINATION%\" echo if ^(-not ^([System.Management.Automation.PSTypeName]'CredMan.CredentialManager'^).Type^) ^{\r\n>>\"%DESTINATION%\" echo Add-Type -TypeDefinition @'\r\n>>\"%DESTINATION%\" echo using System;\r\n>>\"%DESTINATION%\" echo using System.Runtime.InteropServices;\r\n>>\"%DESTINATION%\" echo.\r\n>>\"%DESTINATION%\" echo namespace CredMan ^{\r\n>>\"%DESTINATION%\" echo public static class CredentialManager ^{\r\n>>\"%DESTINATION%\" echo [StructLayout^(LayoutKind.Sequential, CharSet = CharSet.Unicode^)]\r\n>>\"%DESTINATION%\" echo public struct CREDENTIAL ^{\r\n>>\"%DESTINATION%\" echo public uint Flags;\r\n>>\"%DESTINATION%\" echo public uint Type;\r\n>>\"%DESTINATION%\" echo public string TargetName;\r\n>>\"%DESTINATION%\" echo public string Comment;\r\n>>\"%DESTINATION%\" echo public System.Runtime.InteropServices.ComTypes.FILETIME LastWritten;\r\n>>\"%DESTINATION%\" echo public uint CredentialBlobSize;\r\n>>\"%DESTINATION%\" echo public IntPtr CredentialBlob;\r\n>>\"%DESTINATION%\" echo public uint Persist;\r\n>>\"%DESTINATION%\" echo public uint AttributeCount;\r\n>>\"%DESTINATION%\" echo public IntPtr Attributes;\r\n>>\"%DESTINATION%\" echo public string TargetAlias;\r\n>>\"%DESTINATION%\" echo public string UserName;\r\n>>\"%DESTINATION%\" echo ^}\r\n>>\"%DESTINATION%\" echo.\r\n>>\"%DESTINATION%\" echo [DllImport^(\"Advapi32.dll\", EntryPoint = \"CredReadW\", CharSet = CharSet.Unicode, SetLastError = true^)]\r\n>>\"%DESTINATION%\" echo public static extern bool CredRead^(string target, uint type, uint flags, out IntPtr credentialPtr^);\r\n>>\"%DESTINATION%\" echo.\r\n>>\"%DESTINATION%\" echo [DllImport^(\"Advapi32.dll\", EntryPoint = \"CredWriteW\", CharSet = CharSet.Unicode, SetLastError = true^)]\r\n>>\"%DESTINATION%\" echo public static extern bool CredWrite^(ref CREDENTIAL credential, uint flags^);\r\n>>\"%DESTINATION%\" echo.\r\n>>\"%DESTINATION%\" echo [DllImport^(\"Advapi32.dll\", EntryPoint = \"CredDeleteW\", CharSet = CharSet.Unicode, SetLastError = true^)]\r\n>>\"%DESTINATION%\" echo public static extern bool CredDelete^(string target, uint type, uint flags^);\r\n>>\"%DESTINATION%\" echo.\r\n>>\"%DESTINATION%\" echo [DllImport^(\"Advapi32.dll\", SetLastError = true^)]\r\n>>\"%DESTINATION%\" echo public static extern void CredFree^(IntPtr buffer^);\r\n>>\"%DESTINATION%\" echo ^}\r\n>>\"%DESTINATION%\" echo ^}\r\n>>\"%DESTINATION%\" echo '@\r\n>>\"%DESTINATION%\" echo ^}\r\nif errorlevel 1 exit /b 1\r\nif not exist \"%DESTINATION%\" exit /b 1\r\necho Installed Product Hub credential bootstrap: \"%DESTINATION%\"\r\nexit /b 0"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"license": {
|
|
64
|
+
"contents": "",
|
|
65
|
+
"path": "licence.txt",
|
|
66
|
+
"mime": "",
|
|
67
|
+
"isFile": true
|
|
68
|
+
},
|
|
69
|
+
"signing": {
|
|
70
|
+
"enabled": false,
|
|
71
|
+
"identity": "",
|
|
72
|
+
"pathToKeychain": "",
|
|
73
|
+
"keychainPassword": "",
|
|
74
|
+
"applicationIdentity": "",
|
|
75
|
+
"certificatePath": "",
|
|
76
|
+
"certificatePassword": "",
|
|
77
|
+
"timestampServer": "http://timestamp.digicert.com"
|
|
78
|
+
},
|
|
79
|
+
"notarization": {
|
|
80
|
+
"enabled": false,
|
|
81
|
+
"username": "",
|
|
82
|
+
"password": "",
|
|
83
|
+
"teamID": ""
|
|
84
|
+
},
|
|
85
|
+
"enabledNodeNativeModules": [
|
|
86
|
+
"writesmf",
|
|
87
|
+
"hwfp"
|
|
88
|
+
],
|
|
89
|
+
"pluginConfig": {
|
|
90
|
+
"buildAAX": true,
|
|
91
|
+
"buildVST": true,
|
|
92
|
+
"buildVST3": true,
|
|
93
|
+
"buildAU": true,
|
|
94
|
+
"buildStandalone": true,
|
|
95
|
+
"isEffect": <%= is_effect %>,
|
|
96
|
+
"supportsMPE": false,
|
|
97
|
+
"hasMidiInput": <%= !is_effect %>,
|
|
98
|
+
"hasMidiOutput": false,
|
|
99
|
+
"canRelocateBlob": false,
|
|
100
|
+
"macInstallerDiskImage": false,
|
|
101
|
+
"createVendorSubdirOnWindows": true,
|
|
102
|
+
"iaaName": "<%= manufacturer_name %>: <%= plugin_name %>",
|
|
103
|
+
"aaxIdentifier": "com.<%= manufacturer_name_lower_nospaces %>.<%= plugin_name_lower_nospaces %>",
|
|
104
|
+
"cfBundleIdentifier": "com.<%= manufacturer_name_lower_nospaces %>.<%= plugin_name_lower_nospaces %>",
|
|
105
|
+
"auExportPrefixQuoted": "GEShellAU",
|
|
106
|
+
"auExportPrefix": "GEShellAU",
|
|
107
|
+
"versionString": "0.0.1",
|
|
108
|
+
"version": "0.0.1",
|
|
109
|
+
"versionCode": "0x000001",
|
|
110
|
+
"manufacturerCode": "<%= manufacturer_code_hex %>",
|
|
111
|
+
"pluginCode": "<%= plugin_code_hex %>",
|
|
112
|
+
"manufacturerEmail": "support@<%= manufacturer_name_lower_nospaces %>.com",
|
|
113
|
+
"manufacturerWebsite": "www.<%= manufacturer_name_lower_nospaces %>.com",
|
|
114
|
+
"manufacturer": "<%= manufacturer_name %>",
|
|
115
|
+
"desc": "Powered by Gorilla Engine",
|
|
116
|
+
"name": "<%= plugin_name %>",
|
|
117
|
+
"auFourCharPluginCode": "<%= plugin_code %>",
|
|
118
|
+
"auFourCharManufacturerCode": "<%= manufacturer_code %>",
|
|
119
|
+
"appUUID": "<%= app_uuid %>",
|
|
120
|
+
"installerNameTemplate": "{manufacturer} - {name} ({version})",
|
|
121
|
+
"hasSidechain": false,
|
|
122
|
+
"numStereoOuts": 1,
|
|
123
|
+
"numQuadOuts": 0,
|
|
124
|
+
"num51Outs": 0,
|
|
125
|
+
"numAutomatableParams": 100,
|
|
126
|
+
"installerOutputDir": "installer",
|
|
127
|
+
"pageTable": "",
|
|
128
|
+
"midiEnabledOnStartup": true,
|
|
129
|
+
"codemeter": false,
|
|
130
|
+
"codemeterProductCode": 0,
|
|
131
|
+
"codemeterProtectionCode": 0,
|
|
132
|
+
"codemeterTrial": false,
|
|
133
|
+
"codemeterTrialCode": 0,
|
|
134
|
+
"codemeterTrialDays": 30,
|
|
135
|
+
"codemeterExpansionsEncryptionSeed": "00000000000000000000000000000000",
|
|
136
|
+
"audioEnabledOnStartup": true,
|
|
137
|
+
"contentEncryptionEnabled": true,
|
|
138
|
+
"contentEncryptionKey": "<%= content_encryption_key %>",
|
|
139
|
+
"eula": "Your license agreement goes here. Either as text or as a rich text file.",
|
|
140
|
+
"experimentalDebuggerSupport": true
|
|
141
|
+
},
|
|
142
|
+
"paceConfig": {
|
|
143
|
+
"wraptoolPathMacOs": "/Applications/PACEAntiPiracy/Eden/Fusion/Current/bin/wraptool",
|
|
144
|
+
"wraptoolPathWindows": "C:\\Program Files (x86)\\PACEAntiPiracy\\Eden\\Fusion\\Versions\\5\\wraptool.exe",
|
|
145
|
+
"iLokToolPathMacOs": "/usr/local/bin/iloktool",
|
|
146
|
+
"iLokToolPathWindows": "C:\\Program Files (x86)\\iLok License Manager\\iloktool.exe",
|
|
147
|
+
"wraptoolLicenseInCloud": true,
|
|
148
|
+
"command": "sign",
|
|
149
|
+
"iLokAccountNameMacOs": "",
|
|
150
|
+
"iLokAccountNameWindows": "",
|
|
151
|
+
"iLokAccountPasswordMacOs": "",
|
|
152
|
+
"iLokAccountPasswordWindows": "",
|
|
153
|
+
"wrapConfigUuid": "",
|
|
154
|
+
"keyFilePath": "",
|
|
155
|
+
"keyFilePassword": "",
|
|
156
|
+
"signID": "",
|
|
157
|
+
"pathToKeychain": "",
|
|
158
|
+
"keychainPassword": "",
|
|
159
|
+
"loginKeychainPassword": "",
|
|
160
|
+
"enabled": true,
|
|
161
|
+
"iLokAccountName": "",
|
|
162
|
+
"iLokAccountPassword": ""
|
|
163
|
+
},
|
|
164
|
+
"producthubConfig": {
|
|
165
|
+
"uploadEnabled": false,
|
|
166
|
+
"downloaderEnabled": false,
|
|
167
|
+
"productId": ""
|
|
168
|
+
},
|
|
169
|
+
"createZipPackage": false,
|
|
170
|
+
"includeBinariesInZip": false,
|
|
171
|
+
"session": null,
|
|
172
|
+
"engineSourceDir": "submodules/ge-shell"
|
|
173
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"general":{"pluginVersion":"3.2.7","buildNumber":"manual","manufacturer":"Gorilla Engine","pluginName":"React FX Reverb","date":"2026-05-05T10:48:21.570Z"},"dsp_settings":[{"key":"reverb_predelay","controlType":"default","normValue":0,"value":0,"valueText":"0.00 ms","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_time","controlType":"default","normValue":0,"value":0,"valueText":"0.10 s","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_dry_wet","controlType":"default","normValue":0,"value":0,"valueText":"0 %","maxValue":100,"minValue":0,"resolution":0}]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"general":{"pluginVersion":"3.2.7","buildNumber":"manual","manufacturer":"Gorilla Engine","pluginName":"React FX Reverb","date":"2026-05-05T10:48:47.452Z"},"dsp_settings":[{"key":"reverb_predelay","controlType":"default","normValue":0.4985937476158142,"value":0.4985937476158142,"valueText":"49.72 ms","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_time","controlType":"default","normValue":0.5041718482971191,"value":0.5041718482971191,"valueText":"2.52 s","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_dry_wet","controlType":"default","normValue":0.4978281259536743,"value":49.78281259536743,"valueText":"50 %","maxValue":100,"minValue":0,"resolution":0}]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"general":{"pluginVersion":"3.2.7","buildNumber":"manual","manufacturer":"Gorilla Engine","pluginName":"React FX Reverb","date":"2026-05-05T10:49:08.687Z"},"dsp_settings":[{"key":"reverb_predelay","controlType":"default","normValue":0.8357187509536743,"value":0.8357187509536743,"valueText":"139.7 ms","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_time","controlType":"default","normValue":0.8329999446868896,"value":0.8329999446868896,"valueText":"20.62 s","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_dry_wet","controlType":"default","normValue":0.826953113079071,"value":82.6953113079071,"valueText":"83 %","maxValue":100,"minValue":0,"resolution":0}]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"general":{"pluginVersion":"3.2.7","buildNumber":"manual","manufacturer":"Gorilla Engine","pluginName":"React FX Reverb","date":"2026-05-05T10:49:27.327Z"},"dsp_settings":[{"key":"reverb_predelay","controlType":"default","normValue":1,"value":1,"valueText":"200.0 ms","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_time","controlType":"default","normValue":1,"value":1,"valueText":"60.00 s","maxValue":1,"minValue":0,"resolution":0},{"key":"reverb_dry_wet","controlType":"default","normValue":1,"value":100,"valueText":"100 %","maxValue":100,"minValue":0,"resolution":0}]}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
280bce03-9588-41a9-8d09-7c7a702dc722
|