v1.2.39 experimental
This commit is contained in:
+54
-137
@@ -21,9 +21,57 @@ add_custom_command(
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/react
|
||||
|
||||
DEPENDS
|
||||
src/SelectThemeDialog.tsx
|
||||
src/OkCancelDialog.tsx
|
||||
src/PluginControl.tsx
|
||||
src/svg/ic_save_bank_as.svg
|
||||
src/svg/fx_constant.svg
|
||||
src/svg/fx_distortion.svg
|
||||
src/svg/ic_help_outline.svg
|
||||
src/svg/fx_oscillator.svg
|
||||
src/svg/fx_filter.svg
|
||||
src/svg/fx_function.svg
|
||||
src/svg/fx_generator.svg
|
||||
src/svg/fx_compressor.svg
|
||||
src/svg/file_download_black_24dp.svg
|
||||
src/svg/fx_filter_hp.svg
|
||||
src/svg/fx_plugin.svg
|
||||
src/svg/fx_error.svg
|
||||
src/svg/fx_gate.svg
|
||||
src/svg/ic_midi.svg
|
||||
src/svg/ic_pluginpreset.svg
|
||||
src/svg/fx_split_a.svg
|
||||
src/svg/fx_utility.svg
|
||||
src/svg/ic_pluginpreset2.svg
|
||||
src/svg/fx_parametric_eq.svg
|
||||
src/svg/fx_terminal.svg
|
||||
src/svg/ic_presets.svg
|
||||
src/svg/fx_flanger.svg
|
||||
src/svg/fx_analyzer.svg
|
||||
src/svg/fx_delay.svg
|
||||
src/svg/fx_spectral.svg
|
||||
src/svg/fx_chorus.svg
|
||||
src/svg/fx_simulator.svg
|
||||
src/svg/drive_file_rename_outline_black_24dp.svg
|
||||
src/svg/fx_mixer.svg
|
||||
src/svg/fx_eq.svg
|
||||
src/svg/fx_modulator.svg
|
||||
src/svg/file_upload_black_24dp.svg
|
||||
src/svg/fx_pitch.svg
|
||||
src/svg/fx_phaser.svg
|
||||
src/svg/fx_amplifier.svg
|
||||
src/svg/fx_lr.svg
|
||||
src/svg/fx_instrument.svg
|
||||
src/svg/fx_reverb.svg
|
||||
src/svg/ic_edit_banks.svg
|
||||
src/svg/fx_limiter.svg
|
||||
src/svg/fx_empty.svg
|
||||
src/svg/fx_dial.svg
|
||||
src/svg/fx_flanger2.svg
|
||||
src/svg/fx_split_b.svg
|
||||
src/svg/fx_spatial.svg
|
||||
src/svg/fx_converter.svg
|
||||
src/svg/old_delete_outline_24dp.svg
|
||||
src/svg/ic_settings.svg
|
||||
src/reportWebVitals.ts
|
||||
src/JackHostStatus.tsx
|
||||
src/PluginPresetsDialog.tsx
|
||||
@@ -39,6 +87,7 @@ add_custom_command(
|
||||
src/StringBuilder.tsx
|
||||
src/FilePropertyDialog.tsx
|
||||
src/GxTunerControl.tsx
|
||||
src/DarkMode.tsx
|
||||
src/App.tsx
|
||||
src/GxTunerView.tsx
|
||||
src/Rect.tsx
|
||||
@@ -66,12 +115,14 @@ add_custom_command(
|
||||
src/ToobPowerStage2View.tsx
|
||||
src/ListSelectDialog.tsx
|
||||
src/ToobWaveShapeView.tsx
|
||||
src/SelectThemeDialog.tsx
|
||||
src/PluginInfoDialog.tsx
|
||||
src/SearchFilter.tsx
|
||||
src/SearchControl.tsx
|
||||
src/JackServerSettings.tsx
|
||||
src/WifiChannel.tsx
|
||||
src/WifiConfigDialog.tsx
|
||||
src/FilePropertyDirectoryTree.tsx
|
||||
src/App.test.tsx
|
||||
src/PluginPresetSelector.tsx
|
||||
src/ObservableProperty.tsx
|
||||
@@ -97,6 +148,7 @@ add_custom_command(
|
||||
src/AlsaMidiDeviceInfo.tsx
|
||||
src/ResizeResponsiveComponent.tsx
|
||||
src/RenameDialog.tsx
|
||||
src/FilePropertyDirectorySelectDialog.tsx
|
||||
src/SystemMidiBindingView.tsx
|
||||
src/OldDeleteIcon.tsx
|
||||
src/ToobInputStageView.tsx
|
||||
@@ -122,142 +174,7 @@ add_custom_command(
|
||||
src/MidiBindingView.tsx
|
||||
src/PluginIcon.tsx
|
||||
src/UploadFileDialog.tsx
|
||||
|
||||
public/css/roboto.css
|
||||
public/logo192x.png
|
||||
public/robots.txt
|
||||
public/img/ic_drawer_2.png
|
||||
public/img/fx_constant.svg
|
||||
public/img/ic_presets_white.svg
|
||||
public/img/cx_mono.svg
|
||||
public/img/cx_stereo.svg
|
||||
public/img/fx_distortion.svg
|
||||
public/img/Pi-Logo-3.png
|
||||
public/img/fx_oscillator.svg
|
||||
src/svg/ic_save_bank_as.svg
|
||||
src/svg/ic_edit_banks.svg
|
||||
src/svg/ic_settings.svg
|
||||
public/img/fx_filter.svg
|
||||
public/img/delete_outline_black_24dp.svg
|
||||
public/img/fx_function.svg
|
||||
public/img/fx_generator.svg
|
||||
public/img/old_delete_outline_black_24dp.svg
|
||||
public/img/ic_bank.svg
|
||||
public/img/fx_compressor.svg
|
||||
public/img/fx_filter_hp.svg
|
||||
public/img/fx_plugin.svg
|
||||
public/img/fx_error.svg
|
||||
public/img/fx_gate.svg
|
||||
public/img/cc-by.png
|
||||
public/img/fx_split_a.svg
|
||||
public/img/fx_utility.svg
|
||||
src/svg/ic_help_outline.svg
|
||||
public/img/ic_navigate_before.svg
|
||||
public/img/ic_drawer_2.svg
|
||||
public/img/fx_parametric_eq.svg
|
||||
public/img/fx_terminal.svg
|
||||
public/img/ic_presets.svg
|
||||
public/img/VST_Logo_Steinberg.ico
|
||||
public/img/fx_flanger.svg
|
||||
public/img/fx_analyzer.svg
|
||||
public/img/fx_delay.svg
|
||||
public/img/fx_spectral.svg
|
||||
public/img/fx_chorus.svg
|
||||
public/img/fx_simulator.svg
|
||||
public/img/fx_mixer.svg
|
||||
public/img/fx_eq.svg
|
||||
public/img/fx_modulator.svg
|
||||
public/img/fx_pitch.svg
|
||||
public/img/ic_navigate_next.svg
|
||||
public/img/fx_phaser.svg
|
||||
public/img/ic_drawer.svg
|
||||
public/img/fx_amplifier.svg
|
||||
public/img/fx_lr.svg
|
||||
public/img/fx_instrument.svg
|
||||
public/img/Pi-Logo-3.svg
|
||||
public/img/fx_reverb.svg
|
||||
public/img/fx_limiter.svg
|
||||
public/img/VST_Logo_Steinberg.png
|
||||
public/img/fx_empty.svg
|
||||
public/img/fx_dial.svg
|
||||
public/img/ic_logo.svg
|
||||
public/img/fx_flanger2.svg
|
||||
public/img/old_delete_outline_white_24dp.svg
|
||||
public/img/fx_split_b.svg
|
||||
public/img/fx_spatial.svg
|
||||
public/img/fx_converter.svg
|
||||
public/img/vst.svg
|
||||
public/img/vst.png
|
||||
public/sample_lv2_plugins.json
|
||||
public/serve.json
|
||||
public/fonts/Roboto-LightItalic.woff2
|
||||
public/fonts/Roboto-Light.woff2
|
||||
public/fonts/Roboto-BlackItalic.woff2
|
||||
public/fonts/Roboto-ThinItalic.woff2
|
||||
public/fonts/Roboto-Bold.woff2
|
||||
public/fonts/Roboto-Italic.woff2
|
||||
public/fonts/Roboto-Black.woff2
|
||||
public/fonts/Roboto-BoldItalic.woff2
|
||||
public/fonts/Roboto-Regular.woff2
|
||||
public/fonts/Roboto-Medium.woff2
|
||||
public/fonts/Roboto-Thin.woff2
|
||||
public/fonts/LICENSE.txt
|
||||
public/fonts/Roboto-MediumItalic.woff2
|
||||
public/favicon.ico
|
||||
public/iso_codes.json
|
||||
public/logo192.png
|
||||
public/logo512.png
|
||||
public/index.html
|
||||
public/manifest.json
|
||||
public/var/config.json
|
||||
public/var/current_pedalboard.json
|
||||
public/var/uiplugins.json
|
||||
public/var/plugin_classes.json
|
||||
src/svg/fx_constant.svg
|
||||
src/svg/fx_distortion.svg
|
||||
src/svg/fx_oscillator.svg
|
||||
src/svg/fx_filter.svg
|
||||
src/svg/fx_function.svg
|
||||
src/svg/fx_generator.svg
|
||||
src/svg/fx_compressor.svg
|
||||
src/svg/file_download_black_24dp.svg
|
||||
src/svg/fx_filter_hp.svg
|
||||
src/svg/fx_plugin.svg
|
||||
src/svg/fx_error.svg
|
||||
src/svg/fx_gate.svg
|
||||
src/svg/ic_midi.svg
|
||||
src/svg/ic_pluginpreset.svg
|
||||
src/svg/fx_split_a.svg
|
||||
src/svg/fx_utility.svg
|
||||
src/svg/ic_pluginpreset2.svg
|
||||
src/svg/fx_parametric_eq.svg
|
||||
src/svg/fx_terminal.svg
|
||||
src/svg/ic_presets.svg
|
||||
src/svg/fx_flanger.svg
|
||||
src/svg/fx_analyzer.svg
|
||||
src/svg/fx_delay.svg
|
||||
src/svg/fx_spectral.svg
|
||||
src/svg/fx_chorus.svg
|
||||
src/svg/fx_simulator.svg
|
||||
src/svg/fx_mixer.svg
|
||||
src/svg/fx_eq.svg
|
||||
src/svg/fx_modulator.svg
|
||||
src/svg/file_upload_black_24dp.svg
|
||||
src/svg/fx_pitch.svg
|
||||
src/svg/fx_phaser.svg
|
||||
src/svg/fx_amplifier.svg
|
||||
src/svg/fx_lr.svg
|
||||
src/svg/fx_instrument.svg
|
||||
src/svg/fx_reverb.svg
|
||||
src/svg/fx_limiter.svg
|
||||
src/svg/fx_empty.svg
|
||||
src/svg/fx_dial.svg
|
||||
src/svg/fx_flanger2.svg
|
||||
src/svg/fx_split_b.svg
|
||||
src/svg/fx_spatial.svg
|
||||
src/svg/fx_converter.svg
|
||||
src/svg/old_delete_outline_24dp.svg
|
||||
|
||||
|
||||
)
|
||||
|
||||
add_custom_target (
|
||||
|
||||
@@ -86,7 +86,7 @@ const pluginGridStyles = (theme: Theme) => createStyles({
|
||||
justifyContent: "space-between",
|
||||
paddingLeft: "24px",
|
||||
paddingRight: "48px",
|
||||
|
||||
|
||||
},
|
||||
paper: {
|
||||
position: "relative",
|
||||
@@ -181,8 +181,7 @@ type PluginGridState = {
|
||||
|
||||
export const LoadPluginDialog =
|
||||
withStyles(pluginGridStyles, { withTheme: true })(
|
||||
class extends ResizeResponsiveComponent<PluginGridProps, PluginGridState>
|
||||
{
|
||||
class extends ResizeResponsiveComponent<PluginGridProps, PluginGridState> {
|
||||
model: PiPedalModel;
|
||||
searchInputRef: React.RefObject<HTMLInputElement>;
|
||||
|
||||
@@ -436,15 +435,15 @@ export const LoadPluginDialog =
|
||||
if (uiPlugin.author_name !== "") {
|
||||
if (uiPlugin.author_homepage !== "") {
|
||||
return (<Fragment>
|
||||
<div style={{flex: "0 1 auto"}}>
|
||||
<div style={{ flex: "0 1 auto" }}>
|
||||
<Typography variant='body2' color="textSecondary" noWrap>{uiPlugin.name + ",\u00A0"}</Typography>
|
||||
</div>
|
||||
<div style={{flex: "0 1 auto"}}>
|
||||
<div style={{ flex: "0 1 auto" }}>
|
||||
<a href={uiPlugin.author_homepage} target="_blank" rel="noopener noreferrer" >
|
||||
<Typography variant='body2' color="textSecondary" noWrap>{uiPlugin.author_name}</Typography>
|
||||
</a>
|
||||
</div>
|
||||
<div style={{flex: "0 0 auto"}}>
|
||||
<div style={{ flex: "0 0 auto" }}>
|
||||
<Typography variant='body2' color="textSecondary" noWrap>{stereoIndicator}</Typography>
|
||||
</div>
|
||||
</Fragment>);
|
||||
@@ -482,55 +481,59 @@ export const LoadPluginDialog =
|
||||
|
||||
}
|
||||
getFilteredPlugins(searchString: string | null, filterType: PluginType | null, favoritesList: FavoritesList | null): UiPlugin[] {
|
||||
if (searchString === null) {
|
||||
searchString = this.state.search_string;
|
||||
}
|
||||
if (filterType === null) {
|
||||
filterType = this.state.filterType;
|
||||
}
|
||||
if (favoritesList === null) {
|
||||
favoritesList = this.state.favoritesList;
|
||||
}
|
||||
let plugins = this.model.ui_plugins.get();
|
||||
|
||||
let results: { score: number; plugin: UiPlugin }[] = [];
|
||||
let searchFilter = new SearchFilter(searchString);
|
||||
let rootClass = this.model.plugin_classes.get();
|
||||
|
||||
|
||||
for (let i = 0; i < plugins.length; ++i) {
|
||||
let plugin = plugins[i];
|
||||
try {
|
||||
if (filterType === PluginType.Plugin || rootClass.is_type_of(filterType, plugin.plugin_type)) {
|
||||
let score: number = 0;
|
||||
if (plugin.is_vst3) {
|
||||
score = searchFilter.score(plugin.name, plugin.plugin_display_type, plugin.author_name, "vst3");
|
||||
} else {
|
||||
score = searchFilter.score(plugin.name, plugin.plugin_display_type, plugin.author_name);
|
||||
}
|
||||
|
||||
if (score !== 0) {
|
||||
if (favoritesList[plugin.uri]) {
|
||||
score += 32768;
|
||||
}
|
||||
results.push({ score: score, plugin: plugin });
|
||||
}
|
||||
}
|
||||
} catch (e)
|
||||
{
|
||||
alert("Bad plugin:" + (plugin?.name??"null") + " plugin type: " + (plugin?.plugin_type??"null"));
|
||||
try {
|
||||
if (searchString === null) {
|
||||
searchString = this.state.search_string;
|
||||
}
|
||||
if (filterType === null) {
|
||||
filterType = this.state.filterType;
|
||||
}
|
||||
if (favoritesList === null) {
|
||||
favoritesList = this.state.favoritesList;
|
||||
}
|
||||
let plugins = this.model.ui_plugins.get();
|
||||
|
||||
let results: { score: number; plugin: UiPlugin }[] = [];
|
||||
let searchFilter = new SearchFilter(searchString);
|
||||
let rootClass = this.model.plugin_classes.get();
|
||||
|
||||
for (let i = 0; i < plugins.length; ++i) {
|
||||
let plugin = plugins[i];
|
||||
try {
|
||||
if (filterType === PluginType.Plugin || rootClass.is_type_of(filterType, plugin.plugin_type)) {
|
||||
let score: number = 0;
|
||||
if (plugin.is_vst3) {
|
||||
score = searchFilter.score(plugin.name, plugin.plugin_display_type, plugin.author_name, "vst3");
|
||||
} else {
|
||||
score = searchFilter.score(plugin.name, plugin.plugin_display_type, plugin.author_name);
|
||||
}
|
||||
|
||||
if (score !== 0) {
|
||||
if (favoritesList[plugin.uri]) {
|
||||
score += 32768;
|
||||
}
|
||||
results.push({ score: score, plugin: plugin });
|
||||
}
|
||||
}
|
||||
} catch (e: any) {
|
||||
alert("Bad plugin:" + (plugin?.name ?? "null") + " plugin type: " + (plugin?.plugin_type ?? "null"
|
||||
+ " " + e.toString()));
|
||||
}
|
||||
}
|
||||
results.sort((left: { score: number; plugin: UiPlugin }, right: { score: number; plugin: UiPlugin }) => {
|
||||
if (right.score < left.score) return -1;
|
||||
if (right.score > left.score) return 1;
|
||||
return left.plugin.name.localeCompare(right.plugin.name);
|
||||
});
|
||||
let t: UiPlugin[] = [];
|
||||
for (let i = 0; i < results.length; ++i) {
|
||||
t.push(results[i].plugin);
|
||||
}
|
||||
return t;
|
||||
} catch (e: any) {
|
||||
alert("getFilteredPlugins: " + e.toString());
|
||||
throw e;
|
||||
}
|
||||
results.sort((left: { score: number; plugin: UiPlugin }, right: { score: number; plugin: UiPlugin }) => {
|
||||
if (right.score < left.score) return -1;
|
||||
if (right.score > left.score) return 1;
|
||||
return left.plugin.name.localeCompare(right.plugin.name);
|
||||
});
|
||||
let t: UiPlugin[] = [];
|
||||
for (let i = 0; i < results.length; ++i) {
|
||||
t.push(results[i].plugin);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
||||
changedSearchString?: string = undefined;
|
||||
@@ -841,10 +844,10 @@ export const LoadPluginDialog =
|
||||
</IconButton>
|
||||
</div>
|
||||
</div>
|
||||
<div className={classes.bottom} style={{height: 64}}>
|
||||
<div className={classes.bottom} style={{ height: 64 }}>
|
||||
<div style={{ flex: "1 1 1px" }} />
|
||||
<div style={{ position: "relative", flex: "0 1 auto", display: "flex", alignItems: "center" }}>
|
||||
<Button variant="dialogSecondary" onClick={this.handleCancel} style={{ height: 48 }} >Cancel</Button>
|
||||
<Button variant="dialogSecondary" onClick={this.handleCancel} style={{ height: 48 }} >Cancel</Button>
|
||||
<Button variant="dialogPrimary" onClick={this.handleOk} disabled={selectedPlugin === null} style={{ height: 48 }} >SELECT</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -272,7 +272,7 @@ const WifiConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
<Switch
|
||||
checked={this.state.enabled}
|
||||
onChange={(e: any) => this.handleEnableChanged(e)}
|
||||
color="secondary"
|
||||
color="primary"
|
||||
/>
|
||||
)}
|
||||
label="Enable"
|
||||
|
||||
@@ -325,7 +325,7 @@ const WifiDirectConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
<Switch
|
||||
checked={this.state.enabled}
|
||||
onChange={(e: any) => this.handleEnableChanged(e)}
|
||||
color="secondary"
|
||||
color="primary"
|
||||
/>
|
||||
)}
|
||||
label="Wi-Fi Direct Hotspot"
|
||||
|
||||
@@ -44,7 +44,7 @@ const styles = (theme: Theme) => createStyles({
|
||||
transition: theme.transitions.create(['opacity', 'background-color'], {
|
||||
duration: theme.transitions.duration.shortest
|
||||
}),
|
||||
backgroundColor: theme.palette.secondary.main,
|
||||
backgroundColor: theme.palette.primary.main,
|
||||
opacity: theme.palette.mode === 'light' ? 0.38 : 0.3
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ const ZoomedUiControl = withStyles(styles, { withTheme: true })(
|
||||
if (control.isOnOffSwitch()) {
|
||||
// normal gray unchecked state.
|
||||
return (
|
||||
<Switch checked={value !== 0} color="secondary"
|
||||
<Switch checked={value !== 0} color="primary"
|
||||
onChange={(event) => {
|
||||
this.onCheckChanged(event.target.checked);
|
||||
}}
|
||||
@@ -165,14 +165,14 @@ const ZoomedUiControl = withStyles(styles, { withTheme: true })(
|
||||
if (control.isAbToggle()) {
|
||||
// unchecked color is not gray.
|
||||
return (
|
||||
<Switch checked={value !== 0} color="secondary"
|
||||
<Switch checked={value !== 0} color="primary"
|
||||
onChange={(event) => {
|
||||
this.onCheckChanged(event.target.checked);
|
||||
}}
|
||||
classes={{
|
||||
track: this.props.classes.switchTrack
|
||||
}}
|
||||
style={{ color: this.props.theme.palette.secondary.main }}
|
||||
style={{ color: this.props.theme.palette.primary.main }}
|
||||
/>
|
||||
);
|
||||
} else {
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
src/svg/
|
||||
src/svg/fx_constant.svg
|
||||
src/svg/fx_distortion.svg
|
||||
src/svg/fx_oscillator.svg
|
||||
src/svg/fx_filter.svg
|
||||
src/svg/fx_function.svg
|
||||
src/svg/fx_generator.svg
|
||||
src/svg/fx_compressor.svg
|
||||
src/svg/file_download_black_24dp.svg
|
||||
src/svg/fx_filter_hp.svg
|
||||
src/svg/fx_plugin.svg
|
||||
src/svg/fx_error.svg
|
||||
src/svg/fx_gate.svg
|
||||
src/svg/ic_midi.svg
|
||||
src/svg/ic_pluginpreset.svg
|
||||
src/svg/fx_split_a.svg
|
||||
src/svg/fx_utility.svg
|
||||
src/svg/ic_pluginpreset2.svg
|
||||
src/svg/fx_parametric_eq.svg
|
||||
src/svg/fx_terminal.svg
|
||||
src/svg/ic_presets.svg
|
||||
src/svg/fx_flanger.svg
|
||||
src/svg/fx_analyzer.svg
|
||||
src/svg/fx_delay.svg
|
||||
src/svg/fx_spectral.svg
|
||||
src/svg/fx_chorus.svg
|
||||
src/svg/fx_simulator.svg
|
||||
src/svg/fx_mixer.svg
|
||||
src/svg/fx_eq.svg
|
||||
src/svg/fx_modulator.svg
|
||||
src/svg/file_upload_black_24dp.svg
|
||||
src/svg/fx_pitch.svg
|
||||
src/svg/fx_phaser.svg
|
||||
src/svg/fx_amplifier.svg
|
||||
src/svg/fx_lr.svg
|
||||
src/svg/fx_instrument.svg
|
||||
src/svg/fx_reverb.svg
|
||||
src/svg/fx_limiter.svg
|
||||
src/svg/fx_empty.svg
|
||||
src/svg/fx_dial.svg
|
||||
src/svg/fx_flanger2.svg
|
||||
src/svg/fx_split_b.svg
|
||||
src/svg/fx_spatial.svg
|
||||
src/svg/fx_converter.svg
|
||||
src/svg/old_delete_outline_24dp.svg
|
||||
Reference in New Issue
Block a user