BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 G_BEGIN_DECLS
8 
9 /* --- typedefs & enums --- */
10 typedef struct _GslVorbisCutter GslVorbisCutter;
11 typedef enum
12 {
13  GSL_VORBIS_CUTTER_NONE = 0,
14  GSL_VORBIS_CUTTER_SAMPLE_BOUNDARY = 1,
15  GSL_VORBIS_CUTTER_PACKET_BOUNDARY = 2,
16  GSL_VORBIS_CUTTER_PAGE_BOUNDARY = 3
17 } GslVorbisCutterMode;
18 
19 /* --- cutter API --- */
20 GslVorbisCutter* gsl_vorbis_cutter_new (void);
21 void gsl_vorbis_cutter_set_cutpoint (GslVorbisCutter *self,
22  GslVorbisCutterMode cutmode,
23  SfiNum cutpoint);
24 void gsl_vorbis_cutter_filter_serialno (GslVorbisCutter *self,
25  guint serialno);
26 void gsl_vorbis_cutter_force_serialno (GslVorbisCutter *self,
27  guint serialno);
28 void gsl_vorbis_cutter_write_ogg (GslVorbisCutter *self,
29  guint n_bytes,
30  guint8 *bytes);
31 guint gsl_vorbis_cutter_read_ogg (GslVorbisCutter *self,
32  guint n_bytes,
33  guint8 *bytes);
34 gboolean gsl_vorbis_cutter_ogg_eos (GslVorbisCutter *self);
35 void gsl_vorbis_cutter_destroy (GslVorbisCutter *self);
36 
37 G_END_DECLS
38 
39 #endif /* __GSL_VORBIS_CUTTER_H__ */