Audacity 3.2.0
ExportTypes.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 ExportTypes.h
6
7 Vitaly Sverchinsky
8
9**********************************************************************/
10
11#pragma once
12
13#include <variant>
14#include <string>
15#include <vector>
16#include <future>
17#include "Internat.h"
18
20
21using ExportOptionID = int;
22
23enum class ExportResult
24{
25 Success,
26 Error,
29};
30
31using ExportTask = std::packaged_task<ExportResult(ExportProcessorDelegate&)>;
32
34using ExportValue = std::variant<
35 bool,
36 int,
37 double,
38 std::string>;
39
42struct IMPORT_EXPORT_API ExportOption
43{
44 enum Flags : int
45 {
46 TypeMask = 0xff,
47 TypeRange = 1,
48 TypeEnum = 2,
49
50 ReadOnly = 0x100,
51 Hidden = 0x200,
52
53 Default = 0
54 };
55
59 int flags { Default };
60 std::vector<ExportValue> values {};
62};
const wxChar * values
int ExportOptionID
Definition: ExportTypes.h:21
std::packaged_task< ExportResult(ExportProcessorDelegate &)> ExportTask
Definition: ExportTypes.h:31
std::variant< bool, int, double, std::string > ExportValue
A type of option values (parameters) used by exporting plugins.
Definition: ExportTypes.h:38
ExportResult
Definition: ExportTypes.h:24
static TranslatableStrings names
Definition: TagsEditor.cpp:153
std::vector< TranslatableString > TranslatableStrings
Holds a msgid for the translation catalog; may also bind format arguments.
A type that provides a description of an exporting option. Isn't allowed to change except non-type re...
Definition: ExportTypes.h:43
ExportOptionID id
Internal option id.
Definition: ExportTypes.h:56
ExportValue defaultValue
Default valid value for the parameter.
Definition: ExportTypes.h:58
TranslatableString title
Name of an option in a human-readable form.
Definition: ExportTypes.h:57