nongnu.org/gsequencer


gsequencer 7.0.5
Advanced Gtk+ Sequencer
ags_vst_iplugin_base.h
Go to the documentation of this file.
1/* GSequencer - Advanced GTK Sequencer
2 * Copyright (C) 2005-2021 Joël Krähemann
3 *
4 * This file is part of GSequencer.
5 *
6 * GSequencer is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * GSequencer is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with GSequencer. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef __AGS_VST_IPLUGIN_BASE_H__
21#define __AGS_VST_IPLUGIN_BASE_H__
22
23#include <glib.h>
24
27
28#define AGS_VST_IPLUGIN_BASE_IID (ags_vst_iplugin_base_get_iid())
29#define AGS_VST_IPLUGIN_FACTORY_IID (ags_vst_iplugin_factory_get_iid())
30#define AGS_VST_IPLUGIN_FACTORY2_IID (ags_vst_iplugin_factory2_get_iid())
31#define AGS_VST_IPLUGIN_FACTORY3_IID (ags_vst_iplugin_factory3_get_iid())
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37 typedef struct IPluginBase AgsVstIPluginBase;
38
39 typedef struct PFactoryInfo AgsVstPFactoryInfo;
40 typedef struct PClassInfo AgsVstPClassInfo;
41
42 typedef struct IPluginFactory AgsVstIPluginFactory;
43
44 typedef struct PClassInfo2 AgsVstPClassInfo2;
45 typedef struct IPluginFactory2 AgsVstIPluginFactory2;
46
47 typedef struct PClassInfoW AgsVstPClassInfoW;
48
49 typedef struct IPluginFactory3 AgsVstIPluginFactory3;
50
51 typedef AgsVstIPluginFactory* (*AgsVstGetFactoryProc)();
52
60
61 enum{
65 };
66
68
70
72
74
76
78
80
82
84
86
88 AgsVstPFactoryInfo *pfactory_info);
89
91
93 gint32 index, AgsVstPClassInfo *info);
94
96 AgsVstFIDString *cid, AgsVstFIDString *_iid, void **obj);
97
99
101
103
105
107 gint32 index, AgsVstPClassInfo2 *info2);
108
110
112 gint32 index, AgsVstPClassInfoW *info);
113
114#ifdef __cplusplus
115}
116#endif
117
118#endif /*__AGS_VST_IPLUGIN_BASE_H__*/
const gchar * AgsVstFIDString
Definition ags_vst_ftypes.h:82
gint32 AgsVstTResult
Definition ags_vst_ftypes.h:58
gint8 AgsVstTUID[16]
Definition ags_vst_funknown.h:79
struct FUnknown AgsVstFUnknown
Definition ags_vst_funknown.h:85
AgsVstTResult ags_vst_iplugin_base_terminate(AgsVstIPluginBase *iplugin_base)
Definition ags_vst_iplugin_base.cpp:63
struct IPluginFactory3 AgsVstIPluginFactory3
Definition ags_vst_iplugin_base.h:49
const AgsVstTUID * ags_vst_iplugin_base_get_iid()
Definition ags_vst_iplugin_base.cpp:36
AgsVstFactoryFlags
Definition ags_vst_iplugin_base.h:53
@ AGS_VST_KLICENSE_CHECK
Definition ags_vst_iplugin_base.h:56
@ AGS_VST_KNOFLAGS
Definition ags_vst_iplugin_base.h:54
@ AGS_VST_KCOMPONENT_NON_DISCARDABLE
Definition ags_vst_iplugin_base.h:57
@ AGS_VST_KCLASSES_DISCARDABLE
Definition ags_vst_iplugin_base.h:55
@ AGS_VST_KUNICODE
Definition ags_vst_iplugin_base.h:58
struct PClassInfoW AgsVstPClassInfoW
Definition ags_vst_iplugin_base.h:47
AgsVstPClassInfo * ags_vst_pclass_info_alloc()
Definition ags_vst_iplugin_base.cpp:75
gchar * ags_vst_pclass_info_get_name(AgsVstPClassInfo *info)
Definition ags_vst_iplugin_base.cpp:143
gchar * ags_vst_pclass_info2_get_sub_categories(AgsVstPClassInfo2 *info2)
Definition ags_vst_iplugin_base.cpp:283
AgsVstTResult ags_vst_iplugin_factory_get_class_info(AgsVstIPluginFactory *iplugin_factory, gint32 index, AgsVstPClassInfo *info)
Definition ags_vst_iplugin_base.cpp:199
AgsVstTResult ags_vst_iplugin_factory3_get_class_info_unicode(AgsVstIPluginFactory3 *iplugin_factory3, gint32 index, AgsVstPClassInfoW *info)
Definition ags_vst_iplugin_base.cpp:326
void ags_vst_pclass_info_free(AgsVstPClassInfo *info)
Definition ags_vst_iplugin_base.cpp:91
AgsVstTResult ags_vst_iplugin_factory2_get_class_info2(AgsVstIPluginFactory2 *iplugin_factory2, gint32 index, AgsVstPClassInfo2 *info2)
Definition ags_vst_iplugin_base.cpp:298
struct PClassInfo AgsVstPClassInfo
Definition ags_vst_iplugin_base.h:40
AgsVstTResult ags_vst_iplugin_base_initialize(AgsVstIPluginBase *iplugin_base, AgsVstFUnknown *funknown)
Definition ags_vst_iplugin_base.cpp:50
AgsVstTUID * ags_vst_pclass_info_get_cid(AgsVstPClassInfo *info)
Definition ags_vst_iplugin_base.cpp:104
gchar * ags_vst_pclass_info_get_category(AgsVstPClassInfo *info)
Definition ags_vst_iplugin_base.cpp:130
const AgsVstTUID * ags_vst_iplugin_factory3_get_iid()
Definition ags_vst_iplugin_base.cpp:311
@ AGS_VST_KURL_SIZE
Definition ags_vst_iplugin_base.h:62
@ AGS_VST_KNAME_SIZE
Definition ags_vst_iplugin_base.h:64
@ AGS_VST_KEMAIL_SIZE
Definition ags_vst_iplugin_base.h:63
struct PClassInfo2 AgsVstPClassInfo2
Definition ags_vst_iplugin_base.h:44
const AgsVstTUID * ags_vst_iplugin_factory2_get_iid()
Definition ags_vst_iplugin_base.cpp:229
gint32 ags_vst_pclass_info_get_cardinality(AgsVstPClassInfo *info)
Definition ags_vst_iplugin_base.cpp:117
struct PFactoryInfo AgsVstPFactoryInfo
Definition ags_vst_iplugin_base.h:39
struct IPluginFactory AgsVstIPluginFactory
Definition ags_vst_iplugin_base.h:42
AgsVstTResult ags_vst_iplugin_factory_create_instance(AgsVstIPluginFactory *iplugin_factory, AgsVstFIDString *cid, AgsVstFIDString *_iid, void **obj)
Definition ags_vst_iplugin_base.cpp:216
void ags_vst_pclass_info2_free(AgsVstPClassInfo2 *info2)
Definition ags_vst_iplugin_base.cpp:257
struct IPluginFactory2 AgsVstIPluginFactory2
Definition ags_vst_iplugin_base.h:45
gint32 ags_vst_iplugin_factory_count_classes(AgsVstIPluginFactory *iplugin_factory)
Definition ags_vst_iplugin_base.cpp:184
const AgsVstTUID * ags_vst_iplugin_factory_get_iid()
Definition ags_vst_iplugin_base.cpp:156
AgsVstPClassInfo2 * ags_vst_pclass_info2_alloc()
Definition ags_vst_iplugin_base.cpp:241
AgsVstTResult ags_vst_iplugin_factory_get_factory_info(AgsVstIPluginFactory *iplugin_factory, AgsVstPFactoryInfo *pfactory_info)
Definition ags_vst_iplugin_base.cpp:170
struct IPluginBase AgsVstIPluginBase
Definition ags_vst_iplugin_base.h:37