FileDocCategorySizeDatePackage
FrameBodyETCO.javaAPI DocJaudiotagger 2.0.46024Wed Mar 30 16:12:02 BST 2011org.jaudiotagger.tag.id3.framebody

FrameBodyETCO

public class FrameBodyETCO extends AbstractID3v2FrameBody implements ID3v24FrameBody, ID3v23FrameBody
Event timing codes frame.

This frame allows synchronisation with key events in a song or sound. The header is:

<Header for 'Event timing codes', ID: "ETCO">
Time stamp format$xx

Where time stamp format is:

$01 Absolute time, 32 bit sized, using MPEG frames as unit
$02 Absolute time, 32 bit sized, using milliseconds as unit

Abolute time means that every stamp contains the time from the beginning of the file.

Followed by a list of key events in the following format:

Type of event$xx
Time stamp$xx (xx ...)

The 'Time stamp' is set to zero if directly at the beginning of the sound or after the previous event. All events should be sorted in chronological order. The type of event is as follows:

$00 padding (has no meaning)
$01 end of initial silence
$02 intro start
$03 mainpart start
$04 outro start
$05 outro end
$06 verse start
$07 refrain start
$08 interlude start
$09 theme start
$0A variation start
$0B key change
$0C time change
$0D momentary unwanted noise (Snap, Crackle & Pop)
$0E sustained noise
$0F sustained noise end
$10 intro end
$11 mainpart end
$12 verse end
$13 refrain end
$14 theme end
$15-$DFreserved for future use
$E0-$EFnot predefined sync 0-F
$F0-$FCreserved for future use
$FD audio end (start of silence)
$FE audio file ends
$FFone more byte of events follows (all the following bytes with the value $FF have the same function)

Terminating the start events such as "intro start" is not required. The 'Not predefined sync's ($E0-EF) are for user events. You might want to synchronise your music to something, like setting of an explosion on-stage, turning on your screensaver etc.

There may only be one "ETCO" frame in each tag.

For more details, please refer to the ID3 specifications:

author
: Paul Taylor
author
: Eric Farng
version
$Id: FrameBodyETCO.java 832 2009-11-12 13:25:38Z paultaylor $

Fields Summary
Constructors Summary
public FrameBodyETCO()
Creates a new FrameBodyETCO datatype.


    
public FrameBodyETCO(FrameBodyETCO body)

        super(body);
    
public FrameBodyETCO(ByteBuffer byteBuffer, int frameSize)
Creates a new FrameBodyETCO datatype.

param
byteBuffer
param
frameSize
throws
InvalidTagException if unable to create framebody from buffer

        super(byteBuffer, frameSize);
    
Methods Summary
public java.lang.StringgetIdentifier()

return

        return ID3v24Frames.FRAME_ID_EVENT_TIMING_CODES;
    
protected voidsetupObjectList()

        objectList.add(new ByteArraySizeTerminated(DataTypes.OBJ_DATA, this));