PiPedal 1.2.33 initial commit
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"socket_server_port": 80,
|
||||
"socket_server_port": 8080,
|
||||
"socket_server_address": "*",
|
||||
"debug": true,
|
||||
"max_upload_size": 1048576,
|
||||
|
||||
@@ -186,7 +186,7 @@ const AboutDialog = withStyles(styles, { withTheme: true })(
|
||||
let classes = this.props.classes;
|
||||
|
||||
return (
|
||||
<DialogEx tag="AboutDlg" fullScreen open={this.props.open}
|
||||
<DialogEx tag="about" fullScreen open={this.props.open}
|
||||
onClose={() => { this.props.onClose() }} TransitionComponent={Transition}
|
||||
style={{ userSelect: "none" }}
|
||||
>
|
||||
|
||||
@@ -53,7 +53,6 @@ import ZoomedUiControl from './ZoomedUiControl'
|
||||
import MainPage from './MainPage';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import ListSubheader from '@mui/material/ListSubheader';
|
||||
import { BankIndex, BankIndexEntry } from './Banks';
|
||||
@@ -67,6 +66,7 @@ import {ReactComponent as SaveBankAsIcon} from './svg/ic_save_bank_as.svg';
|
||||
import {ReactComponent as EditBanksIcon} from './svg/ic_edit_banks.svg';
|
||||
import {ReactComponent as SettingsIcon} from './svg/ic_settings.svg';
|
||||
import {ReactComponent as HelpOutlineIcon} from './svg/ic_help_outline.svg';
|
||||
import DialogEx from './DialogEx';
|
||||
|
||||
|
||||
const appStyles = (theme: Theme) => createStyles({
|
||||
@@ -511,11 +511,12 @@ const AppThemed = withStyles(appStyles)(class extends ResizeResponsiveComponent<
|
||||
}
|
||||
|
||||
private unmountListener(e: Event) {
|
||||
e.preventDefault();
|
||||
if ((!this.model_.reloadRequested) && this.model_.state.get() === State.Ready && !this.model_.isAndroidHosted()) {
|
||||
e.preventDefault();
|
||||
(e as any).returnValue = "Are you sure you want to leave this page?";
|
||||
return "Are you sure you want to leave this page?";
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
componentDidMount() {
|
||||
|
||||
@@ -862,7 +863,8 @@ render() {
|
||||
onDialogClosed={() => { this.model_.zoomedUiControl.set(undefined); }
|
||||
}
|
||||
/>
|
||||
<Dialog
|
||||
<DialogEx
|
||||
tag="Alert"
|
||||
open={this.state.alertDialogOpen}
|
||||
onClose={this.handleCloseAlert}
|
||||
aria-describedby="alert-dialog-description"
|
||||
@@ -881,7 +883,7 @@ render() {
|
||||
OK
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
{this.state.showStatusMonitor && (<JackStatusView />)}
|
||||
|
||||
<div className={classes.errorContent} style={{
|
||||
|
||||
@@ -293,7 +293,7 @@ const BankDialog = withStyles(styles, { withTheme: true })(
|
||||
let classes = this.props.classes;
|
||||
let selectedItem = this.isEditMode() ? this.state.selectedItem : this.state.banks.selectedBank;
|
||||
return (
|
||||
<div key={bankEntry.instanceId} style={{ background: "white" }} >
|
||||
<div key={bankEntry.instanceId} >
|
||||
|
||||
<ButtonBase style={{ width: "100%", height: 48 }}
|
||||
onClick={() => this.handleItemClick(bankEntry.instanceId)}
|
||||
@@ -403,7 +403,7 @@ const BankDialog = withStyles(styles, { withTheme: true })(
|
||||
let defaultSelectedIndex = this.getSelectedIndex();
|
||||
|
||||
return (
|
||||
<DialogEx tag="BankDialog" fullScreen open={this.props.show}
|
||||
<DialogEx tag="bank" fullScreen open={this.props.show}
|
||||
onClose={() => { this.handleDialogClose() }} TransitionComponent={Transition}
|
||||
style={{userSelect: "none"}}
|
||||
>
|
||||
|
||||
@@ -27,10 +27,15 @@ import SplitControlView from './SplitControlView';
|
||||
import Typography from '@mui/material/Typography';
|
||||
import IControlViewFactory from './IControlViewFactory';
|
||||
import { GxTunerViewFactory } from './GxTunerView';
|
||||
|
||||
import ToobPowerstage2ViewFactory from './ToobPowerStage2View';
|
||||
import ToobSpectrumAnalyzerViewFactory from './ToobSpectrumAnalyzerView';
|
||||
// import ToobMLViewFactory from './ToobMLView';
|
||||
|
||||
let pluginFactories: IControlViewFactory[] = [
|
||||
new GxTunerViewFactory(),
|
||||
new ToobPowerstage2ViewFactory(),
|
||||
new ToobSpectrumAnalyzerViewFactory(),
|
||||
//new ToobMLViewFactory()
|
||||
];
|
||||
|
||||
|
||||
|
||||
@@ -274,7 +274,7 @@ export default class FilePropertyDialog extends ResizeResponsiveComponent<FilePr
|
||||
|
||||
return this.props.open &&
|
||||
(
|
||||
<DialogEx onClose={() => this.props.onCancel()} open={this.props.open} tag="FilePropertyDialog" fullWidth maxWidth="xl" style={{ height: "90%" }}
|
||||
<DialogEx onClose={() => this.props.onCancel()} open={this.props.open} tag="fileProperty" fullWidth maxWidth="xl" style={{ height: "90%" }}
|
||||
PaperProps={{ style: { minHeight: "90%", maxHeight: "90%", overflowY: "visible" } }}
|
||||
>
|
||||
<DialogTitle >
|
||||
|
||||
@@ -25,7 +25,7 @@ import withStyles from '@mui/styles/withStyles';
|
||||
import { PiPedalModel, PiPedalModelFactory } from './PiPedalModel';
|
||||
import ResizeResponsiveComponent from './ResizeResponsiveComponent';
|
||||
import { UiControl } from './Lv2Plugin';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogEx from './DialogEx';
|
||||
import Input from '@mui/material/Input';
|
||||
import { nullCast } from './Utility';
|
||||
import Typography from '@mui/material/Typography';
|
||||
@@ -196,7 +196,7 @@ const FullScreenIME =
|
||||
let value = this.props.value;
|
||||
|
||||
return (
|
||||
<Dialog fullScreen open={!!(this.props.uiControl)} onClose={(e, r) => this.handleClose(e, r)} >
|
||||
<DialogEx tag="ime" fullScreen open={!!(this.props.uiControl)} onClose={(e, r) => this.handleClose(e, r)} >
|
||||
<div style={{
|
||||
width: "100%", height: "100%", position: "relative",
|
||||
display: "flex", flexDirection: "column", flexWrap: "nowrap",
|
||||
@@ -222,7 +222,7 @@ const FullScreenIME =
|
||||
|
||||
</div>
|
||||
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ const GxTunerControl =
|
||||
hz = -1;
|
||||
midiNote = -1;
|
||||
} else {
|
||||
midiNote = Math.log2(hz/refFrequency)*12 + aOffset;
|
||||
midiNote = Math.log2(hz/refFrequency)*tet + aOffset;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ import withStyles from '@mui/styles/withStyles';
|
||||
|
||||
import Button from '@mui/material/Button';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogEx from './DialogEx';
|
||||
import JackServerSettings from './JackServerSettings';
|
||||
|
||||
|
||||
@@ -271,7 +271,7 @@ const JackServerSettingsDialog = withStyles(styles)(
|
||||
}
|
||||
|
||||
return (
|
||||
<Dialog onClose={handleClose} aria-labelledby="select-channels-title" open={open}>
|
||||
<DialogEx tag="jack" onClose={handleClose} aria-labelledby="select-channels-title" open={open}>
|
||||
<DialogContent>
|
||||
<div>
|
||||
<FormControl className={classes.formControl}>
|
||||
@@ -365,13 +365,13 @@ const JackServerSettingsDialog = withStyles(styles)(
|
||||
<Button onClick={handleClose} color="primary">
|
||||
Cancel
|
||||
</Button>
|
||||
<Button onClick={() => this.handleApply()} color="secondary" disabled={
|
||||
<Button onClick={() => this.handleApply()} color="primary" disabled={
|
||||
(!this.state.alsaDevices) || !this.state.jackServerSettings.valid}>
|
||||
OK
|
||||
</Button>
|
||||
</DialogActions>
|
||||
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -28,7 +28,7 @@ import ListItemButton from '@mui/material/ListItemButton';
|
||||
import ListItemIcon from '@mui/material/ListItemIcon';
|
||||
import ListItemText from '@mui/material/ListItemText';
|
||||
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogEx from './DialogEx';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import ResizeResponsiveComponent from './ResizeResponsiveComponent';
|
||||
|
||||
@@ -82,7 +82,7 @@ export default class ListSelectDialog extends ResizeResponsiveComponent<ListSele
|
||||
render() {
|
||||
|
||||
return (
|
||||
<Dialog onClose={()=>this.props.onClose()} open={this.props.open}>
|
||||
<DialogEx tag="list" onClose={()=>this.props.onClose()} open={this.props.open}>
|
||||
<List sx={{pt: 0}}>
|
||||
{
|
||||
this.props.items.map(
|
||||
@@ -110,7 +110,7 @@ export default class ListSelectDialog extends ResizeResponsiveComponent<ListSele
|
||||
Cancel
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -28,7 +28,7 @@ import MenuItem from '@mui/material/MenuItem';
|
||||
import Typography from '@mui/material/Typography';
|
||||
import PluginInfoDialog from './PluginInfoDialog'
|
||||
import PluginIcon from './PluginIcon'
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogEx from './DialogEx';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
@@ -657,7 +657,7 @@ export const LoadPluginDialog =
|
||||
let isFavorite = this.state.favoritesList[this.state.selected_uri ?? ""];
|
||||
return (
|
||||
<React.Fragment>
|
||||
<Dialog
|
||||
<DialogEx tag="plugins"
|
||||
onKeyPress={(e) => { this.handleKeyPress(e); }}
|
||||
fullScreen={true}
|
||||
TransitionComponent={undefined}
|
||||
@@ -847,7 +847,7 @@ export const LoadPluginDialog =
|
||||
|
||||
)}
|
||||
</div>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
</React.Fragment >
|
||||
);
|
||||
}
|
||||
|
||||
@@ -451,7 +451,8 @@ export enum ControlType {
|
||||
|
||||
Tuner,
|
||||
Vu,
|
||||
DbVu
|
||||
DbVu,
|
||||
OutputSelect
|
||||
}
|
||||
|
||||
export class UiControl implements Deserializable<UiControl> {
|
||||
@@ -499,6 +500,8 @@ export class UiControl implements Deserializable<UiControl> {
|
||||
} else if (this.units === Units.db)
|
||||
{
|
||||
this.controlType = ControlType.DbVu;
|
||||
} else if (this.enumeration_property) {
|
||||
this.controlType = ControlType.OutputSelect;
|
||||
} else {
|
||||
this.controlType = ControlType.Vu;
|
||||
}
|
||||
@@ -614,6 +617,10 @@ export class UiControl implements Deserializable<UiControl> {
|
||||
isSelect() : boolean {
|
||||
return this.controlType === ControlType.Select;
|
||||
}
|
||||
isOutputSelect() : boolean {
|
||||
return !this.is_input && this.controlType === ControlType.OutputSelect;
|
||||
}
|
||||
|
||||
|
||||
isLamp(): boolean {
|
||||
return this.toggled_property && this.scale_points.length === 0 && !this.is_input;
|
||||
|
||||
@@ -353,7 +353,7 @@ export const MainPage =
|
||||
alignItems: "center"
|
||||
}}>
|
||||
<div style={{ flex: "0 1 auto",minWidth: 0 }}>
|
||||
<span style={{ color: "#800000" }}>
|
||||
<span style={{ color: isDarkMode()? "#F02020": "#800000" }}>
|
||||
<span className={classes.title}>{title}</span>
|
||||
</span>
|
||||
</div>
|
||||
@@ -522,9 +522,9 @@ export const MainPage =
|
||||
<div className={horizontalScrollLayout ? classes.controlContentSmall : classes.controlContent}>
|
||||
{
|
||||
missing ? (
|
||||
<div style={{ marginLeft: 100, marginTop: 20 }}>
|
||||
<div style={{ marginLeft: 40, marginTop: 20 }}>
|
||||
<Typography variant="body1" paragraph={true}>Error: Plugin is not installed.</Typography>
|
||||
<Typography noWrap variant="body2" paragraph={true}>{pluginUri}</Typography>
|
||||
<Typography variant="body2" paragraph={true}>{pluginUri}</Typography>
|
||||
</div>
|
||||
|
||||
) :
|
||||
|
||||
@@ -226,6 +226,14 @@ export const MidiBindingDialog =
|
||||
|
||||
for (let i = 0; i < plugin.controls.length; ++i) {
|
||||
let control = plugin.controls[i];
|
||||
if (control.isHidden())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!control.is_input)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
let symbol = control.symbol;
|
||||
result.push(
|
||||
<tr>
|
||||
@@ -269,7 +277,7 @@ export const MidiBindingDialog =
|
||||
}
|
||||
|
||||
return (
|
||||
<DialogEx tag="MidiBindingsDialog" open={open} fullWidth onClose={this.handleClose} aria-labelledby="Rename-dialog-title"
|
||||
<DialogEx tag="midiBindings" open={open} fullWidth onClose={this.handleClose} aria-labelledby="Rename-dialog-title"
|
||||
fullScreen={true}
|
||||
style={{userSelect: "none"}}
|
||||
>
|
||||
|
||||
@@ -62,7 +62,7 @@ export default class OkCancelDialog extends React.Component<OkCancelDialogProps,
|
||||
onOk();
|
||||
}
|
||||
return (
|
||||
<DialogEx tag="OkCancelDialog" open={open} onClose={handleClose}
|
||||
<DialogEx tag="okCancel" open={open} onClose={handleClose}
|
||||
style={{userSelect: "none"}}
|
||||
>
|
||||
<DialogContent>
|
||||
|
||||
@@ -906,7 +906,14 @@ const PedalboardView =
|
||||
throw new PiPedalStateError("scroll container not found.");
|
||||
}
|
||||
|
||||
pedalButton(instanceId: number, iconType: PluginType, draggable: boolean, enabled: boolean,hasBorder: boolean = true): ReactNode {
|
||||
pedalButton(
|
||||
instanceId: number,
|
||||
iconType: PluginType,
|
||||
draggable: boolean,
|
||||
enabled: boolean,
|
||||
hasBorder: boolean = true,
|
||||
pluginNotFound: boolean)
|
||||
: ReactNode {
|
||||
let classes = this.props.classes;
|
||||
return (
|
||||
<div className={hasBorder? classes.iconFrame : classes.borderlessIconFrame} onContextMenu={(e) => { e.preventDefault(); }}>
|
||||
@@ -920,7 +927,7 @@ const PedalboardView =
|
||||
<Draggable draggable={draggable} getScrollContainer={() => this.getScrollContainer()}
|
||||
onDragEnd={(x, y) => { this.onDragEnd(instanceId, x, y) }}
|
||||
>
|
||||
<PluginIcon pluginType={iconType} size={24} opacity={enabled? 0.99:0.6} />
|
||||
<PluginIcon pluginType={iconType} size={24} pluginMissing={pluginNotFound} opacity={enabled? 0.99:0.6} />
|
||||
</Draggable>
|
||||
</SelectHoverBackground>
|
||||
</ButtonBase>
|
||||
@@ -984,7 +991,7 @@ const PedalboardView =
|
||||
result.push(<div key={this.renderKey++} className={classes.splitItem} style={{ left: item.bounds.x, top: item.bounds.y, width: item.bounds.width }} >
|
||||
<div className={classes.splitStart} >
|
||||
|
||||
{this.pedalButton(START_CONTROL, item.pluginType,false,true,false)}
|
||||
{this.pedalButton(START_CONTROL, item.pluginType,false,true,false,false)}
|
||||
</div>
|
||||
</div>);
|
||||
break;
|
||||
@@ -992,7 +999,7 @@ const PedalboardView =
|
||||
result.push(<div key={this.renderKey++} className={classes.splitItem} style={{ left: item.bounds.x, top: item.bounds.y, width: item.bounds.width }} >
|
||||
<div className={classes.splitStart} >
|
||||
|
||||
{this.pedalButton(END_CONTROL, item.pluginType, false,true,false)}
|
||||
{this.pedalButton(END_CONTROL, item.pluginType, false,true,false,false)}
|
||||
</div>
|
||||
</div>);
|
||||
break;
|
||||
@@ -1001,7 +1008,7 @@ const PedalboardView =
|
||||
|
||||
result.push(<div key={this.renderKey++} className={classes.splitItem} style={{ left: item.bounds.x, top: item.bounds.y, width: item.bounds.width }} >
|
||||
<div className={classes.splitStart} >
|
||||
{this.pedalButton(item.pedalItem?.instanceId ?? -1, this.getSplitterIcon(item), false,true)}
|
||||
{this.pedalButton(item.pedalItem?.instanceId ?? -1, this.getSplitterIcon(item), false,true,true,false)}
|
||||
</div>
|
||||
</div>);
|
||||
|
||||
@@ -1016,8 +1023,10 @@ const PedalboardView =
|
||||
>{item.name}</Typography>
|
||||
</div>
|
||||
)
|
||||
let uiPlugin = this.model.getUiPlugin(item.pedalItem?.uri??"");
|
||||
let pluginMissing = uiPlugin == null;
|
||||
result.push(<div key={this.renderKey++} className={classes.pedalItem} style={{ left: item.bounds.x, top: item.bounds.y }} >
|
||||
{this.pedalButton(item.pedalItem?.instanceId ?? -1, item.pluginType, !item.isEmpty(), item.pedalItem?.isEnabled ?? false)}
|
||||
{this.pedalButton(item.pedalItem?.instanceId ?? -1, item.pluginType, !item.isEmpty(), item.pedalItem?.isEnabled ?? false,true,pluginMissing)}
|
||||
|
||||
</div>);
|
||||
|
||||
|
||||
@@ -2356,13 +2356,17 @@ export class PiPedalModel //implements PiPedalModel
|
||||
serverConfigSettings
|
||||
)
|
||||
.then(() => {
|
||||
resolve();
|
||||
//resolve();
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err);
|
||||
//resolve();
|
||||
});
|
||||
// yyy
|
||||
resolve();
|
||||
|
||||
});
|
||||
this.restartExpected = true;
|
||||
this.webSocket?.reconnect(); // close immediately, and wait for recoonnect.
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,6 +64,10 @@ import { ReactComponent as FxEmptyIcon } from './svg/fx_empty.svg';
|
||||
|
||||
import { ReactComponent as FxTerminalIcon } from './svg/fx_terminal.svg';
|
||||
|
||||
import {isDarkMode} from './DarkMode';
|
||||
import { Color } from '@mui/material';
|
||||
|
||||
|
||||
|
||||
const styles = (theme: Theme) =>
|
||||
createStyles({
|
||||
@@ -75,6 +79,7 @@ const styles = (theme: Theme) =>
|
||||
color: theme.palette.text.primary,
|
||||
fill: theme.palette.text.primary
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
export interface PluginIconProps extends WithStyles<typeof styles> {
|
||||
@@ -82,10 +87,16 @@ export interface PluginIconProps extends WithStyles<typeof styles> {
|
||||
opacity?: number;
|
||||
offsetY?: number;
|
||||
pluginType: PluginType;
|
||||
pluginMissing?: boolean;
|
||||
}
|
||||
|
||||
export function SelectSvgIcon(plugin_type: PluginType, className: string, size: number = 24, opacity: number = 1.0) {
|
||||
let myStyle = { width: size, height: size, opacity: opacity };
|
||||
export function SelectSvgIcon(plugin_type: PluginType, className: string, size: number = 24, opacity: number = 1.0, missingPlugin: boolean = false) {
|
||||
let color = "";
|
||||
if (missingPlugin)
|
||||
{
|
||||
color = isDarkMode()? "#C00000": "#B00000";
|
||||
}
|
||||
let myStyle = { width: size, height: size, opacity: opacity, color: color, fill: color };
|
||||
switch (plugin_type) {
|
||||
case PluginType.PhaserPlugin:
|
||||
return <FxPhaserIcon className={className} style={myStyle} />;
|
||||
@@ -276,13 +287,15 @@ export function SelectIconUri(plugin_type: PluginType) {
|
||||
}
|
||||
|
||||
const PluginIcon = withStyles(styles)((props: PluginIconProps) => {
|
||||
const { classes, pluginType, opacity } = props;
|
||||
const { classes, pluginType, opacity,pluginMissing } = props;
|
||||
|
||||
let pluginMissing_ : boolean = pluginMissing??false;
|
||||
|
||||
let size: number = 24;
|
||||
if (props.size) size = props.size;
|
||||
let topVal: number = (props.offsetY ?? 0);
|
||||
|
||||
let svgIcon = SelectSvgIcon(pluginType, classes.icon, size, opacity);
|
||||
let svgIcon = SelectSvgIcon(pluginType, classes.icon, size, opacity,pluginMissing_);
|
||||
if (svgIcon) {
|
||||
return svgIcon;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ import { WithStyles } from '@mui/styles';
|
||||
import createStyles from '@mui/styles/createStyles';
|
||||
import withStyles from '@mui/styles/withStyles';
|
||||
import Button from '@mui/material/Button';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogEx from './DialogEx';
|
||||
import MuiDialogTitle from '@mui/material/DialogTitle';
|
||||
import MuiDialogContent from '@mui/material/DialogContent';
|
||||
import MuiDialogActions from '@mui/material/DialogActions';
|
||||
@@ -235,7 +235,7 @@ const PluginInfoDialog = withStyles(styles)((props: PluginInfoProps) => {
|
||||
<InfoOutlinedIcon className={classes.icon} color='inherit' />
|
||||
</IconButton>
|
||||
{open && (
|
||||
<Dialog onClose={handleClose} open={open} fullWidth >
|
||||
<DialogEx tag="info" onClose={handleClose} open={open} fullWidth >
|
||||
<MuiDialogTitle >
|
||||
<div style={{ display: "flex", flexDirection: "row", alignItems: "start", flexWrap: "nowrap" }}>
|
||||
<div style={{ flex: "0 0 auto", marginRight: 16 }}>
|
||||
@@ -321,7 +321,7 @@ const PluginInfoDialog = withStyles(styles)((props: PluginInfoProps) => {
|
||||
OK
|
||||
</Button>
|
||||
</PluginInfoDialogActions>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
)}
|
||||
</div >
|
||||
);
|
||||
|
||||
@@ -309,7 +309,7 @@ const PluginOutputControl =
|
||||
}
|
||||
}
|
||||
|
||||
let isSelect = control.isSelect();
|
||||
let isSelect = control.isOutputSelect();
|
||||
|
||||
let item_width: number | undefined = isSelect ? 160 : 80;
|
||||
if (isSelect) {
|
||||
@@ -424,7 +424,32 @@ const PluginOutputControl =
|
||||
</div>
|
||||
</div >
|
||||
);
|
||||
} else {
|
||||
} if (control.isOutputSelect()) {
|
||||
return (
|
||||
<div style={{ display: "flex", flexDirection: "column", width: item_width, margin: 8, height: 98 }}>
|
||||
{/* TITLE SECTION */}
|
||||
<div style={{ flex: "0 0 auto", width: "100%", marginBottom: 8, marginLeft: 0, marginRight: 0 }}>
|
||||
<Typography variant="caption" display="block" style={{
|
||||
width: "100%",
|
||||
textAlign: "left"
|
||||
}}> {control.name}</Typography>
|
||||
</div>
|
||||
{/* CONTROL SECTION */}
|
||||
|
||||
<div style={{ flex: "1 1 auto", display: "flex", justifyContent: "start", alignItems: "center", flexFlow: "row nowrap" }}>
|
||||
<Typography variant="caption" display="block" noWrap style={{ width: "100%" }}>
|
||||
{text}
|
||||
</Typography>
|
||||
</div>
|
||||
|
||||
{/* LABEL/EDIT SECTION*, strictly a placeholder for visual alignment purposes.*/}
|
||||
<div style={{ flex: "0 0 auto", position: "relative", width: 40, height: 27 }}>
|
||||
|
||||
</div>
|
||||
</div >
|
||||
);
|
||||
|
||||
}else {
|
||||
return (
|
||||
<div style={{ display: "flex", flexDirection: "column", width: item_width, margin: 8, height: 98 }}>
|
||||
{/* TITLE SECTION */}
|
||||
|
||||
@@ -359,7 +359,7 @@ const PluginPresetsDialog = withStyles(styles, { withTheme: true })(
|
||||
|
||||
|
||||
return (
|
||||
<DialogEx tag="PluginPresetsDialog" fullScreen open={this.props.show}
|
||||
<DialogEx tag="pluginPresets" fullScreen open={this.props.show}
|
||||
onClose={() => { this.handleDialogClose() }} TransitionComponent={Transition}
|
||||
style={{userSelect: "none"}}>
|
||||
<div style={{ display: "flex", flexDirection: "column", flexWrap: "nowrap", width: "100%", height: "100%", overflow: "hidden" }}>
|
||||
|
||||
@@ -338,7 +338,7 @@ const PresetDialog = withStyles(styles, { withTheme: true })(
|
||||
let defaultSelectedIndex = this.getSelectedIndex();
|
||||
|
||||
return (
|
||||
<DialogEx tag="PresetDialog" fullScreen open={this.props.show}
|
||||
<DialogEx tag="preset" fullScreen open={this.props.show}
|
||||
onClose={() => { this.handleDialogClose() }} TransitionComponent={Transition}
|
||||
style={{userSelect: "none"}}>
|
||||
<div style={{ display: "flex", flexDirection: "column", flexWrap: "nowrap", width: "100%", height: "100%", overflow: "hidden" }}>
|
||||
|
||||
@@ -98,7 +98,7 @@ export default class RenameDialog extends ResizeResponsiveComponent<RenameDialog
|
||||
}
|
||||
};
|
||||
return (
|
||||
<DialogEx tag="RenameDialog" open={open} fullWidth onClose={handleClose} aria-labelledby="Rename-dialog-title"
|
||||
<DialogEx tag="nameDialog" open={open} fullWidth onClose={handleClose} aria-labelledby="Rename-dialog-title"
|
||||
fullScreen={this.state.fullScreen}
|
||||
style={{userSelect: "none"}}
|
||||
>
|
||||
|
||||
@@ -24,7 +24,7 @@ import ListItem from '@mui/material/ListItem';
|
||||
import ListItemText from '@mui/material/ListItemText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogEx from './DialogEx';
|
||||
import FormControlLabel from '@mui/material/FormControlLabel';
|
||||
|
||||
import Checkbox from '@mui/material/Checkbox';
|
||||
@@ -90,7 +90,7 @@ function SelectChannelsDialog(props: SelectChannelsDialogProps) {
|
||||
|
||||
|
||||
return (
|
||||
<Dialog onClose={handleClose} aria-labelledby="select-channels-title" open={open}>
|
||||
<DialogEx tag="audioChannels" onClose={handleClose} aria-labelledby="select-channels-title" open={open}>
|
||||
<DialogTitle id="simple-dialog-title">Select Channels</DialogTitle>
|
||||
<List>
|
||||
{availableChannels.map((channel) => (
|
||||
@@ -114,7 +114,7 @@ function SelectChannelsDialog(props: SelectChannelsDialogProps) {
|
||||
OK
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
);
|
||||
|
||||
} else {
|
||||
@@ -154,7 +154,7 @@ function SelectChannelsDialog(props: SelectChannelsDialogProps) {
|
||||
}
|
||||
|
||||
return (
|
||||
<Dialog onClose={handleCancel} aria-labelledby="select-channels-title" open={open}>
|
||||
<DialogEx tag="channels" onClose={handleCancel} aria-labelledby="select-channels-title" open={open}>
|
||||
|
||||
<List style={{ marginLeft: 0, marginRight: 0}}>
|
||||
<ListItem button onClick={() => handleListItemClick("Stereo")} key={"Stereo"} selected={selectionKey === "Stereo"} >
|
||||
@@ -167,7 +167,7 @@ function SelectChannelsDialog(props: SelectChannelsDialogProps) {
|
||||
<ListItemText primary={"Mono (right channel only"} />
|
||||
</ListItem>
|
||||
</List>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,12 +23,11 @@ import List from '@mui/material/List';
|
||||
import ListItem from '@mui/material/ListItem';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import FormControlLabel from '@mui/material/FormControlLabel';
|
||||
|
||||
import Checkbox from '@mui/material/Checkbox';
|
||||
import {AlsaMidiDeviceInfo} from './AlsaMidiDeviceInfo';
|
||||
|
||||
import DialogEx from './DialogEx';
|
||||
|
||||
|
||||
|
||||
@@ -94,7 +93,7 @@ function SelectMidiChannelsDialog(props: SelectMidiChannelsDialogProps) {
|
||||
|
||||
|
||||
return (
|
||||
<Dialog onClose={handleClose} aria-labelledby="select-channels-title" open={open}>
|
||||
<DialogEx tag="midiChannels" onClose={handleClose} aria-labelledby="select-channels-title" open={open}>
|
||||
<DialogTitle id="simple-dialog-title">Select MIDI Device</DialogTitle>
|
||||
<List>
|
||||
{availableChannels.map((channel) => (
|
||||
@@ -118,7 +117,7 @@ function SelectMidiChannelsDialog(props: SelectMidiChannelsDialogProps) {
|
||||
OK
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import Button from '@mui/material/Button';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogEx from './DialogEx';
|
||||
import FormControlLabel from '@mui/material/FormControlLabel';
|
||||
import FormControl from '@mui/material/FormControl';
|
||||
|
||||
@@ -64,7 +64,7 @@ function SelectThemesDialog(props: SelectThemesDialogProps) {
|
||||
|
||||
|
||||
return (
|
||||
<Dialog onClose={handleClose} open={open}>
|
||||
<DialogEx tag="theme" onClose={handleClose} open={open}>
|
||||
<DialogTitle id="simple-dialog-title">Theme</DialogTitle>
|
||||
<DialogContent>
|
||||
<FormControl>
|
||||
@@ -82,11 +82,11 @@ function SelectThemesDialog(props: SelectThemesDialogProps) {
|
||||
<Button onClick={handleClose} color="primary">
|
||||
Cancel
|
||||
</Button>
|
||||
<Button onClick={handleOk} color="secondary" >
|
||||
<Button onClick={handleOk} color="primary" >
|
||||
OK
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
</DialogEx>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -522,7 +522,7 @@ const SettingsDialog = withStyles(styles, { withTheme: true })(
|
||||
let disableShutdown = this.state.shuttingDown || this.state.restarting;
|
||||
|
||||
return (
|
||||
<DialogEx tag="SettingsDialog" fullScreen open={this.props.open}
|
||||
<DialogEx tag="settings" fullScreen open={this.props.open}
|
||||
onClose={() => { this.props.onClose() }} TransitionComponent={Transition}
|
||||
style={{ userSelect: "none" }}
|
||||
>
|
||||
|
||||
@@ -283,7 +283,7 @@ export const SystemMidiBindingDialog =
|
||||
}
|
||||
|
||||
return (
|
||||
<DialogEx tag="SystemMidiBindingsDialog" open={open} fullWidth onClose={this.handleClose} aria-labelledby="Rename-dialog-title"
|
||||
<DialogEx tag="systemMidiBindings" open={open} fullWidth onClose={this.handleClose} aria-labelledby="Rename-dialog-title"
|
||||
fullScreen={true}
|
||||
style={{userSelect: "none"}}
|
||||
>
|
||||
|
||||
@@ -307,7 +307,7 @@ export default class UploadFileDialog extends ResizeResponsiveComponent<UploadFi
|
||||
|
||||
let isAndroid = UploadFileDialog.IsAndroid();
|
||||
return (
|
||||
<DialogEx tag="UploadFileDialog" open={this.props.open} fullWidth onClose={() => this.handleClose()}
|
||||
<DialogEx tag="uploadFile" open={this.props.open} fullWidth onClose={() => this.handleClose()}
|
||||
fullScreen={this.state.fullScreen}
|
||||
style={{ userSelect: "none" }}
|
||||
>
|
||||
@@ -399,7 +399,7 @@ export default class UploadFileDialog extends ResizeResponsiveComponent<UploadFi
|
||||
{
|
||||
this.state.okEnabled ?
|
||||
(
|
||||
<Button onClick={() => this.handleClose()} color="secondary">
|
||||
<Button onClick={() => this.handleClose()} color="primary">
|
||||
OK
|
||||
</Button>
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ export default class UploadPresetDialog extends ResizeResponsiveComponent<Upload
|
||||
|
||||
|
||||
return (
|
||||
<DialogEx tag="UploadPresetDialog" open={this.props.open} fullWidth onClose={() => this.handleClose()}
|
||||
<DialogEx tag="uploadPreset" open={this.props.open} fullWidth onClose={() => this.handleClose()}
|
||||
fullScreen={this.state.fullScreen}
|
||||
style={{userSelect: "none"}}
|
||||
>
|
||||
|
||||
@@ -259,7 +259,7 @@ const WifiConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
};
|
||||
|
||||
return (
|
||||
<DialogEx tag="WifiConfigDialog" open={open} fullWidth onClose={handleClose} style={{userSelect: "none"}}
|
||||
<DialogEx tag="wifiConfig" open={open} fullWidth onClose={handleClose} style={{userSelect: "none"}}
|
||||
fullScreen={this.state.fullScreen}
|
||||
>
|
||||
{ this.state.fullScreen && (
|
||||
@@ -340,7 +340,7 @@ const WifiConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
<Button onClick={handleClose} color="primary" style={{ width: 120 }}>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button onClick={()=> this.handleOk(false)} color="secondary" style={{ width: 120 }} >
|
||||
<Button onClick={()=> this.handleOk(false)} color="success" style={{ width: 120 }} >
|
||||
OK
|
||||
</Button>
|
||||
</DialogActions>
|
||||
|
||||
@@ -306,7 +306,7 @@ const WifiDirectConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
};
|
||||
|
||||
return (
|
||||
<DialogEx tag="WifiDirectConfigDialog" open={open} onClose={handleClose} style={{ userSelect: "none", }}
|
||||
<DialogEx tag="p2pConfig" open={open} onClose={handleClose} style={{ userSelect: "none", }}
|
||||
fullScreen={this.state.fullScreen} fullWidth={this.useLandscapeLayout()}
|
||||
>
|
||||
{this.state.landscapeLayout && (
|
||||
@@ -315,10 +315,10 @@ const WifiDirectConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
<IconButton
|
||||
edge="start"
|
||||
color="inherit"
|
||||
onClick={()=> {this.props.onClose(); }}
|
||||
onClick={() => { this.props.onClose(); }}
|
||||
aria-label="back"
|
||||
size="large">
|
||||
<ArrowBackIcon htmlColor="#888"/>
|
||||
<ArrowBackIcon htmlColor="#888" />
|
||||
</IconButton>
|
||||
<FormControlLabel
|
||||
control={(
|
||||
@@ -412,7 +412,7 @@ const WifiDirectConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
</DialogContent>
|
||||
)}
|
||||
{(!this.state.landscapeLayout) && (
|
||||
<DialogContent sx={{minHeight: 96}} >
|
||||
<DialogContent sx={{ minHeight: 96 }} >
|
||||
<div>
|
||||
<FormControlLabel
|
||||
control={(
|
||||
@@ -509,7 +509,7 @@ const WifiDirectConfigDialog = withStyles(styles, { withTheme: true })(
|
||||
<Button onClick={handleClose} color="primary" style={{ width: 120 }}>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button onClick={() => this.handleOk()} color="secondary" style={{ width: 120 }} >
|
||||
<Button onClick={() => this.handleOk()} color="primary" style={{ width: 120 }} >
|
||||
OK
|
||||
</Button>
|
||||
</DialogActions>
|
||||
|
||||
@@ -211,7 +211,7 @@ const ZoomedUiControl = withStyles(styles, { withTheme: true })(
|
||||
displayValue = "\u00A0";
|
||||
}
|
||||
return (
|
||||
<DialogEx tag="zoomedControlDlg" open={this.props.dialogOpen}
|
||||
<DialogEx tag="zoomedControl" open={this.props.dialogOpen}
|
||||
onClose={() => { this.props.onDialogClose() }}
|
||||
onAbort={() => { this.props.onDialogClose() }}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user