BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bseenums.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __BSE_ENUMS_H__
00003 #define __BSE_ENUMS_H__
00004 
00005 #include <bse/bsetype.hh>
00006 #include <bse/gsldefs.hh>
00007 
00008 
00009 G_BEGIN_DECLS
00010 
00011 
00012 /* --- enum definitions --- */
00013 typedef enum
00014 {
00015   BSE_IIR_FILTER_BUTTERWORTH = 1,
00016   BSE_IIR_FILTER_CHEBYCHEFF1,
00017   BSE_IIR_FILTER_CHEBYCHEFF2
00018 } BseIIRFilterAlgorithm;
00019 typedef enum
00020 {
00021   BSE_IIR_FILTER_LOW_PASS = 1,
00022   BSE_IIR_FILTER_HIGH_PASS,
00023   BSE_IIR_FILTER_BAND_PASS,
00024   BSE_IIR_FILTER_BAND_STOP
00025 } BseIIRFilterType;
00026 typedef enum
00027 {
00028   BSE_REGISTER_PLUGIN   = 1,
00029   BSE_REGISTER_SCRIPT   = 2,
00030   BSE_REGISTER_DONE     = 256
00031 } BseRegistrationType;
00032 typedef enum
00033 {
00034   BSE_INTERPOL_NONE,            /*< nick=None >*/
00035   BSE_INTERPOL_LINEAR,          /*< nick=Linear >*/
00036   BSE_INTERPOL_CUBIC            /*< nick=Cubic >*/
00037 } BseInterpolType;
00038 typedef enum
00039 {
00040   BSE_LOOP_NONE,
00041   BSE_LOOP_PATTERN,
00042   BSE_LOOP_PATTERN_ROWS,
00043   BSE_LOOP_SONG,
00044   BSE_LOOP_LAST                         /*< skip >*/
00045 } BseLoopType;
00046 typedef enum
00047 {
00048   BSE_MAGIC_BSE_BIN_EXTENSION   = 1 << 0,
00049   BSE_MAGIC_BSE_SONG            = 1 << 2
00050 } BseMagicFlags;
00051 typedef enum
00052 {
00053   BSE_ERROR_NONE                = 0,
00054   BSE_ERROR_INTERNAL,
00055   BSE_ERROR_UNKNOWN,
00056   /* general errors */
00057   BSE_ERROR_IO,
00058   BSE_ERROR_PERMS,
00059   /* file errors */
00060   BSE_ERROR_FILE_BUSY,
00061   BSE_ERROR_FILE_EXISTS,
00062   BSE_ERROR_FILE_EOF,
00063   BSE_ERROR_FILE_EMPTY,
00064   BSE_ERROR_FILE_NOT_FOUND,
00065   BSE_ERROR_FILE_IS_DIR,
00066   BSE_ERROR_FILE_OPEN_FAILED,
00067   BSE_ERROR_FILE_SEEK_FAILED,
00068   BSE_ERROR_FILE_READ_FAILED,
00069   BSE_ERROR_FILE_WRITE_FAILED,
00070   /* out of resource conditions */
00071   BSE_ERROR_MANY_FILES,
00072   BSE_ERROR_NO_FILES,
00073   BSE_ERROR_NO_SPACE,
00074   BSE_ERROR_NO_MEMORY,
00075   /* content errors */
00076   BSE_ERROR_NO_HEADER,
00077   BSE_ERROR_NO_SEEK_INFO,
00078   BSE_ERROR_NO_DATA,
00079   BSE_ERROR_DATA_CORRUPT,
00080   BSE_ERROR_WRONG_N_CHANNELS,
00081   BSE_ERROR_FORMAT_INVALID,
00082   BSE_ERROR_FORMAT_UNKNOWN,
00083   BSE_ERROR_DATA_UNMATCHED,
00084   /* miscellaneous errors */
00085   BSE_ERROR_TEMP,
00086   BSE_ERROR_WAVE_NOT_FOUND,
00087   BSE_ERROR_CODEC_FAILURE,
00088   BSE_ERROR_UNIMPLEMENTED,
00089   BSE_ERROR_INVALID_PROPERTY,
00090   BSE_ERROR_INVALID_MIDI_CONTROL,
00091   BSE_ERROR_PARSE_ERROR,
00092   BSE_ERROR_SPAWN,
00093   /* Device errors */
00094   BSE_ERROR_DEVICE_NOT_AVAILABLE,
00095   BSE_ERROR_DEVICE_ASYNC,
00096   BSE_ERROR_DEVICE_BUSY,
00097   BSE_ERROR_DEVICE_FORMAT,
00098   BSE_ERROR_DEVICE_BUFFER,
00099   BSE_ERROR_DEVICE_LATENCY,
00100   BSE_ERROR_DEVICE_CHANNELS,
00101   BSE_ERROR_DEVICE_FREQUENCY,
00102   BSE_ERROR_DEVICES_MISMATCH,
00103   /* BseSource errors */
00104   BSE_ERROR_SOURCE_NO_SUCH_MODULE,
00105   BSE_ERROR_SOURCE_NO_SUCH_ICHANNEL,
00106   BSE_ERROR_SOURCE_NO_SUCH_OCHANNEL,
00107   BSE_ERROR_SOURCE_NO_SUCH_CONNECTION,
00108   BSE_ERROR_SOURCE_PRIVATE_ICHANNEL,
00109   BSE_ERROR_SOURCE_ICHANNEL_IN_USE,
00110   BSE_ERROR_SOURCE_CHANNELS_CONNECTED,
00111   BSE_ERROR_SOURCE_CONNECTION_INVALID,
00112   BSE_ERROR_SOURCE_PARENT_MISMATCH,
00113   BSE_ERROR_SOURCE_BAD_LOOPBACK,
00114   BSE_ERROR_SOURCE_BUSY,
00115   BSE_ERROR_SOURCE_TYPE_INVALID,
00116   /* BseProcedure errors */
00117   BSE_ERROR_PROC_NOT_FOUND,
00118   BSE_ERROR_PROC_BUSY,
00119   BSE_ERROR_PROC_PARAM_INVAL,
00120   BSE_ERROR_PROC_EXECUTION,
00121   BSE_ERROR_PROC_ABORT,
00122   /* various procedure errors */
00123   BSE_ERROR_NO_ENTRY,
00124   BSE_ERROR_NO_EVENT,
00125   BSE_ERROR_NO_TARGET,
00126   BSE_ERROR_NOT_OWNER,
00127   BSE_ERROR_INVALID_OFFSET,
00128   BSE_ERROR_INVALID_DURATION,
00129   BSE_ERROR_INVALID_OVERLAP,
00130 } BseErrorType;
00131 
00132 
00133 /* --- convenience functions --- */
00134 const gchar*    bse_error_name                  (BseErrorType    error_value);
00135 const gchar*    bse_error_nick                  (BseErrorType    error_value);
00136 const gchar*    bse_error_blurb                 (BseErrorType    error_value);
00137 BseErrorType    bse_error_from_errno            (gint            v_errno,
00138                                                  BseErrorType    fallback);
00139 
00140 #define bse_assert_ok(error)    G_STMT_START{                           \
00141      if G_UNLIKELY (error)                                              \
00142        {                                                                \
00143          g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR,                        \
00144                 "%s:%d: unexpected error: %s",                          \
00145                 __FILE__, __LINE__, bse_error_blurb (error));           \
00146        }                                                                \
00147 }G_STMT_END
00148 
00149 G_END_DECLS
00150 
00151 
00152 #endif /* __BSE_ENUMS_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines