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 #include <ags/vst3-capi/base/source/ags_vst_fbuffer.h> 21 22 #include <base/source/fbuffer.h> 23 24 #include <cstring> 25 26 extern "C" { 27 ags_vst_buffer_new()28 AgsVstBuffer* ags_vst_buffer_new() 29 { 30 return((AgsVstBuffer *) new Steinberg::Buffer()); 31 } 32 ags_vst_buffer_new_from_string(void * b,guint32 size)33 AgsVstBuffer* ags_vst_buffer_new_from_string(void *b, guint32 size) 34 { 35 return((AgsVstBuffer *) new Steinberg::Buffer(b, size)); 36 } 37 ags_vst_buffer_new_and_fill_up(guint32 size,guint8 init_val)38 AgsVstBuffer* ags_vst_buffer_new_and_fill_up(guint32 size, guint8 init_val) 39 { 40 return((AgsVstBuffer *) new Steinberg::Buffer(size, init_val)); 41 } 42 ags_vst_buffer_new_with_size(guint32 size)43 AgsVstBuffer* ags_vst_buffer_new_with_size(guint32 size) 44 { 45 return((AgsVstBuffer *) new Steinberg::Buffer(size)); 46 } 47 ags_vst_buffer_new_from_buffer(AgsVstBuffer * buffer)48 AgsVstBuffer* ags_vst_buffer_new_from_buffer(AgsVstBuffer *buffer) 49 { 50 Steinberg::Buffer *tmp_buffer_0 = static_cast<Steinberg::Buffer*>((void *) buffer); 51 const Steinberg::Buffer& tmp_buffer_1 = (const Steinberg::Buffer&) tmp_buffer_0; 52 53 return((AgsVstBuffer *) new Steinberg::Buffer(tmp_buffer_1)); 54 } 55 ags_vst_buffer_delete(AgsVstBuffer * buffer)56 void ags_vst_buffer_delete(AgsVstBuffer *buffer) 57 { 58 delete buffer; 59 } 60 ags_vst_buffer_equal(AgsVstBuffer * destination_buffer,AgsVstBuffer * source_buffer)61 void ags_vst_buffer_equal(AgsVstBuffer *destination_buffer, 62 AgsVstBuffer *source_buffer) 63 { 64 destination_buffer = source_buffer; 65 } 66 ags_vst_buffer_equals(AgsVstBuffer * buffer_a,AgsVstBuffer * buffer_b)67 gboolean ags_vst_buffer_equals(AgsVstBuffer *buffer_a, 68 AgsVstBuffer *buffer_b) 69 { 70 return(buffer_a == buffer_b); 71 } 72 ags_vst_buffer_get_size(AgsVstBuffer * buffer)73 guint32 ags_vst_buffer_get_size(AgsVstBuffer *buffer) 74 { 75 return(static_cast<Steinberg::Buffer*>((void *) buffer)->getSize()); 76 } 77 ags_vst_buffer_set_size(AgsVstBuffer * buffer,guint32 new_size)78 gboolean ags_vst_buffer_set_size(AgsVstBuffer *buffer, 79 guint32 new_size) 80 { 81 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->setSize(new_size))); 82 } 83 ags_vst_buffer_grow(AgsVstBuffer * buffer,guint32 mem_size)84 gboolean ags_vst_buffer_grow(AgsVstBuffer *buffer, 85 guint32 mem_size) 86 { 87 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->grow(mem_size))); 88 } 89 ags_vst_buffer_set_max_size(AgsVstBuffer * buffer,guint32 size)90 gboolean ags_vst_buffer_set_max_size(AgsVstBuffer *buffer, 91 guint32 size) 92 { 93 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->setMaxSize(size))); 94 } 95 ags_vst_buffer_fillup(AgsVstBuffer * buffer,guint8 init_val)96 void ags_vst_buffer_fillup(AgsVstBuffer *buffer, 97 guint8 init_val) 98 { 99 static_cast<Steinberg::Buffer*>((void *) buffer)->fillup(init_val); 100 } 101 ags_vst_buffer_get_fill_size(AgsVstBuffer * buffer)102 guint32 ags_vst_buffer_get_fill_size(AgsVstBuffer *buffer) 103 { 104 return(static_cast<Steinberg::Buffer*>((void *) buffer)->getFillSize()); 105 } 106 ags_vst_buffer_set_fill_size(AgsVstBuffer * buffer,guint32 c)107 gboolean ags_vst_buffer_set_fill_size(AgsVstBuffer *buffer, 108 guint32 c) 109 { 110 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->setFillSize(c))); 111 } 112 ags_vst_buffer_flush(AgsVstBuffer * buffer)113 void ags_vst_buffer_flush(AgsVstBuffer *buffer) 114 { 115 static_cast<Steinberg::Buffer*>((void *) buffer)->flush(); 116 } 117 ags_vst_buffer_truncate_to_fill_size(AgsVstBuffer * buffer)118 gboolean ags_vst_buffer_truncate_to_fill_size(AgsVstBuffer *buffer) 119 { 120 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->truncateToFillSize())); 121 } 122 ags_vst_buffer_is_full(AgsVstBuffer * buffer)123 gboolean ags_vst_buffer_is_full(AgsVstBuffer *buffer) 124 { 125 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->isFull())); 126 } 127 ags_vst_buffer_get_free(AgsVstBuffer * buffer)128 guint32 ags_vst_buffer_get_free(AgsVstBuffer *buffer) 129 { 130 return(static_cast<Steinberg::Buffer*>((void *) buffer)->getFree()); 131 } 132 ags_vst_buffer_shift_start(AgsVstBuffer * buffer,gint32 amount)133 void ags_vst_buffer_shift_start(AgsVstBuffer *buffer, 134 gint32 amount) 135 { 136 static_cast<Steinberg::Buffer*>((void *) buffer)->shiftStart(amount); 137 } 138 ags_vst_buffer_shift_at(AgsVstBuffer * buffer,guint32 position,gint32 amount)139 void ags_vst_buffer_shift_at(AgsVstBuffer *buffer, 140 guint32 position, gint32 amount) 141 { 142 static_cast<Steinberg::Buffer*>((void *) buffer)->shiftAt(position, amount); 143 } 144 ags_vst_buffer_move(AgsVstBuffer * buffer,gint32 amount,guint8 init_val)145 void ags_vst_buffer_move(AgsVstBuffer *buffer, 146 gint32 amount, guint8 init_val) 147 { 148 static_cast<Steinberg::Buffer*>((void *) buffer)->move(amount, init_val); 149 } 150 ags_vst_buffer_copy(AgsVstBuffer * buffer,guint32 from,guint32 to,guint32 bytes)151 gboolean ags_vst_buffer_copy(AgsVstBuffer *buffer, 152 guint32 from, guint32 to, guint32 bytes) 153 { 154 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->copy(from, to, bytes))); 155 } 156 ags_vst_buffer_get(AgsVstBuffer * buffer,void * b,guint32 size)157 guint32 ags_vst_buffer_get(AgsVstBuffer *buffer, 158 void *b, guint32 size) 159 { 160 return(static_cast<Steinberg::Buffer*>((void *) buffer)->get(b, size)); 161 } 162 ags_vst_buffer_set_delta(AgsVstBuffer * buffer,guint32 d)163 void ags_vst_buffer_set_delta(AgsVstBuffer *buffer, 164 guint32 d) 165 { 166 static_cast<Steinberg::Buffer*>((void *) buffer)->setDelta(d); 167 } 168 ags_vst_buffer_put_from_uint8(AgsVstBuffer * buffer,guint8 val)169 gboolean ags_vst_buffer_put_from_uint8(AgsVstBuffer *buffer, 170 guint8 val) 171 { 172 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->put((Steinberg::uint8) val))); 173 } 174 ags_vst_buffer_put_from_unichar2(AgsVstBuffer * buffer,gunichar2 c)175 gboolean ags_vst_buffer_put_from_unichar2(AgsVstBuffer *buffer, 176 gunichar2 c) 177 { 178 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->put((Steinberg::char16) c))); 179 } 180 ags_vst_buffer_put_from_char(AgsVstBuffer * buffer,gchar c)181 gboolean ags_vst_buffer_put_from_char(AgsVstBuffer *buffer, 182 gchar c) 183 { 184 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->put((char) c))); 185 } 186 ags_vst_buffer_put_from_buffer(AgsVstBuffer * buffer,void * ptr_buffer,guint32 size)187 gboolean ags_vst_buffer_put_from_buffer(AgsVstBuffer *buffer, 188 void *ptr_buffer, guint32 size) 189 { 190 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->put(ptr_buffer, size))); 191 } 192 ags_vst_buffer_put_from_uint8_buffer(AgsVstBuffer * buffer,guint8 * ptr_buffer,guint32 size)193 gboolean ags_vst_buffer_put_from_uint8_buffer(AgsVstBuffer *buffer, 194 guint8 *ptr_buffer, guint32 size) 195 { 196 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->put(ptr_buffer, size))); 197 } 198 ags_vst_buffer_put_from_char_buffer(AgsVstBuffer * buffer,gchar * ptr_buffer,guint32 size)199 gboolean ags_vst_buffer_put_from_char_buffer(AgsVstBuffer *buffer, 200 gchar *ptr_buffer, guint32 size) 201 { 202 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->put(ptr_buffer, size))); 203 } 204 ags_vst_buffer_put_from_string(AgsVstBuffer * buffer,gchar * string)205 gboolean ags_vst_buffer_put_from_string(AgsVstBuffer *buffer, 206 gchar *string) 207 { 208 Steinberg::String *tmp_string_0 = static_cast<Steinberg::String*>((void *) string); 209 const Steinberg::String& tmp_string_1 = (const Steinberg::String&) tmp_string_0; 210 211 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->put(tmp_string_1))); 212 } 213 ags_vst_buffer_set(AgsVstBuffer * buffer,guint8 value)214 void ags_vst_buffer_set(AgsVstBuffer *buffer, 215 guint8 value) 216 { 217 static_cast<Steinberg::Buffer*>((void *) buffer)->set(value); 218 } 219 ags_vst_buffer_append_string(AgsVstBuffer * buffer,ags_vst_tchar * s)220 gboolean ags_vst_buffer_append_string(AgsVstBuffer *buffer, 221 ags_vst_tchar *s) 222 { 223 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString((Steinberg::tchar*) s))); 224 } 225 ags_vst_buffer_append_char(AgsVstBuffer * buffer,ags_vst_tchar c)226 gboolean ags_vst_buffer_append_char(AgsVstBuffer *buffer, 227 ags_vst_tchar c) 228 { 229 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString(c))); 230 } 231 ags_vst_buffer_append_string_from_char_buffer(AgsVstBuffer * buffer,gchar * s)232 gboolean ags_vst_buffer_append_string_from_char_buffer(AgsVstBuffer *buffer, 233 gchar *s) 234 { 235 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString8(s))); 236 } 237 ags_vst_buffer_append_string_from_uchar_buffer(AgsVstBuffer * buffer,guchar * s)238 gboolean ags_vst_buffer_append_string_from_uchar_buffer(AgsVstBuffer *buffer, 239 guchar *s) 240 { 241 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString8(s))); 242 } 243 ags_vst_buffer_append_string_from_unichar2_buffer(AgsVstBuffer * buffer,gunichar2 * s)244 gboolean ags_vst_buffer_append_string_from_unichar2_buffer(AgsVstBuffer *buffer, 245 gunichar2 *s) 246 { 247 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString16((Steinberg::char16*) s))); 248 } 249 ags_vst_buffer_append_string_from_char_byte(AgsVstBuffer * buffer,gchar c)250 gboolean ags_vst_buffer_append_string_from_char_byte(AgsVstBuffer *buffer, 251 gchar c) 252 { 253 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString8(c))); 254 } 255 ags_vst_buffer_append_string_from_uchar_byte(AgsVstBuffer * buffer,guchar c)256 gboolean ags_vst_buffer_append_string_from_uchar_byte(AgsVstBuffer *buffer, 257 guchar c) 258 { 259 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString8(c))); 260 } 261 ags_vst_buffer_append_string_from_unichar2_byte(AgsVstBuffer * buffer,gunichar2 c)262 gboolean ags_vst_buffer_append_string_from_unichar2_byte(AgsVstBuffer *buffer, 263 gunichar2 c) 264 { 265 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->appendString16((Steinberg::char16) c))); 266 } 267 ags_vst_buffer_prepend_string(AgsVstBuffer * buffer,ags_vst_tchar * s)268 gboolean ags_vst_buffer_prepend_string(AgsVstBuffer *buffer, 269 ags_vst_tchar *s) 270 { 271 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString(s))); 272 } 273 ags_vst_buffer_prepend_char(AgsVstBuffer * buffer,ags_vst_tchar c)274 gboolean ags_vst_buffer_prepend_char(AgsVstBuffer *buffer, 275 ags_vst_tchar c) 276 { 277 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString((Steinberg::tchar) c))); 278 } 279 280 ags_vst_buffer_prepend_string_from_char_buffer(AgsVstBuffer * buffer,gchar * s)281 gboolean ags_vst_buffer_prepend_string_from_char_buffer(AgsVstBuffer *buffer, 282 gchar *s) 283 { 284 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString8(s))); 285 } 286 ags_vst_buffer_prepend_string_from_uchar_buffer(AgsVstBuffer * buffer,guchar * s)287 gboolean ags_vst_buffer_prepend_string_from_uchar_buffer(AgsVstBuffer *buffer, 288 guchar *s) 289 { 290 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString8(s))); 291 } 292 ags_vst_buffer_prepend_string_from_unichar2_buffer(AgsVstBuffer * buffer,gunichar2 * s)293 gboolean ags_vst_buffer_prepend_string_from_unichar2_buffer(AgsVstBuffer *buffer, 294 gunichar2 *s) 295 { 296 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString16((Steinberg::char16 *) s))); 297 } 298 299 ags_vst_buffer_prepend_string_from_char_byte(AgsVstBuffer * buffer,gchar c)300 gboolean ags_vst_buffer_prepend_string_from_char_byte(AgsVstBuffer *buffer, 301 gchar c) 302 { 303 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString8(c))); 304 } 305 ags_vst_buffer_prepend_string_from_uchar_byte(AgsVstBuffer * buffer,guchar c)306 gboolean ags_vst_buffer_prepend_string_from_uchar_byte(AgsVstBuffer *buffer, 307 guchar c) 308 { 309 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString8(c))); 310 } 311 ags_vst_buffer_prepend_string_from_unichar2_byte(AgsVstBuffer * buffer,gunichar2 c)312 gboolean ags_vst_buffer_prepend_string_from_unichar2_byte(AgsVstBuffer *buffer, 313 gunichar2 c) 314 { 315 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->prependString16(c))); 316 } 317 ags_vst_buffer_end_string(AgsVstBuffer * buffer)318 void ags_vst_buffer_end_string(AgsVstBuffer *buffer) 319 { 320 static_cast<Steinberg::Buffer*>((void *) buffer)->endString(); 321 } 322 ags_vst_buffer_end_string_char(AgsVstBuffer * buffer)323 void ags_vst_buffer_end_string_char(AgsVstBuffer *buffer) 324 { 325 static_cast<Steinberg::Buffer*>((void *) buffer)->endString8(); 326 } 327 ags_vst_buffer_end_string_unichar2(AgsVstBuffer * buffer)328 void ags_vst_buffer_end_string_unichar2(AgsVstBuffer *buffer) 329 { 330 static_cast<Steinberg::Buffer*>((void *) buffer)->endString16(); 331 } 332 ags_vst_buffer_make_hex_string(AgsVstBuffer * buffer,gchar ** result)333 gboolean ags_vst_buffer_make_hex_string(AgsVstBuffer *buffer, 334 gchar **result) 335 { 336 Steinberg::String *tmp_result_0; 337 const Steinberg::String& tmp_result_1 = (const Steinberg::String&) tmp_result_0; 338 339 gboolean retval; 340 341 retval = static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->makeHexString(const_cast<Steinberg::String&>(tmp_result_1))); 342 343 if(result != NULL){ 344 result[0] = (gchar *) tmp_result_0; 345 } 346 347 return(retval); 348 } 349 ags_vst_buffer_from_hex_string(AgsVstBuffer * buffer,gchar * string)350 gboolean ags_vst_buffer_from_hex_string(AgsVstBuffer *buffer, 351 gchar *string) 352 { 353 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->fromHexString(string))); 354 } 355 ags_vst_buffer_to_buffer(AgsVstBuffer * buffer)356 void* ags_vst_buffer_to_buffer(AgsVstBuffer *buffer) 357 { 358 return(buffer); 359 } 360 ags_vst_buffer_to_str(AgsVstBuffer * buffer)361 ags_vst_tchar* ags_vst_buffer_to_str(AgsVstBuffer *buffer) 362 { 363 return(static_cast<Steinberg::Buffer*>((void *) buffer)->str()); 364 } 365 ags_vst_buffer_to_str8(AgsVstBuffer * buffer)366 gchar* ags_vst_buffer_to_str8(AgsVstBuffer *buffer) 367 { 368 return(static_cast<Steinberg::Buffer*>((void *) buffer)->str8()); 369 } 370 ags_vst_buffer_to_str16(AgsVstBuffer * buffer)371 gunichar2* ags_vst_buffer_to_str16(AgsVstBuffer *buffer) 372 { 373 return((gunichar2 *) static_cast<Steinberg::Buffer*>((void *) buffer)->str16()); 374 } 375 ags_vst_buffer_to_int8_ptr(AgsVstBuffer * buffer)376 gint8* ags_vst_buffer_to_int8_ptr(AgsVstBuffer *buffer) 377 { 378 return((gint8 *) static_cast<Steinberg::Buffer*>((void *) buffer)->int8Ptr()); 379 } 380 ags_vst_buffer_to_uint8_ptr(AgsVstBuffer * buffer)381 guint8* ags_vst_buffer_to_uint8_ptr(AgsVstBuffer *buffer) 382 { 383 return((guint8 *) static_cast<Steinberg::Buffer*>((void *) buffer)->uint8Ptr()); 384 } 385 ags_vst_buffer_to_int16_ptr(AgsVstBuffer * buffer)386 gint16* ags_vst_buffer_to_int16_ptr(AgsVstBuffer *buffer) 387 { 388 return((gint16 *) static_cast<Steinberg::Buffer*>((void *) buffer)->int16Ptr()); 389 } 390 ags_vst_buffer_to_uint16_ptr(AgsVstBuffer * buffer)391 guint16* ags_vst_buffer_to_uint16_ptr(AgsVstBuffer *buffer) 392 { 393 return((guint16 *) static_cast<Steinberg::Buffer*>((void *) buffer)->uint16Ptr()); 394 } 395 ags_vst_buffer_to_int32_ptr(AgsVstBuffer * buffer)396 gint32* ags_vst_buffer_to_int32_ptr(AgsVstBuffer *buffer) 397 { 398 return((gint32 *) static_cast<Steinberg::Buffer*>((void *) buffer)->int32Ptr()); 399 } 400 ags_vst_buffer_to_uint32_ptr(AgsVstBuffer * buffer)401 guint32* ags_vst_buffer_to_uint32_ptr(AgsVstBuffer *buffer) 402 { 403 return((guint32 *) static_cast<Steinberg::Buffer*>((void *) buffer)->uint32Ptr()); 404 } 405 ags_vst_buffer_to_float_ptr(AgsVstBuffer * buffer)406 gfloat* ags_vst_buffer_to_float_ptr(AgsVstBuffer *buffer) 407 { 408 return(static_cast<Steinberg::Buffer*>((void *) buffer)->floatPtr()); 409 } 410 ags_vst_buffer_to_double_ptr(AgsVstBuffer * buffer)411 gdouble* ags_vst_buffer_to_double_ptr(AgsVstBuffer *buffer) 412 { 413 return(static_cast<Steinberg::Buffer*>((void *) buffer)->doublePtr()); 414 } 415 ags_vst_buffer_to_wchar_ptr(AgsVstBuffer * buffer)416 gunichar2* ags_vst_buffer_to_wchar_ptr(AgsVstBuffer *buffer) 417 { 418 return((gunichar2 *) static_cast<Steinberg::Buffer*>((void *) buffer)->wcharPtr()); 419 } 420 ags_vst_buffer_swap(AgsVstBuffer * buffer,gint16 swap_size)421 gboolean ags_vst_buffer_swap(AgsVstBuffer *buffer, 422 gint16 swap_size) 423 { 424 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->swap(swap_size))); 425 } 426 ags_vst_buffer_swap_buffer(AgsVstBuffer * buffer,void * ptr_buffer,guint32 buffer_size,gint16 swap_size)427 gboolean ags_vst_buffer_swap_buffer(AgsVstBuffer *buffer, 428 void *ptr_buffer, guint32 buffer_size, gint16 swap_size) 429 { 430 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->swap(ptr_buffer, buffer_size, swap_size))); 431 } 432 ags_vst_buffer_take(AgsVstBuffer * buffer,AgsVstBuffer * from)433 void ags_vst_buffer_take(AgsVstBuffer *buffer, 434 AgsVstBuffer *from) 435 { 436 Steinberg::Buffer *tmp_buffer_0 = static_cast<Steinberg::Buffer*>((void *) from); 437 const Steinberg::Buffer& tmp_buffer_1 = (const Steinberg::Buffer&) tmp_buffer_0; 438 439 static_cast<Steinberg::Buffer*>((void *) buffer)->take(const_cast<Steinberg::Buffer&>(tmp_buffer_1)); 440 } 441 ags_vst_buffer_pass(AgsVstBuffer * buffer)442 gint8* ags_vst_buffer_pass(AgsVstBuffer *buffer) 443 { 444 return((gint8 *) static_cast<Steinberg::Buffer*>((void *) buffer)->pass()); 445 } 446 ags_vst_buffer_to_wide_string(AgsVstBuffer * buffer,gint32 source_code_page)447 gboolean ags_vst_buffer_to_wide_string(AgsVstBuffer *buffer, 448 gint32 source_code_page) 449 { 450 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->toWideString(source_code_page))); 451 } 452 ags_vst_buffer_to_multibyte_string(AgsVstBuffer * buffer,gint32 dest_code_page)453 gboolean ags_vst_buffer_to_multibyte_string(AgsVstBuffer *buffer, 454 gint32 dest_code_page) 455 { 456 return(static_cast<gboolean>(static_cast<Steinberg::Buffer*>((void *) buffer)->toMultibyteString(dest_code_page))); 457 } 458 459 } 460