Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
gslvorbis-cutter.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GSL_VORBIS_CUTTER_H__
3 #define __GSL_VORBIS_CUTTER_H__
4 
5 #include <bse/gslcommon.hh>
6 
7 /* --- typedefs & enums --- */
8 typedef struct _GslVorbisCutter GslVorbisCutter;
9 typedef enum
10 {
11  GSL_VORBIS_CUTTER_NONE = 0,
12  GSL_VORBIS_CUTTER_SAMPLE_BOUNDARY = 1,
13  GSL_VORBIS_CUTTER_PACKET_BOUNDARY = 2,
14  GSL_VORBIS_CUTTER_PAGE_BOUNDARY = 3
15 } GslVorbisCutterMode;
16 
17 /* --- cutter API --- */
18 GslVorbisCutter* gsl_vorbis_cutter_new (void);
19 void gsl_vorbis_cutter_set_cutpoint (GslVorbisCutter *self,
20  GslVorbisCutterMode cutmode,
21  SfiNum cutpoint);
22 void gsl_vorbis_cutter_filter_serialno (GslVorbisCutter *self,
23  guint serialno);
24 void gsl_vorbis_cutter_force_serialno (GslVorbisCutter *self,
25  guint serialno);
26 void gsl_vorbis_cutter_write_ogg (GslVorbisCutter *self,
27  guint n_bytes,
28  guint8 *bytes);
29 guint gsl_vorbis_cutter_read_ogg (GslVorbisCutter *self,
30  guint n_bytes,
31  guint8 *bytes);
32 gboolean gsl_vorbis_cutter_ogg_eos (GslVorbisCutter *self);
33 void gsl_vorbis_cutter_destroy (GslVorbisCutter *self);
34 
35 #endif /* __GSL_VORBIS_CUTTER_H__ */