This request returns a Fade Engine Data data structure. This structure contains detailed information about all playbacks, all universes and all ports simultaneously.

URL:

/get.cgi?req=fed

Response:

The FadeEngineData structure is variable length. The header of 16 bytes is followed by a variable number of EPIData, UniverseData, and PortData records. The total length of a maximum of 32 playbacks, 128 universes, and 4 ports is currently 8,240 bytes. This may grow in future versions.

typedef struct FadeEngineData { // (16 bytes)
    uint16_t            signature;              // Signature = 'CS'
    int16_t             version;                // Version = 0x0002 (or negative error code)
    uint8_t             playbacks;              // Number of EPIData records (0..32)
    uint8_t             playbackSize;           // Size of EPIData record (currently 160)
    uint8_t             universes;              // Number of UniverseData records (0..128)
    uint8_t             universeSize;           // Size of UniverseData record (currently 24 bytes)
    uint8_t             ports;                  // Number of PortData records (0..4)
    uint8_t             portSize;               // Size of PortData record (currently 8 bytes)
    uint8_t             reserved[6];            // -
    uint8_t             variableData[];         // EPIData, UniverseData, and PortData records start here
} FadeEngineData;

typedef struct EPIData {        // (160 bytes total)
    uint8_t             version;                // Result Version = 0x02
    uint8_t             playback;               // Playback number (1..32)
    uint8_t             flags;                  // Flags (0 = Normal, 1 = Stopped, -1 = Not Installed)
    uint8_t             mode;                   // Mode (0 = Merge, 1 = Override, 2 = Scale, 3 = Pin)
    uint8_t             reserved1[4];           // -

    int32_t             curCueID;               // Current Cue ID (0..MAX_CUE_NUMBER, -1=CUE_NONE, -2=CUE_ACTIVE_CHANNELS)
    int32_t             nextCueID;              // Next Cue ID to "Go" to
    int32_t             linkCueID;              // Link Cue ID to link to

    FadeTimes           fadeTimes;              // Current fade/split/delay times
    float               followTime;             // Follow time for next cue go (0 = Do Not Auto-Follow)
    uint8_t             submaster;              // Submaster
    uint8_t             reserved2[3];           // -

    uint32_t            fadeCurTime;            // Fade progress
    uint32_t            fadeTotalTime;          // Fade total time

    float               followTimeRemain;       // Follow progress
    float               followTotalTime;        // Follow total time

    uint32_t            streamCurTime;          // Stream playback position (ticks)
    uint32_t            streamTotalTime;        // Stream total time (ticks)

    uint8_t             reserved3[12];          // -

    char                stackName[STACK_NAME_BUF_SIZE]; // Name of current stack
    char                curCueName[32];                 // Name of current cue
    char                nextCueName[32];                // Name of next cue
} EPIData;

typedef struct UniverseData {   // (24 bytes)
    uint8_t             version;                // Result Version = 0x02
    uint8_t             universe;               // Universe number (1..128)
    uint16_t            channelIndex;           // Starting channel index
    uint16_t            channelCount;           // Width of universe
    uint8_t             rxProtocol;             // Rx Protocol
    uint8_t             reserved;               // -
    int16_t             rxChannels;             // Rx Channels (0..512, -1)
    uint16_t            rxUniverse;             // Rx Universe
    uint32_t            rxExtra;                // Rx Extra Data (port number for KiNET v2)
    uint8_t             txProtocol;             // Tx Protocol
    uint8_t             txEnabled;              // Tx Enabled
    uint16_t            txUniverse;             // Tx Universe  
    uint32_t            txExtra;                // Tx Extra Data (port number for KiNET v2)
} UniverseData;

typedef struct PortData {       // (8 bytes)
    uint8_t             version;                // Result Version = 0x01
    uint8_t             port;                   // Port number (1..4)
    uint8_t             universe;               // Universe number (1..32)
    uint8_t             direction;              // Data direction
    uint8_t             led;                    // LED Indicator value
    uint8_t             reserved1;              // -
    int16_t             channels;               // Tx/Rx Channels (0..512, -1)
} PortData;

 
Errors:

If an error occurs during the processing of the request, only the first four bytes of the above structure will be returned by this URL. The first two bytes will have the “CS” signature and the next two bytes will contain an error value as described by the following table:

Error Value Description
-1 An internal shared memory error occurred.
-2 An internal memory error occurred.