nongnu.org/gsequencer


gsequencer 7.0.5
Advanced Gtk+ Sequencer
ags_vst_funknown.h
Go to the documentation of this file.
1/* GSequencer - Advanced GTK Sequencer
2 * Copyright (C) 2005-2019 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_FUNKNOWN_H__
21#define __AGS_VST_FUNKNOWN_H__
22
23#include <glib.h>
24
27
28#define AGS_VST_FUNKNOWN_IID (ags_vst_funknown_get_iid())
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#if AGS_VST_COM_COMPATIBLE
35#if AGS_VST_SMTG_OS_WINDOWS
36 enum
37 {
38 AGS_VST_KNO_INTERFACE = (gint32)(0x80004002L),
39 AGS_VST_KRESULT_OK = (gint32)(0x00000000L),
41 AGS_VST_KRESULT_FALS = (gint32)(0x00000001L),
42 AGS_VST_KINVALID_ARGUMENT = (gint32)(0x80070057L),
43 AGS_VST_KNOT_IMPLEMENTED = (gint32)(0x80004001L),
44 AGS_VST_KINTERNAL_ERROR = (gint32)(0x80004005L),
45 AGS_VST_KNOT_INITIALIZED = (gint32)(0x8000FFFFL),
46 AGS_VST_KOUT_OF_MEMORY = (gint32)(0x8007000EL),
47 };
48#else
49 enum
50 {
51 AGS_VST_KNO_INTERFACE = (gint32)(0x80000004L),
52 AGS_VST_KRESULT_OK = (gint32)(0x00000000L),
54 AGS_VST_KRESULT_FALS = (gint32)(0x00000001L),
55 AGS_VST_KINVALID_ARGUMENT = (gint32)(0x80000003L),
56 AGS_VST_KNOT_IMPLEMENTED = (gint32)(0x80000001L),
57 AGS_VST_KINTERNAL_ERROR = (gint32)(0x80000008L),
58 AGS_VST_KNOT_INITIALIZED = (gint32)(0x8000FFFFL),
59 AGS_VST_KOUT_OF_MEMORY = (gint32)(0x80000002L),
60 };
61#endif
62#else
63 enum
64 {
74 };
75#endif
76
77 typedef gint64 AGS_VST_LARGE_INT;
78
79 typedef gint8 AgsVstTUID[16];
80
81 typedef struct FUID AgsVstFUID;
82
83 typedef gchar AgsVstString[64];
84
85 typedef struct FUnknown AgsVstFUnknown;
86
87 typedef gpointer AgsVstI;
88
89 typedef struct FUnknownPtr AgsVstFUnknownPtr;
90
91 typedef struct FReleaser AgsVstFReleaser;
92
94 AgsVstFUID* ags_vst_fuid_new_with_iid(guint32 l1, guint32 l2, guint32 l3, guint32 l4);
96
98
99 gboolean ags_vst_fuid_generate(AgsVstFUID *fuid);
100 gboolean ags_vst_fuid_is_valid(AgsVstFUID *fuid);
101
102 AgsVstFUID* ags_vst_fuid_equal(AgsVstFUID *destination_fuid,
103 AgsVstFUID *source_fuid);
104 gboolean ags_vst_fuid_equals(AgsVstFUID *fuid_a,
105 AgsVstFUID *fuid_b);
106 gboolean ags_vst_fuid_smaller(AgsVstFUID *fuid_a,
107 AgsVstFUID *fuid_b);
108 gboolean ags_vst_fuid_not_equals(AgsVstFUID *fuid_a,
109 AgsVstFUID *fuid_b);
110
111 guint32 ags_vst_fuid_get_long1(AgsVstFUID *fuid);
112 guint32 ags_vst_fuid_get_long2(AgsVstFUID *fuid);
113 guint32 ags_vst_fuid_get_long3(AgsVstFUID *fuid);
114 guint32 ags_vst_fuid_get_long4(AgsVstFUID *fuid);
115
117 guint32 d1, guint32 d2, guint32 d3, guint32 d4);
119 guint32 *d1, guint32 *d2, guint32 *d3, guint32 *d4);
120
122 gchar *string);
124 gchar *string);
125
127 gchar *string);
129 gchar *string);
130
138
140 gchar *string, gint32 style);
141
143 AgsVstTUID *result);
145
147 AgsVstTUID *tuid);
148
150
152 AgsVstTUID *_iid, void **obj);
153
154 guint32 ags_vst_funknown_add_ref(AgsVstFUnknown *funknown);
155
156 guint32 ags_vst_funknown_release(AgsVstFUnknown *funknown);
157
159
161 AgsVstTUID *tuid);
162
164 AgsVstFUnknown *funknown);
166 AgsVstFUnknown *funknown, AgsVstI *vst_interface);
167
169 void ags_freleaser_free(AgsVstFReleaser *freleaser);
170
171#ifdef __cplusplus
172}
173#endif
174
175#endif /*__AGS_VST_FUNKNOWN_H__*/
176
guint32 ags_vst_funknown_release(AgsVstFUnknown *funknown)
Definition ags_vst_funknown.cpp:458
AgsVstTUID * ags_vst_fuid_to_tuid(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:385
AgsVstFUID * ags_vst_fuid_equal(AgsVstFUID *destination_fuid, AgsVstFUID *source_fuid)
Definition ags_vst_funknown.cpp:153
gboolean ags_vst_fuid_from_string(AgsVstFUID *fuid, gchar *string)
Definition ags_vst_funknown.cpp:313
@ AGS_VST_KINTERNAL_ERROR
Definition ags_vst_funknown.h:71
@ AGS_VST_KNOT_INITIALIZED
Definition ags_vst_funknown.h:72
@ AGS_VST_KNO_INTERFACE
Definition ags_vst_funknown.h:65
@ AGS_VST_KNOT_IMPLEMENTED
Definition ags_vst_funknown.h:70
@ AGS_VST_KOUT_OF_MEMORY
Definition ags_vst_funknown.h:73
@ AGS_VST_KRESULT_TRUE
Definition ags_vst_funknown.h:67
@ AGS_VST_KRESULT_FALSE
Definition ags_vst_funknown.h:68
@ AGS_VST_KRESULT_OK
Definition ags_vst_funknown.h:66
@ AGS_VST_KINVALID_ARGUMENT
Definition ags_vst_funknown.h:69
gchar AgsVstString[64]
Definition ags_vst_funknown.h:83
void ags_vst_fuid_to_tuid_with_result(AgsVstFUID *fuid, AgsVstTUID *result)
Definition ags_vst_funknown.cpp:371
struct FUnknownPtr AgsVstFUnknownPtr
Definition ags_vst_funknown.h:89
void ags_vst_fuid_delete(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:113
const AgsVstTUID * ags_vst_funknown_get_iid()
Definition ags_vst_funknown.cpp:418
gboolean ags_vst_fuid_is_valid(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:139
gint8 AgsVstTUID[16]
Definition ags_vst_funknown.h:79
AgsVstFUID * ags_vst_fuid_new_from_fuid(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:99
struct FUnknown AgsVstFUnknown
Definition ags_vst_funknown.h:85
void ags_vst_fuid_from_uint32(AgsVstFUID *fuid, guint32 d1, guint32 d2, guint32 d3, guint32 d4)
Definition ags_vst_funknown.cpp:267
gboolean ags_vst_fuid_from_registry_string(AgsVstFUID *fuid, gchar *string)
Definition ags_vst_funknown.cpp:342
struct FReleaser AgsVstFReleaser
Definition ags_vst_funknown.h:91
AgsVstFUnknownPtr * ags_vst_funknown_ptr_new_from_funknown(AgsVstFUnknown *funknown)
AgsVstFReleaser * ags_freleaser_alloc(AgsVstFUnknown *funknown)
Definition ags_vst_funknown.cpp:470
AgsVstI * ags_funknown_ptr_get_interface(AgsVstFUnknownPtr *funknown_ptr, AgsVstTUID *tuid)
guint32 ags_vst_fuid_get_long2(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:225
void ags_vst_funknown_ptr_set_funknown(AgsVstFUnknownPtr *funknown_ptr, AgsVstFUnknown *funknown)
void ags_vst_fuid_to_registry_string(AgsVstFUID *fuid, gchar *string)
Definition ags_vst_funknown.cpp:327
gboolean ags_vst_fuid_not_equals(AgsVstFUID *fuid_a, AgsVstFUID *fuid_b)
Definition ags_vst_funknown.cpp:198
guint32 ags_vst_fuid_get_long4(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:251
gint64 AGS_VST_LARGE_INT
Definition ags_vst_funknown.h:77
void ags_vst_fuid_to_uint32(AgsVstFUID *fuid, guint32 *d1, guint32 *d2, guint32 *d3, guint32 *d4)
Definition ags_vst_funknown.cpp:284
void ags_vst_funknown_ptr_set_funknown_interface(AgsVstFUnknownPtr *funknown_ptr, AgsVstFUnknown *funknown, AgsVstI *vst_interface)
void ags_vst_fuid_print(AgsVstFUID *fuid, gchar *string, gint32 style)
Definition ags_vst_funknown.cpp:357
AgsVstUIDPrintStyle
Definition ags_vst_funknown.h:132
@ AGS_VST_KFUID
Definition ags_vst_funknown.h:135
@ AGS_VST_KDECLARE_UID
Definition ags_vst_funknown.h:134
@ AGS_VST_KCLASS_UID
Definition ags_vst_funknown.h:136
@ AGS_VST_KINLINE_UID
Definition ags_vst_funknown.h:133
guint32 ags_vst_fuid_get_long3(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:238
struct FUID AgsVstFUID
Definition ags_vst_funknown.h:81
gboolean ags_vst_fuid_generate(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:126
gint32 ags_vst_funknown_query_interface(AgsVstFUnknown *funknown, AgsVstTUID *_iid, void **obj)
Definition ags_vst_funknown.cpp:433
void ags_vst_fuid_to_string(AgsVstFUID *fuid, gchar *string)
Definition ags_vst_funknown.cpp:298
gpointer AgsVstI
Definition ags_vst_funknown.h:87
AgsVstFUID * ags_vst_fuid_new_with_iid(guint32 l1, guint32 l2, guint32 l3, guint32 l4)
Definition ags_vst_funknown.cpp:85
gboolean ags_vst_fuid_smaller(AgsVstFUID *fuid_a, AgsVstFUID *fuid_b)
Definition ags_vst_funknown.cpp:183
guint32 ags_vst_fuid_get_long1(AgsVstFUID *fuid)
Definition ags_vst_funknown.cpp:212
guint32 ags_vst_funknown_add_ref(AgsVstFUnknown *funknown)
Definition ags_vst_funknown.cpp:446
void ags_freleaser_free(AgsVstFReleaser *freleaser)
Definition ags_vst_funknown.cpp:482
gboolean ags_vst_fuid_equals(AgsVstFUID *fuid_a, AgsVstFUID *fuid_b)
Definition ags_vst_funknown.cpp:168
AgsVstFUID * ags_vst_fuid_new()
Definition ags_vst_funknown.cpp:68
AgsVstFUID * ags_vst_fuid_from_tuid(AgsVstFUID *fuid, AgsVstTUID *tuid)
Definition ags_vst_funknown.cpp:399