nongnu.org/gsequencer


gsequencer 7.0.5
Advanced Gtk+ Sequencer
ags_vst_fbuffer.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_FBUFFER_H__
21#define __AGS_VST_FBUFFER_H__
22
23#include <glib.h>
24
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31 typedef struct AgsVstBuffer Buffer;
32
33 AgsVstBuffer* ags_vst_buffer_new();
34 AgsVstBuffer* ags_vst_buffer_new_from_string(void *b, guint32 size);
35 AgsVstBuffer* ags_vst_buffer_new_and_fill_up(guint32 size, guint8 init_val);
36 AgsVstBuffer* ags_vst_buffer_new_with_size(guint32 size);
37 AgsVstBuffer* ags_vst_buffer_new_from_buffer(AgsVstBuffer *buffer);
38
39 void ags_vst_buffer_delete(AgsVstBuffer *buffer);
40
41 void ags_vst_buffer_equal(AgsVstBuffer *destination_buffer,
42 AgsVstBuffer *source_buffer);
43
44 gboolean ags_vst_buffer_equals(AgsVstBuffer *buffer_a,
45 AgsVstBuffer *buffer_b);
46
47 guint32 ags_vst_buffer_get_size(AgsVstBuffer *buffer);
48 gboolean ags_vst_buffer_set_size(AgsVstBuffer *buffer,
49 guint32 new_size);
50
51 gboolean ags_vst_buffer_grow(AgsVstBuffer *buffer,
52 guint32 mem_size);
53
54 gboolean ags_vst_buffer_set_max_size(AgsVstBuffer *buffer,
55 guint32 size);
56
57 void ags_vst_buffer_fillup(AgsVstBuffer *buffer,
58 guint8 init_val);
59 guint32 ags_vst_buffer_get_fill_size(AgsVstBuffer *buffer);
60 gboolean ags_vst_buffer_set_fill_size(AgsVstBuffer *buffer,
61 guint32 c);
62 void ags_vst_buffer_flush(AgsVstBuffer *buffer);
63 gboolean ags_vst_buffer_truncate_to_fill_size(AgsVstBuffer *buffer);
64
65 gboolean ags_vst_buffer_is_full(AgsVstBuffer *buffer);
66 guint32 ags_vst_buffer_get_free(AgsVstBuffer *buffer);
67
68 void ags_vst_buffer_shift_start(AgsVstBuffer *buffer,
69 gint32 amount);
70 void ags_vst_buffer_shift_at(AgsVstBuffer *buffer,
71 guint32 position, gint32 amount);
72 void ags_vst_buffer_move(AgsVstBuffer *buffer,
73 gint32 amount, guint8 init_val);
74
75 gboolean ags_vst_buffer_copy(AgsVstBuffer *buffer,
76 guint32 from, guint32 to, guint32 bytes);
77 guint32 ags_vst_buffer_get(AgsVstBuffer *buffer,
78 void *b, guint32 size);
79
80 void ags_vst_buffer_set_delta(AgsVstBuffer *buffer,
81 guint32 d);
82
83 gboolean ags_vst_buffer_put_from_uint8(AgsVstBuffer *buffer,
84 guint8 val);
85 gboolean ags_vst_buffer_put_from_unichar2(AgsVstBuffer *buffer,
86 gunichar2 c);
87 gboolean ags_vst_buffer_put_from_char(AgsVstBuffer *buffer,
88 gchar c);
89 gboolean ags_vst_buffer_put_from_buffer(AgsVstBuffer *buffer,
90 void *ptr_buffer, guint32 size);
91 gboolean ags_vst_buffer_put_from_uint8_buffer(AgsVstBuffer *buffer,
92 guint8 *ptr_buffer, guint32 size);
93 gboolean ags_vst_buffer_put_from_char_buffer(AgsVstBuffer *buffer,
94 gchar *ptr_buffer, guint32 size);
95 gboolean ags_vst_buffer_put_from_string(AgsVstBuffer *buffer,
96 gchar *string);
97
98 void ags_vst_buffer_set(AgsVstBuffer *buffer,
99 guint8 value);
100
101 gboolean ags_vst_buffer_append_string(AgsVstBuffer *buffer,
102 ags_vst_tchar *s);
103 gboolean ags_vst_buffer_append_char(AgsVstBuffer *buffer,
104 ags_vst_tchar c);
105
106 gboolean ags_vst_buffer_append_string_from_char_buffer(AgsVstBuffer *buffer,
107 gchar *s);
108 gboolean ags_vst_buffer_append_string_from_uchar_buffer(AgsVstBuffer *buffer,
109 guchar *s);
110 gboolean ags_vst_buffer_append_string_from_unichar2_buffer(AgsVstBuffer *buffer,
111 gunichar2 *s);
112
113 gboolean ags_vst_buffer_append_string_from_char_byte(AgsVstBuffer *buffer,
114 gchar c);
115 gboolean ags_vst_buffer_append_string_from_uchar_byte(AgsVstBuffer *buffer,
116 guchar c);
117 gboolean ags_vst_buffer_append_string_from_unichar2_byte(AgsVstBuffer *buffer,
118 gunichar2 c);
119
120 gboolean ags_vst_buffer_prepend_string(AgsVstBuffer *buffer,
121 ags_vst_tchar *s);
122 gboolean ags_vst_buffer_prepend_char(AgsVstBuffer *buffer,
123 ags_vst_tchar c);
124
125 gboolean ags_vst_buffer_prepend_string_from_char_buffer(AgsVstBuffer *buffer,
126 gchar *s);
127 gboolean ags_vst_buffer_prepend_string_from_uchar_buffer(AgsVstBuffer *buffer,
128 guchar *s);
129 gboolean ags_vst_buffer_prepend_string_from_unichar2_buffer(AgsVstBuffer *buffer,
130 gunichar2 *s);
131
132 gboolean ags_vst_buffer_prepend_string_from_char_byte(AgsVstBuffer *buffer,
133 gchar c);
134 gboolean ags_vst_buffer_prepend_string_from_uchar_byte(AgsVstBuffer *buffer,
135 guchar c);
136 gboolean ags_vst_buffer_prepend_string_from_unichar2_byte(AgsVstBuffer *buffer,
137 gunichar2 c);
138
139 void ags_vst_buffer_end_string(AgsVstBuffer *buffer);
140 void ags_vst_buffer_end_string_char(AgsVstBuffer *buffer);
141 void ags_vst_buffer_end_string_unichar2(AgsVstBuffer *buffer);
142
143 gboolean ags_vst_buffer_make_hex_string(AgsVstBuffer *buffer,
144 gchar **result);
145 gboolean ags_vst_buffer_from_hex_string(AgsVstBuffer *buffer,
146 gchar *string);
147
148 void* ags_vst_buffer_to_buffer(AgsVstBuffer *buffer);
149 ags_vst_tchar* ags_vst_buffer_to_str(AgsVstBuffer *buffer);
150 gchar* ags_vst_buffer_to_str8(AgsVstBuffer *buffer);
151 gunichar2* ags_vst_buffer_to_str16(AgsVstBuffer *buffer);
152 gint8* ags_vst_buffer_to_int8_ptr(AgsVstBuffer *buffer);
153 guint8* ags_vst_buffer_to_uint8_ptr(AgsVstBuffer *buffer);
154 gint16* ags_vst_buffer_to_int16_ptr(AgsVstBuffer *buffer);
155 guint16* ags_vst_buffer_to_uint16_ptr(AgsVstBuffer *buffer);
156 gint32* ags_vst_buffer_to_int32_ptr(AgsVstBuffer *buffer);
157 guint32* ags_vst_buffer_to_uint32_ptr(AgsVstBuffer *buffer);
158 gfloat* ags_vst_buffer_to_float_ptr(AgsVstBuffer *buffer);
159 gdouble* ags_vst_buffer_to_double_ptr(AgsVstBuffer *buffer);
160 gunichar2* ags_vst_buffer_to_wchar_ptr(AgsVstBuffer *buffer);
161
168
169 gboolean ags_vst_buffer_swap(AgsVstBuffer *buffer,
170 gint16 swap_size);
171 gboolean ags_vst_buffer_swap_buffer(AgsVstBuffer *buffer,
172 void *ptr_buffer, guint32 buffer_size, gint16 swap_size);
173
174 void ags_vst_buffer_take(AgsVstBuffer *buffer,
175 AgsVstBuffer *from);
176 gint8* ags_vst_buffer_pass(AgsVstBuffer *buffer);
177
178 gboolean ags_vst_buffer_to_wide_string(AgsVstBuffer *buffer,
179 gint32 source_code_page);
180 gboolean ags_vst_buffer_to_multibyte_string(AgsVstBuffer *buffer,
181 gint32 dest_code_page);
182
183
184#ifdef __cplusplus
185}
186#endif
187
188#endif /*__AGS_VST_FBUFFER_H__*/
gint8 * ags_vst_buffer_pass(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:1056
gboolean ags_vst_buffer_prepend_char(AgsVstBuffer *buffer, ags_vst_tchar c)
Definition ags_vst_fbuffer.cpp:657
gboolean ags_vst_buffer_put_from_string(AgsVstBuffer *buffer, gchar *string)
Definition ags_vst_fbuffer.cpp:486
AgsVstBuffer * ags_vst_buffer_new_with_size(guint32 size)
Definition ags_vst_fbuffer.cpp:80
gboolean ags_vst_buffer_put_from_buffer(AgsVstBuffer *buffer, void *ptr_buffer, guint32 size)
Definition ags_vst_fbuffer.cpp:439
gboolean ags_vst_buffer_put_from_uint8_buffer(AgsVstBuffer *buffer, guint8 *ptr_buffer, guint32 size)
Definition ags_vst_fbuffer.cpp:455
gdouble * ags_vst_buffer_to_double_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:981
void ags_vst_buffer_delete(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:109
gboolean ags_vst_buffer_copy(AgsVstBuffer *buffer, guint32 from, guint32 to, guint32 bytes)
Definition ags_vst_fbuffer.cpp:348
gint16 * ags_vst_buffer_to_int16_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:916
gboolean ags_vst_buffer_append_char(AgsVstBuffer *buffer, ags_vst_tchar c)
Definition ags_vst_fbuffer.cpp:533
gboolean ags_vst_buffer_put_from_char(AgsVstBuffer *buffer, gchar c)
Definition ags_vst_fbuffer.cpp:423
gboolean ags_vst_buffer_swap_buffer(AgsVstBuffer *buffer, void *ptr_buffer, guint32 buffer_size, gint16 swap_size)
Definition ags_vst_fbuffer.cpp:1025
gboolean ags_vst_buffer_append_string_from_unichar2_byte(AgsVstBuffer *buffer, gunichar2 c)
Definition ags_vst_fbuffer.cpp:623
gboolean ags_vst_buffer_prepend_string_from_unichar2_byte(AgsVstBuffer *buffer, gunichar2 c)
Definition ags_vst_fbuffer.cpp:747
gboolean ags_vst_buffer_set_max_size(AgsVstBuffer *buffer, guint32 size)
Definition ags_vst_fbuffer.cpp:195
gboolean ags_vst_buffer_append_string_from_char_buffer(AgsVstBuffer *buffer, gchar *s)
Definition ags_vst_fbuffer.cpp:548
gchar * ags_vst_buffer_to_str8(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:864
guint8 * ags_vst_buffer_to_uint8_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:903
gboolean ags_vst_buffer_prepend_string_from_char_byte(AgsVstBuffer *buffer, gchar c)
Definition ags_vst_fbuffer.cpp:717
void ags_vst_buffer_end_string_unichar2(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:784
void ags_vst_buffer_shift_start(AgsVstBuffer *buffer, gint32 amount)
Definition ags_vst_fbuffer.cpp:302
guint32 * ags_vst_buffer_to_uint32_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:955
AgsVstBuffer * ags_vst_buffer_new_and_fill_up(guint32 size, guint8 init_val)
Definition ags_vst_fbuffer.cpp:66
AgsVstBuffer * ags_vst_buffer_new()
Definition ags_vst_fbuffer.cpp:36
gboolean ags_vst_buffer_append_string(AgsVstBuffer *buffer, ags_vst_tchar *s)
Definition ags_vst_fbuffer.cpp:518
gboolean ags_vst_buffer_append_string_from_uchar_byte(AgsVstBuffer *buffer, guchar c)
Definition ags_vst_fbuffer.cpp:608
AgsVstBuffer * ags_vst_buffer_new_from_string(void *b, guint32 size)
Definition ags_vst_fbuffer.cpp:51
gboolean ags_vst_buffer_equals(AgsVstBuffer *buffer_a, AgsVstBuffer *buffer_b)
Definition ags_vst_fbuffer.cpp:137
void ags_vst_buffer_end_string_char(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:772
void ags_vst_buffer_shift_at(AgsVstBuffer *buffer, guint32 position, gint32 amount)
Definition ags_vst_fbuffer.cpp:317
gboolean ags_vst_buffer_to_wide_string(AgsVstBuffer *buffer, gint32 source_code_page)
Definition ags_vst_fbuffer.cpp:1070
guint32 ags_vst_buffer_get_free(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:289
gboolean ags_vst_buffer_truncate_to_fill_size(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:263
guint32 ags_vst_buffer_get(AgsVstBuffer *buffer, void *b, guint32 size)
Definition ags_vst_fbuffer.cpp:364
gboolean ags_vst_buffer_prepend_string(AgsVstBuffer *buffer, ags_vst_tchar *s)
Definition ags_vst_fbuffer.cpp:638
gint8 * ags_vst_buffer_to_int8_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:890
struct AgsVstBuffer Buffer
Definition ags_vst_fbuffer.h:31
void * ags_vst_buffer_to_buffer(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:838
gboolean ags_vst_buffer_put_from_char_buffer(AgsVstBuffer *buffer, gchar *ptr_buffer, guint32 size)
Definition ags_vst_fbuffer.cpp:471
gboolean ags_vst_buffer_set_size(AgsVstBuffer *buffer, guint32 new_size)
Definition ags_vst_fbuffer.cpp:165
guint32 ags_vst_buffer_get_size(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:151
gboolean ags_vst_buffer_put_from_uint8(AgsVstBuffer *buffer, guint8 val)
Definition ags_vst_fbuffer.cpp:393
void ags_vst_buffer_flush(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:250
gboolean ags_vst_buffer_prepend_string_from_char_buffer(AgsVstBuffer *buffer, gchar *s)
Definition ags_vst_fbuffer.cpp:672
gboolean ags_vst_buffer_prepend_string_from_uchar_buffer(AgsVstBuffer *buffer, guchar *s)
Definition ags_vst_fbuffer.cpp:687
gboolean ags_vst_buffer_append_string_from_char_byte(AgsVstBuffer *buffer, gchar c)
Definition ags_vst_fbuffer.cpp:593
void ags_vst_buffer_set_delta(AgsVstBuffer *buffer, guint32 d)
Definition ags_vst_fbuffer.cpp:378
gboolean ags_vst_buffer_grow(AgsVstBuffer *buffer, guint32 mem_size)
Definition ags_vst_fbuffer.cpp:180
void ags_vst_buffer_equal(AgsVstBuffer *destination_buffer, AgsVstBuffer *source_buffer)
Definition ags_vst_fbuffer.cpp:122
gboolean ags_vst_buffer_append_string_from_uchar_buffer(AgsVstBuffer *buffer, guchar *s)
Definition ags_vst_fbuffer.cpp:563
gboolean ags_vst_buffer_make_hex_string(AgsVstBuffer *buffer, gchar **result)
Definition ags_vst_fbuffer.cpp:798
AgsVstBuffer * ags_vst_buffer_new_from_buffer(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:94
guint32 ags_vst_buffer_get_fill_size(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:223
gunichar2 * ags_vst_buffer_to_str16(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:877
gboolean ags_vst_buffer_is_full(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:276
void ags_vst_buffer_end_string(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:760
void ags_vst_buffer_set(AgsVstBuffer *buffer, guint8 value)
Definition ags_vst_fbuffer.cpp:503
ags_vst_tchar * ags_vst_buffer_to_str(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:851
gboolean ags_vst_buffer_set_fill_size(AgsVstBuffer *buffer, guint32 c)
Definition ags_vst_fbuffer.cpp:237
guint16 * ags_vst_buffer_to_uint16_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:929
void ags_vst_buffer_take(AgsVstBuffer *buffer, AgsVstBuffer *from)
Definition ags_vst_fbuffer.cpp:1039
gunichar2 * ags_vst_buffer_to_wchar_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:994
gboolean ags_vst_buffer_to_multibyte_string(AgsVstBuffer *buffer, gint32 dest_code_page)
Definition ags_vst_fbuffer.cpp:1085
gboolean ags_vst_buffer_put_from_unichar2(AgsVstBuffer *buffer, gunichar2 c)
Definition ags_vst_fbuffer.cpp:408
gfloat * ags_vst_buffer_to_float_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:968
gboolean ags_vst_buffer_from_hex_string(AgsVstBuffer *buffer, gchar *string)
Definition ags_vst_fbuffer.cpp:824
void ags_vst_buffer_fillup(AgsVstBuffer *buffer, guint8 init_val)
Definition ags_vst_fbuffer.cpp:209
gboolean ags_vst_buffer_append_string_from_unichar2_buffer(AgsVstBuffer *buffer, gunichar2 *s)
Definition ags_vst_fbuffer.cpp:578
gboolean ags_vst_buffer_swap(AgsVstBuffer *buffer, gint16 swap_size)
Definition ags_vst_fbuffer.cpp:1008
gboolean ags_vst_buffer_prepend_string_from_unichar2_buffer(AgsVstBuffer *buffer, gunichar2 *s)
Definition ags_vst_fbuffer.cpp:702
gboolean ags_vst_buffer_prepend_string_from_uchar_byte(AgsVstBuffer *buffer, guchar c)
Definition ags_vst_fbuffer.cpp:732
void ags_vst_buffer_move(AgsVstBuffer *buffer, gint32 amount, guint8 init_val)
Definition ags_vst_fbuffer.cpp:332
gint32 * ags_vst_buffer_to_int32_ptr(AgsVstBuffer *buffer)
Definition ags_vst_fbuffer.cpp:942
AgsVstSwapSize
Definition ags_vst_fbuffer.h:163
@ AGS_VST_KSWAP16
Definition ags_vst_fbuffer.h:164
@ AGS_VST_KSWAP64
Definition ags_vst_fbuffer.h:166
@ AGS_VST_KSWAP32
Definition ags_vst_fbuffer.h:165
wchar_t ags_vst_tchar
Definition ags_vst_ftypes.h:70