19#include <wx/filedlg.h>
22#include "../widgets/VetoDialogHook.h"
25 wxWindow &parent, wxDialog &dialog,
EffectEditor *,
bool forceModal)
const
29 dialog.SetMinSize(dialog.GetSize());
37 return dialog.ShowModal();
54 {
XO(
"Presets"), {
wxT(
"txt") },
true },
68 auto path =
SelectFile(FileNames::Operation::Presets,
69 XO(
"Export Effect Parameters"),
74 wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxRESIZE_BORDER,
81 wxFFile f(path,
wxT(
"wb"));
85 XO(
"Could not open file: \"%s\"").
Format( path ),
86 XO(
"Error Saving Effect Presets"),
96 XO(
"Error writing to file: \"%s\"").
Format( path ),
97 XO(
"Error Saving Effect Presets"),
114 auto path =
SelectFile(FileNames::Operation::Presets,
115 XO(
"Import Effect Parameters"),
120 wxFD_OPEN | wxRESIZE_BORDER,
138 if (
ident != commandId) {
141 if ((
params.Length() < 2 ) || (
ident.Length() < 2) ||
142 (
ident.Length() > 30))
146 XO(
"%s: is not a valid presets file.\n")
147 .
Format(wxFileNameFromPath(path)));
153 XO(
"%s: is for a different Effect, Generator or Analyzer.\n")
154 .
Format(wxFileNameFromPath(path)));
int AudacityMessageBox(const TranslatableString &message, const TranslatableString &caption, long style, wxWindow *parent, int x, int y)
static const FileNames::FileTypes & PresetTypes()
EffectDistortionSettings params
std::optional< std::unique_ptr< EffectSettingsAccess::Message > > OptionalMessage
static CommandHandlerObject & ident(AudacityProject &project)
FilePath SelectFile(FileNames::Operation op, const TranslatableString &message, const FilePath &default_path, const FilePath &default_filename, const FileExtension &default_extension, const FileTypes &fileTypes, int flags, wxWindow *parent)
static Settings & settings()
bool ValidateUI(const EffectPlugin &context, EffectSettings &) const override
void ExportPresets(const EffectPlugin &plugin, const EffectSettings &settings) const override
int ShowClientInterface(const EffectPlugin &plugin, wxWindow &parent, wxDialog &dialog, EffectEditor *pEditor, bool forceModal) const override
bool CloseUI() const override
void ShowOptions(const EffectPlugin &plugin) const override
OptionalMessage ImportPresets(const EffectPlugin &plugin, EffectSettings &settings) const override
virtual ComponentInterfaceSymbol GetSymbol() const =0
const wxString & Internal() const
bool SupportsRealtime() const
static Identifier GetSquashedName(const Identifier &ident)
A utility that strips spaces and CamelCases a name.
Factory of instances of an effect.
virtual bool SaveSettingsAsString(const EffectSettings &settings, wxString &parms) const =0
virtual OptionalMessage LoadSettingsFromString(const wxString &parms, EffectSettings &settings) const =0
static int DoMessageBox(const EffectPlugin &plugin, const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={})
std::vector< FileType > FileTypes
FILES_API const FileType AllFiles
static result_type Call(Arguments &&...arguments)
Null check of the installed function is done for you.
Externalized state of a plug-in.