seismix/developers/api/types

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
};