BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bseenums.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 __BSE_ENUMS_H__
3 #define __BSE_ENUMS_H__
4 
5 #include <bse/bsetype.hh>
6 #include <bse/gsldefs.hh>
7 
8 
9 G_BEGIN_DECLS
10 
11 
12 /* --- enum definitions --- */
13 typedef enum
14 {
15  BSE_IIR_FILTER_BUTTERWORTH = 1,
16  BSE_IIR_FILTER_CHEBYCHEFF1,
17  BSE_IIR_FILTER_CHEBYCHEFF2
18 } BseIIRFilterAlgorithm;
19 typedef enum
20 {
21  BSE_IIR_FILTER_LOW_PASS = 1,
22  BSE_IIR_FILTER_HIGH_PASS,
23  BSE_IIR_FILTER_BAND_PASS,
24  BSE_IIR_FILTER_BAND_STOP
25 } BseIIRFilterType;
26 typedef enum
27 {
28  BSE_REGISTER_PLUGIN = 1,
29  BSE_REGISTER_SCRIPT = 2,
30  BSE_REGISTER_DONE = 256
31 } BseRegistrationType;
32 typedef enum
33 {
34  BSE_INTERPOL_NONE, /*< nick=None >*/
35  BSE_INTERPOL_LINEAR, /*< nick=Linear >*/
36  BSE_INTERPOL_CUBIC /*< nick=Cubic >*/
37 } BseInterpolType;
38 typedef enum
39 {
40  BSE_LOOP_NONE,
41  BSE_LOOP_PATTERN,
42  BSE_LOOP_PATTERN_ROWS,
43  BSE_LOOP_SONG,
44  BSE_LOOP_LAST /*< skip >*/
45 } BseLoopType;
46 typedef enum
47 {
48  BSE_MAGIC_BSE_BIN_EXTENSION = 1 << 0,
49  BSE_MAGIC_BSE_SONG = 1 << 2
50 } BseMagicFlags;
51 typedef enum
52 {
53  BSE_ERROR_NONE = 0,
54  BSE_ERROR_INTERNAL,
55  BSE_ERROR_UNKNOWN,
56  /* general errors */
57  BSE_ERROR_IO,
58  BSE_ERROR_PERMS,
59  /* file errors */
60  BSE_ERROR_FILE_BUSY,
61  BSE_ERROR_FILE_EXISTS,
62  BSE_ERROR_FILE_EOF,
63  BSE_ERROR_FILE_EMPTY,
64  BSE_ERROR_FILE_NOT_FOUND,
65  BSE_ERROR_FILE_IS_DIR,
66  BSE_ERROR_FILE_OPEN_FAILED,
67  BSE_ERROR_FILE_SEEK_FAILED,
68  BSE_ERROR_FILE_READ_FAILED,
69  BSE_ERROR_FILE_WRITE_FAILED,
70  /* out of resource conditions */
71  BSE_ERROR_MANY_FILES,
72  BSE_ERROR_NO_FILES,
73  BSE_ERROR_NO_SPACE,
74  BSE_ERROR_NO_MEMORY,
75  /* content errors */
76  BSE_ERROR_NO_HEADER,
77  BSE_ERROR_NO_SEEK_INFO,
78  BSE_ERROR_NO_DATA,
79  BSE_ERROR_DATA_CORRUPT,
80  BSE_ERROR_WRONG_N_CHANNELS,
81  BSE_ERROR_FORMAT_INVALID,
82  BSE_ERROR_FORMAT_UNKNOWN,
83  BSE_ERROR_DATA_UNMATCHED,
84  /* miscellaneous errors */
85  BSE_ERROR_TEMP,
86  BSE_ERROR_WAVE_NOT_FOUND,
87  BSE_ERROR_CODEC_FAILURE,
88  BSE_ERROR_UNIMPLEMENTED,
89  BSE_ERROR_INVALID_PROPERTY,
90  BSE_ERROR_INVALID_MIDI_CONTROL,
91  BSE_ERROR_PARSE_ERROR,
92  BSE_ERROR_SPAWN,
93  /* Device errors */
94  BSE_ERROR_DEVICE_NOT_AVAILABLE,
95  BSE_ERROR_DEVICE_ASYNC,
96  BSE_ERROR_DEVICE_BUSY,
97  BSE_ERROR_DEVICE_FORMAT,
98  BSE_ERROR_DEVICE_BUFFER,
99  BSE_ERROR_DEVICE_LATENCY,
100  BSE_ERROR_DEVICE_CHANNELS,
101  BSE_ERROR_DEVICE_FREQUENCY,
102  BSE_ERROR_DEVICES_MISMATCH,
103  /* BseSource errors */
104  BSE_ERROR_SOURCE_NO_SUCH_MODULE,
105  BSE_ERROR_SOURCE_NO_SUCH_ICHANNEL,
106  BSE_ERROR_SOURCE_NO_SUCH_OCHANNEL,
107  BSE_ERROR_SOURCE_NO_SUCH_CONNECTION,
108  BSE_ERROR_SOURCE_PRIVATE_ICHANNEL,
109  BSE_ERROR_SOURCE_ICHANNEL_IN_USE,
110  BSE_ERROR_SOURCE_CHANNELS_CONNECTED,
111  BSE_ERROR_SOURCE_CONNECTION_INVALID,
112  BSE_ERROR_SOURCE_PARENT_MISMATCH,
113  BSE_ERROR_SOURCE_BAD_LOOPBACK,
114  BSE_ERROR_SOURCE_BUSY,
115  BSE_ERROR_SOURCE_TYPE_INVALID,
116  /* BseProcedure errors */
117  BSE_ERROR_PROC_NOT_FOUND,
118  BSE_ERROR_PROC_BUSY,
119  BSE_ERROR_PROC_PARAM_INVAL,
120  BSE_ERROR_PROC_EXECUTION,
121  BSE_ERROR_PROC_ABORT,
122  /* various procedure errors */
123  BSE_ERROR_NO_ENTRY,
124  BSE_ERROR_NO_EVENT,
125  BSE_ERROR_NO_TARGET,
126  BSE_ERROR_NOT_OWNER,
127  BSE_ERROR_INVALID_OFFSET,
128  BSE_ERROR_INVALID_DURATION,
129  BSE_ERROR_INVALID_OVERLAP,
130 } BseErrorType;
131 
132 
133 /* --- convenience functions --- */
134 const gchar* bse_error_name (BseErrorType error_value);
135 const gchar* bse_error_nick (BseErrorType error_value);
136 const gchar* bse_error_blurb (BseErrorType error_value);
137 BseErrorType bse_error_from_errno (gint v_errno,
138  BseErrorType fallback);
139 
140 #define bse_assert_ok(error) G_STMT_START{ \
141  if G_UNLIKELY (error) \
142  { \
143  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, \
144  "%s:%d: unexpected error: %s", \
145  __FILE__, __LINE__, bse_error_blurb (error)); \
146  } \
147 }G_STMT_END
148 
149 G_END_DECLS
150 
151 
152 #endif /* __BSE_ENUMS_H__ */