app types
#define CORE 'A'
#define REC 'B'
#define VREC 'C'
#define TRAN 'D'
#define AMIXER 'E'
#define MMIXER 'F'
#define VMIXER 'G'
#define AROUTER 'H'
#define VROUTER 'I'
#define MROUTER 'J'
#define GMIXER 'K'
#define GARR 'L'
#define GTRAN 'M'
#define GMET 'N'
// O to W now undefined
#define SONG 'S'
#define IPL 'X'
#define IPC 'Y'
#define CON 'Z'
msg types
/* MSG PRIORITIES */
#define HI 1
#define LO 2
#define HI_PRI 1
#define LO_PRI 2
/* MSG TYPES */
// NULL msg - it is ignored !
#define EMPTY 0
// Msgs passed back up to the user-app.
#define BROAD 65
#define TEST 66
#define GENERAL 67
#define SYSCOM 68
#define EVENT 69
#define ANNOUNCE_NEW_OBJECT 9
#define ANNOUNCE_DEL_OBJECT 10
//"2nd level" types:
enum{
NOTIFY = 1,
NOTIFYFAIL,
NOTIFYSET,
NOTIFYGET,
NOTIFYDONE
};
song properties
// weird value types - dealt with by different functions
#define STIME 1 // struct
#define LEN 2 // u8
#define PB_DELAY_MU 3 // s4
#define PB_DELAY_SAMPLE 4 // s4
#define PB_LEVEL 5 // s4
#define PB_PAN 6 // s4
// unsigned stuff
#define REL_SP 10 // u1
#define SMUTE 11 // u1
#define SSOLO 12 // u1
#define RECORD 13 // u1
#define LOCKED 14 // u1
#define FOLDER 15 // u1
#define PARENT 16 // u4
#define MOTHER 17 // u4
// -- end of stuff common to all std objs --
// -- stuff particular to different object types --
#define COLOUR 20 // u4
#define HEIGHT 21 // u4
#define NUM 22 // u4
#define EVENT_TYPE 23 // u1
#define SAMPLE_START 24 // u4
#define SAMPLE_END 25 // u4
#define PTR_IDX 26 // u2 - either LABEL_IDX or FIL_IDX (old POOL_IDX)
#define MTYPE 27 // u1
#define MCHAN 28 // u1
#define MNOTE 29 // u1
#define VEL 30 // u1
#define OFF_VEL 31 // u1
#define DUR 32 // u1
#define ENVELOPE 33 // u1
#define LOOP 34 // u1
#define ACHAN 35 // u4
#define VALUE 36 // u4
#define CTL_IDX 37 // u2
#define OP_TYPE 38 // u1
#define FUNCTION 39 // u1
#define TRIGGER 40 // u1
#define ARGS 41 // u1
#define TARGET 42 // u1
#define OUTPUT 43 // u1
#define CHAIN 44 // u1
#define FRAME_NUM 45 // u4
#define VIDEO_FMT 46 // u1
#define COMP_FMT 47 // u1
#define VHEIGHT 48 // u2
#define VWIDTH 49 // u2
#define DWIDTH 50 // u2
#define DHEIGHT 51 // u2
// struct _file stuff
#define INTERLEAVE 60 // u1
#define BITS 61 // u1
#define INT_FLOAT 62 // u1
#define CPU_PCM 63 // u1
#define LE_BE 64 // u1
#define SAMPLE_RATE 65 // u4
#define REPEAT_COUNT 90 // u2
#define REPEAT_LEN 91 // u8
#define TAG 92 // u1
//track only props
#define CHAN 93
#define PROP_TRACK 94
#define PROP_TRIM_LEFT 95
#define PROP_SPLIT 96
#define PROP_NEW_SONG 97
#define PROP_LOAD_SONG 98
#define PROP_SAVE_SONG 99
#define PROP_TEMPO 101
// struct _list stuff
#define STRING 100 // string
// object types
enum {
DAE_OBJECT_EMPTY = 0,
DAE_OBJECT_TRACK,
DAE_OBJECT_CHAN,
DAE_OBJECT_PART,
DAE_OBJECT_EVENT,
DAE_OBJECT_RAW,
DAE_OBJECT_STRING,
DAE_OBJECT_ROUTE,
DAE_OBJECT_FILE,
DAE_OBJECT_LIST,
DAE_OBJECT_SONG,
DAE_OBJECT_UNSUPPORTED,
DAE_OBJECT_ALL
};