org.farng.mp3.id3
Class FrameBodyETCO

java.lang.Object
  extended byorg.farng.mp3.AbstractMP3FileItem
      extended byorg.farng.mp3.AbstractMP3FragmentBody
          extended byorg.farng.mp3.id3.AbstractID3v2FrameBody
              extended byorg.farng.mp3.id3.FrameBodyETCO

public class FrameBodyETCO
extends AbstractID3v2FrameBody

4.5.   Event timing codes

   This frame allows synchronisation with key events in the audio. 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 [MPEG] frames as unit
     $02  Absolute time, 32 bit sized, using milliseconds as unit

   Absolute 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 MUST 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  main part 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  main part end

     $12  verse end
     $13  refrain end
     $14  theme end

     $15  profanity
     $16  profanity end

     $17-$DF  reserved for future use

     $E0-$EF  not predefined synch 0-F

     $F0-$FC  reserved for future use

     $FD  audio end (start of silence)

     $FE  audio file ends
     $FF  one 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 OPTIONAL. The
   'Not predefined synch's ($E0-EF) are for user events. You might want
   to synchronise your music to something, like setting off an explosion
   on-stage, activating a screensaver etc.

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

Version:
$Revision: 1.4 $
Author:
Eric Farng

Constructor Summary
FrameBodyETCO()
          Creates a new FrameBodyETCO object.
FrameBodyETCO(byte timeStampFormat, byte event, int timeStamp)
          Creates a new FrameBodyETCO object.
FrameBodyETCO(FrameBodyETCO body)
          Creates a new FrameBodyETCO object.
FrameBodyETCO(java.io.RandomAccessFile file)
          Creates a new FrameBodyETCO object.
 
Method Summary
 void addGroup(byte event, int timeStamp)
           
 java.lang.String getIdentifier()
          ID string that usually corresponds to the class name, but can be displayed to the user.
 java.lang.String getOwner()
           
 void getOwner(java.lang.String description)
           
protected  void setupObjectList()
          Create the order of MP3Object objects that this body expects.
 
Methods inherited from class org.farng.mp3.id3.AbstractID3v2FrameBody
equals, readHeader, writeHeader
 
Methods inherited from class org.farng.mp3.AbstractMP3FragmentBody
appendToObjectList, getBriefDescription, getDescription, getObject, getObjectListIterator, getSize, has6ByteHeader, isSubsetOf, iterator, read, setObject, toString, write
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FrameBodyETCO

public FrameBodyETCO()
Creates a new FrameBodyETCO object.


FrameBodyETCO

public FrameBodyETCO(FrameBodyETCO body)
Creates a new FrameBodyETCO object.


FrameBodyETCO

public FrameBodyETCO(byte timeStampFormat,
                     byte event,
                     int timeStamp)
Creates a new FrameBodyETCO object.


FrameBodyETCO

public FrameBodyETCO(java.io.RandomAccessFile file)
              throws java.io.IOException,
                     InvalidTagException
Creates a new FrameBodyETCO object.

Method Detail

getIdentifier

public java.lang.String getIdentifier()
Description copied from class: AbstractMP3FileItem
ID string that usually corresponds to the class name, but can be displayed to the user. It is not indended to identify each individual instance.

Specified by:
getIdentifier in class AbstractMP3FileItem
Returns:
ID string

getOwner

public java.lang.String getOwner()

getOwner

public void getOwner(java.lang.String description)

addGroup

public void addGroup(byte event,
                     int timeStamp)

setupObjectList

protected void setupObjectList()
Description copied from class: AbstractMP3FragmentBody
Create the order of MP3Object objects that this body expects. This method needs to be overwritten.

Specified by:
setupObjectList in class AbstractMP3FragmentBody


Copyright (c) 2004 Eric Farng