nongnu.org/gsequencer


gsequencer 7.0.5
Advanced Gtk+ Sequencer
ags_vst_ibstream.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_IBSTREAM_H__
21#define __AGS_VST_IBSTREAM_H__
22
24
25#define AGS_VST_IBSTREAM_IID (ags_vst_ibstream_get_iid())
26#define AGS_VST_ISIZEABLE_STREAM_IID (ags_vst_isizeable_stream_get_iid())
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32 typedef struct IBStream AgsVstIBStream;
33
34 typedef struct ISizeableStream AgsVstISizeableStream;
35
42
44
45 AgsVstTResult ags_vst_ibstream_read(AgsVstIBStream *ib_stream, gpointer buffer, gint32 num_bytes, gint32 *num_bytes_read);
46 AgsVstTResult ags_vst_ibstream_write(AgsVstIBStream *ib_stream, gpointer buffer, gint32 num_bytes, gint32 *num_bytes_written);
47
48 AgsVstTResult ags_vst_ibstream_seek(AgsVstIBStream *ib_stream, gint64 pos, gint32 mode, gint64 *result);
49
50 AgsVstTResult ags_vst_ibstream_tell(AgsVstIBStream *ib_stream, gint64 *pos);
51
53
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif /*__AGS_VST_IBSTREAM_H__*/
gint32 AgsVstTResult
Definition ags_vst_ftypes.h:58
gint8 AgsVstTUID[16]
Definition ags_vst_funknown.h:79
AgsVstTResult ags_vst_ibstream_read(AgsVstIBStream *ib_stream, gpointer buffer, gint32 num_bytes, gint32 *num_bytes_read)
Definition ags_vst_ibstream.cpp:51
AgsVstTUID * ags_vst_isizeable_stream_get_iid()
Definition ags_vst_ibstream.cpp:131
struct IBStream AgsVstIBStream
Definition ags_vst_ibstream.h:32
AgsVstTResult ags_vst_ibstream_write(AgsVstIBStream *ib_stream, gpointer buffer, gint32 num_bytes, gint32 *num_bytes_written)
Definition ags_vst_ibstream.cpp:68
struct ISizeableStream AgsVstISizeableStream
Definition ags_vst_ibstream.h:34
AgsVstTUID * ags_vst_ibstream_get_iid()
Definition ags_vst_ibstream.cpp:34
AgsVstIStreamSeekMode
Definition ags_vst_ibstream.h:37
@ AGS_VST_KIB_SEEK_END
Definition ags_vst_ibstream.h:40
@ AGS_VST_KIB_SEEK_SET
Definition ags_vst_ibstream.h:38
@ AGS_VST_KIB_SEEK_CUR
Definition ags_vst_ibstream.h:39
AgsVstTResult ags_vst_ibstream_seek(AgsVstIBStream *ib_stream, gint64 pos, gint32 mode, gint64 *result)
Definition ags_vst_ibstream.cpp:85
AgsVstTResult ags_vst_isizeable_stream_set_stream_size(AgsVstISizeableStream *isizeable_stream, gint64 stream_size)
Definition ags_vst_ibstream.cpp:148
AgsVstTResult ags_vst_ibstream_tell(AgsVstIBStream *ib_stream, gint64 *pos)
Definition ags_vst_ibstream.cpp:109