File Property Dialog Rewrite (phase 1)

This commit is contained in:
Robin Davies
2024-08-14 07:30:11 -04:00
parent 084e86f41a
commit 3ef263a16e
17 changed files with 948 additions and 166 deletions
+70 -5
View File
@@ -52,6 +52,10 @@ export enum State {
export type ControlValueChangedHandler = (key: string, value: number) => void;
export interface FileEntry {
filename: string;
isDirectory: boolean;
};
export type PluginPresetsChangedHandler = (pluginUri: string) => void;
@@ -337,7 +341,7 @@ interface Vst3ControlChangedBody {
export interface FavoritesList {
[url: string]: boolean;
}
};
export class PiPedalModel //implements PiPedalModel
@@ -1630,14 +1634,21 @@ export class PiPedalModel //implements PiPedalModel
});
}
// deprecated.
requestFileList(piPedalFileProperty: UiFileProperty): Promise<string[]> {
return nullCast(this.webSocket)
.request<string[]>('requestFileList', piPedalFileProperty);
}
requestFileList2(relativeDirectoryPath: string,piPedalFileProperty: UiFileProperty): Promise<FileEntry[]> {
return nullCast(this.webSocket)
.request<FileEntry[]>('requestFileList2',
{relativePath: relativeDirectoryPath, fileProperty: piPedalFileProperty}
);
}
deleteUserFile(fileName: string) : Promise<boolean>
{
return nullCast(this.webSocket).request<boolean>('deleteUserFile',fileName)
return nullCast(this.webSocket).request<boolean>('deleteUserFile',fileName);
}
@@ -2247,7 +2258,11 @@ export class PiPedalModel //implements PiPedalModel
return new Promise<void>((resolve, reject) => {
let ws = this.webSocket;
if (!ws) return;
if (!ws)
{
resolve();
return;
}
ws.request<void>(
"setGovernorSettings",
governor
@@ -2260,6 +2275,57 @@ export class PiPedalModel //implements PiPedalModel
});
});
}
createNewSampleDirectory(relativePath: string, uiFileProperty: UiFileProperty) : Promise<string>
{
return new Promise<string>((resolve, reject) => {
let ws = this.webSocket;
if (!ws) {
resolve("");
return;
}
ws.request<string>(
"createNewSampleDirectory",
{
relativePath: relativePath,
uiFileProperty: uiFileProperty
}
)
.then((newPath) => {
resolve(newPath);
})
.catch((err) => {
reject(err);
});
});
}
renameSampleFile(oldRelativePath: string, newRelativePath: string, uiFileProperty: UiFileProperty) : Promise<string>
{
return new Promise<string>((resolve, reject) => {
let ws = this.webSocket;
if (!ws) {
resolve("");
return;
}
ws.request<string>(
"renameSampleFile",
{
oldRelativePath: oldRelativePath,
newRelativePath: newRelativePath,
uiFileProperty: uiFileProperty
}
)
.then((newPath) => {
resolve(newPath);
})
.catch((err) => {
reject(err);
});
});
}
setWifiConfigSettings(wifiConfigSettings: WifiConfigSettings): Promise<void> {
let result = new Promise<void>((resolve, reject) => {
let oldSettings = this.wifiConfigSettings.get();
@@ -2567,7 +2633,6 @@ export class PiPedalModel //implements PiPedalModel
window.location.reload();
}
};
let instance: PiPedalModel | undefined = undefined;