Play File Modify 0x011C

SwitchKit Name

PlayFileModify

Type

EXS API and SwitchKit API message

Description

NOTE: This message applies to the DSP Series 2 card only.

Use this message to modify a current play file session. You can modify the gain and speed of the playback, pause or resume the playback, or skip forward or backward (in 100 ms increments) through the current file.

When modifying a file that is playing to a conference, use the Conference AIB instead of the Channel AIB. If you are modifying a file that is playing to a conference, use the optional File ID TLV. If you use the File ID TLV, all instances of that File ID being played in the specified conference are modified. If the File ID TLV is absent, all the files playing into that conference are modified.

Sent by

Host Application

Related API Messages

Play File Start, Play File Stop

SwitchKit Code

C Structure

typedef struct {

UBYTE AddrInfo[30];

UBYTE Action;

UBYTE DataType;

UBYTE TLVCount;

UBYTE Data[220];

} XL_PlayFileModify;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE reserved6[13];

UBYTE AddrInfo[251];

} XL_PlayFileModifyAck;

 

 

 

C++ Class

class XLC_PlayFileModify : public XLC_OutboundMessage {

public:

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

XBYTE getConferenceID() const;

void setConferenceID(XBYTE x);
XBYTE getParentConferenceID() const;

void setParentConferenceID(XBYTE x);

XBYTE getChildConferenceID() const;

void setChildConferenceID(XBYTE x);

XBYTE getSpan() const;

void setSpan(XBYTE x;

UBYTE getChannel() const;

void setChannel(UBYTE x);

UBYTE getAction() const;

void setAction(UBYTE x);

UBYTE getDataType() const;

void setDataType(UBYTE x);

UBYTE getTLVCount() const;

void setTLVCount(UBYTE x);

const UBYTE *getData() const;

UBYTE *getData();

void setData(UBYTE *x)

};

 

C++ Class Response

class XLC_PlayFileModifyAck : public XLC_OutboundMessage {

public:

 

unsigned short getStatus() const

void setStatus(unsigned short x)

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

XBYTE getConferenceID() const;

void setConferenceID(XBYTE x);

XBYTE getParentConferenceID() const;

void setParentConferenceID(XBYTE x);

XBYTE getChildConferenceID() const;

void setChildConferenceID(XBYTE x);

XBYTE getSpan() const ;

void setSpan(XBYTE x) ;

UBYTE getChannel() const;

void setChannel(UBYTE x);

;

 

 

EXS API Hex Format

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0x00NN)

1, 2

Length (0x00NN)

3, 4

Message Type (0x011C)

3, 4

Message Type (0x011C)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

8

:

AIB

Address Method

 

8, 9

Status (MSB, LSB)

0x0001 Invalid TLV Data

Software can't find the TLV Data Buffer. This can also
occur if the Data for a TLV is out of range.

0x0003 Invalid number of TLVs

There are no TLVs in the message.

0x0004 Invalid TLV Length

The TLV length is different from what is expected.

0x0006 Invalid TLV

Unknown TLV

0x000D Mandatory TLVs missing

One or more mandatory TLVs are missing

 

Also see Common Response Status Values in the API Reference

Number of AEs to follow

10

AIB (same as message)

AEs

0x0D Channel

 

Or

 

0x55 Conference ID or 0x45 Child Conference ID and
0x01 Slot

If playing file to a conference

11

Checksum

:

Action

0x00 Modify

0x01 Pause

0x02 Resume

0x03 Skip Forward

0x04 Skip Backward

:

Data Type

0x00 TLVs

:

Number of TLVs to Follow

:

TLVs

If the Action field is Modify (0x00 ), these TLVs are optional:

0x05E3 Gain

0x05E4 Speed

 

If the Action field is Pause (0x01) or Resume (0x02), no TLVs are used

 

If the Action field is Skip Forward (0x03) or Skip Backward (0x04), this TLV is mandatory:

0x05EC Skip Steps

 

If the AIB specifies Conference ID (0x55) or Child Conference ID (0x45) use this TLV to indicate the file to be modified:

:

Checksum