Ardour
9.0-pre0-582-g084a23a80d
vst3_scan.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2019 Robin Gareus <robin@gareus.org>
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
*/
18
19
#ifndef _ardour_vst3_scan_h_
20
#define _ardour_vst3_scan_h_
21
22
#include <functional>
23
#include <memory>
24
#include <string>
25
#include <vector>
26
27
#include "
pbd/xml++.h
"
28
29
#include "
ardour/libardour_visibility.h
"
30
31
namespace
ARDOUR
{
32
class
VST3PluginModule;
33
}
34
35
namespace
ARDOUR
{
36
37
struct
VST3Info
{
38
VST3Info
()
39
:
index
(0)
40
,
n_inputs
(0)
41
,
n_outputs
(0)
42
,
n_aux_inputs
(0)
43
,
n_aux_outputs
(0)
44
,
n_midi_inputs
(0)
45
,
n_midi_outputs
(0)
46
{}
47
48
VST3Info
(
XMLNode
const
&);
49
XMLNode
&
state
()
const
;
50
51
int
index
;
52
std::string
uid
;
53
std::string
name
;
54
std::string
vendor
;
55
std::string
category
;
56
std::string
version
;
57
std::string
sdk_version
;
58
std::string
url
;
59
std::string
email
;
60
61
int
n_inputs
;
62
int
n_outputs
;
63
int
n_aux_inputs
;
64
int
n_aux_outputs
;
65
int
n_midi_inputs
;
66
int
n_midi_outputs
;
67
};
68
69
LIBARDOUR_API
extern
std::string
70
module_path_vst3
(std::string
const
& path);
71
72
LIBARDOUR_API
extern
std::string
73
vst3_cache_file
(std::string
const
& module_path);
74
75
LIBARDOUR_API
extern
std::string
76
vst3_valid_cache_file
(std::string
const
& module_path,
bool
verbose =
false
,
bool
* is_new = NULL);
77
78
LIBARDOUR_API
extern
bool
79
vst3_scan_and_cache
(std::string
const
& module_path, std::string
const
& bundle_path, std::function<
void
(std::string
const
&, std::string
const
&,
VST3Info
const
&)> cb,
bool
verbose =
false
);
80
81
}
// namespace ARDOUR
82
83
#endif
XMLNode
Definition:
xml++.h:114
libardour_visibility.h
LIBARDOUR_API
#define LIBARDOUR_API
Definition:
libardour_visibility.h:38
ARDOUR
Definition:
analysis_window.h:44
ARDOUR::module_path_vst3
std::string module_path_vst3(std::string const &path)
ARDOUR::vst3_cache_file
std::string vst3_cache_file(std::string const &module_path)
ARDOUR::vst3_scan_and_cache
bool vst3_scan_and_cache(std::string const &module_path, std::string const &bundle_path, std::function< void(std::string const &, std::string const &, VST3Info const &)> cb, bool verbose=false)
ARDOUR::vst3_valid_cache_file
std::string vst3_valid_cache_file(std::string const &module_path, bool verbose=false, bool *is_new=NULL)
ARDOUR::VST3Info
Definition:
vst3_scan.h:37
ARDOUR::VST3Info::n_aux_inputs
int n_aux_inputs
Definition:
vst3_scan.h:63
ARDOUR::VST3Info::n_midi_outputs
int n_midi_outputs
Definition:
vst3_scan.h:66
ARDOUR::VST3Info::name
std::string name
Definition:
vst3_scan.h:53
ARDOUR::VST3Info::sdk_version
std::string sdk_version
Definition:
vst3_scan.h:57
ARDOUR::VST3Info::url
std::string url
Definition:
vst3_scan.h:58
ARDOUR::VST3Info::VST3Info
VST3Info(XMLNode const &)
ARDOUR::VST3Info::vendor
std::string vendor
Definition:
vst3_scan.h:54
ARDOUR::VST3Info::version
std::string version
Definition:
vst3_scan.h:56
ARDOUR::VST3Info::state
XMLNode & state() const
ARDOUR::VST3Info::n_midi_inputs
int n_midi_inputs
Definition:
vst3_scan.h:65
ARDOUR::VST3Info::n_outputs
int n_outputs
Definition:
vst3_scan.h:62
ARDOUR::VST3Info::n_inputs
int n_inputs
Definition:
vst3_scan.h:61
ARDOUR::VST3Info::index
int index
Definition:
vst3_scan.h:51
ARDOUR::VST3Info::uid
std::string uid
Definition:
vst3_scan.h:52
ARDOUR::VST3Info::n_aux_outputs
int n_aux_outputs
Definition:
vst3_scan.h:64
ARDOUR::VST3Info::VST3Info
VST3Info()
Definition:
vst3_scan.h:38
ARDOUR::VST3Info::email
std::string email
Definition:
vst3_scan.h:59
ARDOUR::VST3Info::category
std::string category
Definition:
vst3_scan.h:55
xml++.h
libs
ardour
ardour
vst3_scan.h
Generated on Wed Dec 25 2024 05:44:57 for Ardour by
1.9.1