org.jaudiotagger.tag.id3.framebody
Class FrameBodyRVRB

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.FrameBodyRVRB
All Implemented Interfaces:
ID3v23FrameBody, ID3v24FrameBody

public class FrameBodyRVRB
extends AbstractID3v2FrameBody
implements ID3v24FrameBody, ID3v23FrameBody

Reverb frame.

Yet another subjective one. You may here adjust echoes of different kinds. Reverb left/right is the delay between every bounce in ms. Reverb bounces left/right is the number of bounces that should be made. $FF equals an infinite number of bounces. Feedback is the amount of volume that should be returned to the next echo bounce. $00 is 0%, $FF is 100%. If this value were $7F, there would be 50% volume reduction on the first bounce, 50% of that on the second and so on. Left to left means the sound from the left bounce to be played in the left speaker, while left to right means sound from the left bounce to be played in the right speaker.

'Premix left to right' is the amount of left sound to be mixed in the right before any reverb is applied, where $00 id 0% and $FF is 100%. 'Premix right to left' does the same thing, but right to left. Setting both premix to $FF would result in a mono output (if the reverb is applied symmetric). There may only be one "RVRB" frame in each tag.

<Header for 'Reverb', ID: "RVRB">
Reverb left (ms) $xx xx
Reverb right (ms) $xx xx
Reverb bounces, left $xx
Reverb bounces, right $xx
Reverb feedback, left to left $xx
Reverb feedback, left to right $xx
Reverb feedback, right to right $xx
Reverb feedback, right to left $xx
Premix left to right $xx
Premix right to left $xx

For more details, please refer to the ID3 specifications:

Version:
$Id: FrameBodyRVRB.java,v 1.14 2009/11/12 13:25:23 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
FrameBodyRVRB()
          Creates a new FrameBodyRVRB datatype.
FrameBodyRVRB(java.nio.ByteBuffer byteBuffer, int frameSize)
          Creates a new FrameBodyRVRB datatype.
FrameBodyRVRB(FrameBodyRVRB body)
           
FrameBodyRVRB(short reverbLeft, short reverbRight, byte reverbBouncesLeft, byte reverbBouncesRight, byte reverbFeedbackLeftToLeft, byte reverbFeedbackLeftToRight, byte reverbFeedbackRightToRight, byte reverbFeedbackRightToLeft, byte premixLeftToRight, byte premixRightToLeft)
          Creates a new FrameBodyRVRB datatype.
 
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

FrameBodyRVRB

public FrameBodyRVRB()
Creates a new FrameBodyRVRB datatype.


FrameBodyRVRB

public FrameBodyRVRB(FrameBodyRVRB body)

FrameBodyRVRB

public FrameBodyRVRB(short reverbLeft,
                     short reverbRight,
                     byte reverbBouncesLeft,
                     byte reverbBouncesRight,
                     byte reverbFeedbackLeftToLeft,
                     byte reverbFeedbackLeftToRight,
                     byte reverbFeedbackRightToRight,
                     byte reverbFeedbackRightToLeft,
                     byte premixLeftToRight,
                     byte premixRightToLeft)
Creates a new FrameBodyRVRB datatype.

Parameters:
reverbLeft -
reverbRight -
reverbBouncesLeft -
reverbBouncesRight -
reverbFeedbackLeftToLeft -
reverbFeedbackLeftToRight -
reverbFeedbackRightToRight -
reverbFeedbackRightToLeft -
premixLeftToRight -
premixRightToLeft -

FrameBodyRVRB

public FrameBodyRVRB(java.nio.ByteBuffer byteBuffer,
                     int frameSize)
              throws InvalidTagException
Creates a new FrameBodyRVRB 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