Additionally, if the Cue is a
streaming cue
, then a series of “stream blocks” will be written to the file starting
at file offset
0x1000
. Each stream block has the format as described by the following C structures and
constants:
//
---------------------------------------------------------------------------------------------------------------------
// Streaming Cues (Public)
//
---------------------------------------------------------------------------------------------------------------------
typedef struct StreamBlockHeader0 { // (4 bytes)
uint16_t universeIndex; // Index of universe (0..127)
uint16_t reserved; // -
} StreamBlockHeader0;
typedef struct StreamBlockHeader1 { // (4 bytes)
uint32_t endToken; // 'END!'
} StreamBlockHeader1;
typedef struct StreamBlockHeader2 { // (4 bytes)
uint16_t channelIndex; // Index of first channel of
changes (0..511)
uint16_t channelCount; // Channels in update
(1..512)
} StreamBlockHeader2;
typedef struct StreamBlockHeader { // (16 bytes)
uint16_t identifier; // Constant = "SB"
uint8_t blockType; // 0 = One universe of data
uint8_t reserved1; // -
uint16_t reserved2; // -
uint16_t blockSize; // Size of data after header
uint32_t time; // Timestamp for block
(expressed in 1/100 second units)
union {
StreamBlockHeader0 type0; // StreamBlockHeader0
StreamBlockHeader1 type1; // StreamBlockHeader1
StreamBlockHeader2 type2; // StreamBlockHeader2
} info;
} StreamBlockHeader;
// Constants
#define STREAM_BLOCK_ID 0x4253 // 'SB'
#define STREAM_END_TOKEN 0x21444E45 // 'END!'
// blockType
Interactive Technologies, Inc.
CueServer 2 User's Manual - 18.5.18
Page 353 of 429