package com.xenoage.zong.commands.desktop.dialog;
import static com.xenoage.utils.error.Err.handle;
import static com.xenoage.utils.jse.javafx.Dialog.dialog;
import static com.xenoage.utils.log.Report.warning;
import javafx.stage.Window;
import lombok.AllArgsConstructor;
import com.xenoage.utils.document.command.TransparentCommand;
import com.xenoage.utils.jse.javafx.DialogResult;
import com.xenoage.zong.Voc;
import com.xenoage.zong.desktop.gui.dialogs.AudioSettingsDialog;
import com.xenoage.zong.desktop.io.midi.out.SynthManager;
/**
* This command shows a dialog that allows to change
* the audio settings, load a soundfont and so on.
*
* @author Andreas Wenger
*/
@AllArgsConstructor
public class AudioSettingsDialogShow
extends TransparentCommand {
private Window owner;
@Override public void execute() {
AudioSettingsDialog dialog = dialog(AudioSettingsDialog.class);
DialogResult result = dialog.showDialog(owner);
if (result == DialogResult.OK) {
//re-init midi
try {
SynthManager.init(true);
} catch (Exception ex) {
handle(warning(Voc.MidiNotAvailable));
}
}
}
}