Pull convert presets out to top level options

This commit is contained in:
Jordan Eldredge 2018-10-17 20:59:59 -07:00
parent 031c9733f1
commit a8587b5dbd
4 changed files with 25 additions and 9 deletions

View file

@ -40,12 +40,14 @@ export default class Presets {
initialPresets,
getRest,
presetConverterEndpoint,
loadConvertPreset,
randomize = true
}) {
this._keys = keys; // Alphabetical list of preset names
this._presets = initialPresets; // Presets indexed by name
this._getRest = getRest; // An async function to get the rest of the presets
this._presetConverterEndpoint = presetConverterEndpoint;
this._loadConvertPreset = loadConvertPreset;
this._history = []; // Indexes into _keys
this._randomize = randomize;
@ -112,9 +114,7 @@ export default class Presets {
}
async _convertPreset(file) {
const {
convertPreset
} = await import(/* webpackChunkName: "milkdrop-preset-converter" */ "milkdrop-preset-converter-aws");
const convertPreset = await this._loadConvertPreset();
return convertPreset(file, this._presetConverterEndpoint);
}

View file

@ -43,15 +43,18 @@ class PresetsLoader extends React.Component {
loadInitialPreset(this.options)
]);
const presets = new Presets({
keys: presetKeys,
initialPresets: minimalPresets,
getRest: this.options.loadNonMinimalPresets,
presetConverterEndpoint: this.options.presetConverterEndpoint,
loadConvertPreset: this.options.loadConvertPreset
});
this.setState({
butterchurn,
initialPreset,
presets: new Presets({
keys: presetKeys,
initialPresets: minimalPresets,
getRest: this.options.loadNonMinimalPresets,
presetConverterEndpoint: this.options.presetConverterEndpoint
})
presets
});
screenfull.onchange(this._handleFullscreenChange);
}

View file

@ -38,7 +38,19 @@ async function loadNonMinimalPresets() {
"butterchurn-presets/lib/butterchurnPresetsNonMinimal.min")).getPresets();
}
async function loadConvertPreset() {
const { convertPreset } =
// prettier-ignore
await import(
/* webpackChunkName: "milkdrop-preset-converter" */
// @ts-ignore
"milkdrop-preset-converter-aws"
);
return convertPreset;
}
const options: ButterchurnOptions = {
loadConvertPreset,
loadInitialDependencies,
loadNonMinimalPresets,
presetConverterEndpoint:

View file

@ -117,6 +117,7 @@ export interface InitialButterchurnDependencies {
export interface ButterchurnOptions {
loadNonMinimalPresets(): Promise<any>;
loadInitialDependencies(): Promise<InitialButterchurnDependencies>;
loadConvertPreset(): Promise<any>;
presetConverterEndpoint: string;
initialMilkdropPresetUrl?: string | null;
initialButterchurnPresetUrl?: string | null;