org.jaudiotagger.tag.id3.framebody
Class FrameBodyMCDI

java.lang.Object
  extended by org.jaudiotagger.tag.id3.AbstractTagItem
      extended by org.jaudiotagger.tag.id3.AbstractTagFrameBody
          extended by org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
              extended by org.jaudiotagger.tag.id3.framebody.FrameBodyMCDI
All Implemented Interfaces:
ID3v23FrameBody, ID3v24FrameBody

public class FrameBodyMCDI
extends AbstractID3v2FrameBody
implements ID3v24FrameBody, ID3v23FrameBody

Music CD identifier frame.

This frame is intended for music that comes from a CD, so that the CD can be identified in databases such as the CDDB. The frame consists of a binary dump of the Table Of Contents, TOC, from the CD, which is a header of 4 bytes and then 8 bytes/track on the CD plus 8 bytes for the 'lead out' making a maximum of 804 bytes. The offset to the beginning of every track on the CD should be described with a four bytes absolute CD-frame address per track, and not with absolute time. This frame requires a present and valid "TRCK" frame, even if the CD's only got one track. There may only be one "MCDI" frame in each tag.

<Header for 'Music CD identifier', ID: "MCDI">
CD TOC<binary data>

For more details, please refer to the ID3 specifications:

Version:
$Id: FrameBodyMCDI.java,v 1.14 2009/11/12 13:25:19 paultaylor Exp $
Author:
: Paul Taylor, : Eric Farng

Field Summary
 
Fields inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
TYPE_BODY
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody
objectList
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagItem
logger
 
Constructor Summary
FrameBodyMCDI()
          Creates a new FrameBodyMCDI datatype.
FrameBodyMCDI(byte[] cdTOC)
          Creates a new FrameBodyMCDI datatype.
FrameBodyMCDI(java.nio.ByteBuffer byteBuffer, int frameSize)
          Creates a new FrameBodyMCDI datatype.
FrameBodyMCDI(FrameBodyMCDI body)
           
 
Method Summary
 java.lang.String getIdentifier()
          The ID3v2 frame identifier
protected  void setupObjectList()
          Create the list of Datatypes that this body expects in the correct order This method needs to be implemented by concrete subclasses
 
Methods inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
createStructure, equals, getSize, read, setSize, setSize, write
 
Methods inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody
getBriefDescription, getHeader, getLongDescription, getObject, getObjectValue, getTextEncoding, isSubsetOf, iterator, setHeader, setObjectValue, setTextEncoding, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FrameBodyMCDI

public FrameBodyMCDI()
Creates a new FrameBodyMCDI datatype.


FrameBodyMCDI

public FrameBodyMCDI(FrameBodyMCDI body)

FrameBodyMCDI

public FrameBodyMCDI(byte[] cdTOC)
Creates a new FrameBodyMCDI datatype.

Parameters:
cdTOC -

FrameBodyMCDI

public FrameBodyMCDI(java.nio.ByteBuffer byteBuffer,
                     int frameSize)
              throws InvalidTagException
Creates a new FrameBodyMCDI datatype.

Parameters:
byteBuffer -
frameSize -
Throws:
InvalidTagException - if unable to create framebody from buffer
Method Detail

getIdentifier

public java.lang.String getIdentifier()
The ID3v2 frame identifier

Specified by:
getIdentifier in class AbstractID3v2FrameBody
Returns:
the ID3v2 frame identifier for this frame type

setupObjectList

protected void setupObjectList()
Description copied from class: AbstractTagFrameBody
Create the list of Datatypes that this body expects in the correct order This method needs to be implemented by concrete subclasses

Specified by:
setupObjectList in class AbstractTagFrameBody