org.jaudiotagger.tag
Class TagOptionSingleton

java.lang.Object
  extended by org.jaudiotagger.tag.TagOptionSingleton

public class TagOptionSingleton
extends java.lang.Object


Field Summary
private static java.lang.String DEFAULT
           
private static java.lang.String defaultOptions
           
private  boolean filenameTagSave
           
private  boolean id3v1Save
          if we should save any fields of the ID3v1 tag or not.
private  boolean id3v1SaveAlbum
          if we should save the album field of the ID3v1 tag or not.
private  boolean id3v1SaveArtist
          if we should save the artist field of the ID3v1 tag or not.
private  boolean id3v1SaveComment
          if we should save the comment field of the ID3v1 tag or not.
private  boolean id3v1SaveGenre
          if we should save the genre field of the ID3v1 tag or not.
private  boolean id3v1SaveTitle
          if we should save the title field of the ID3v1 tag or not.
private  boolean id3v1SaveTrack
          if we should save the track field of the ID3v1 tag or not.
private  boolean id3v1SaveYear
          if we should save the year field of the ID3v1 tag or not.
private  byte id3v23DefaultTextEncoding
          This is the default text encoding to use for new v23 frames, when unicode is required UTF16 will always be used because that is the only valid option for v23.
private  byte id3v24DefaultTextEncoding
          This is the default text encoding to use for new v24 frames, it defaults to simple ISO8859 but by changing this value you could always used UTF8 for example whether you needed to or not
private  byte id3v24UnicodeTextEncoding
          This is text encoding to use for new v24 frames when unicode is required, it defaults to UTF16 just because this encoding is understand by all ID3 versions
private  boolean id3v2PaddingCopyTag
          When adjusting the ID3v2 padding, if should we copy the current ID3v2 tag to the new MP3 file.
private  boolean id3v2PaddingWillShorten
          When adjusting the ID3v2 padding, if we should shorten the length of the ID3v2 tag padding.
private  boolean id3v2Save
          if we should save any fields of the ID3v2 tag or not.
private  java.util.HashMap<java.lang.Class<? extends ID3v24FrameBody>,java.util.LinkedList<java.lang.String>> keywordMap
           
private  java.lang.String language
          default language for any ID3v2 tags frameswhich require it.
private  boolean lyrics3KeepEmptyFieldIfRead
          if we should keep an empty Lyrics3 field while we're reading.
private  boolean lyrics3Save
          if we should save any fields of the Lyrics3 tag or not.
private  boolean lyrics3SaveEmptyField
          if we should save empty Lyrics3 field or not.
private  java.util.HashMap<java.lang.String,java.lang.Boolean> lyrics3SaveFieldMap
          Map of lyric ID's to Boolean objects if we should or should not save the specific Kyrics3 field.
private  int numberMP3SyncFrame
          number of frames to sync when trying to find the start of the MP3 frame data.
private  boolean originalSavedAfterAdjustingID3v2Padding
           
private  boolean padNumbers
          Frames such as TRCK and TPOS sometimes pad single didgit numbers to aid sorting
private  java.util.HashMap<java.lang.String,java.lang.String> parenthesisMap
          parenthesis map stuff
private  boolean removeTrailingTerminatorOnWrite
          iTunes needlessly writes null terminators at the end for TextEncodedStringSizeTerminated values, if this option is enabled these characters are removed
private  java.util.HashMap<java.lang.String,java.lang.String> replaceWordMap
          HashMap listing words to be replaced if found
private  boolean resetTextEncodingForExistingFrames
          When writing frames if this is set to true then the frame will be written using the defaults disregarding the text encoding originally used to create the frame.
private static java.util.HashMap<java.lang.String,TagOptionSingleton> tagOptionTable
           
private  byte timeStampFormat
          default time stamp format for any ID3v2 tag frames which require it.
private  boolean truncateTextWithoutErrors
          Some formats impose maxmimum lengths for fields , if the text provided is longer than the formats allows it will truncate and write a warning, if this is not set it will throw an exception
private  boolean unsyncTags
          Unsynchronize tags/frames this is rarely required these days and can cause more problems than it solves
 
Constructor Summary
private TagOptionSingleton()
          Creates a new TagOptions datatype.
 
Method Summary
 void addKeyword(java.lang.Class<? extends ID3v24FrameBody> id3v2FrameBodyClass, java.lang.String keyword)
           
 void addParenthesis(java.lang.String open, java.lang.String close)
           
 void addReplaceWord(java.lang.String oldWord, java.lang.String newWord)
           
 byte getId3v23DefaultTextEncoding()
          Get the default text encoding to use for new v23 frames, when unicode is required UTF16 will always be used because that is the only valid option for v23/v22
 byte getId3v24DefaultTextEncoding()
          Get the default text encoding to use for new v24 frames, it defaults to simple ISO8859 but by changing this value you could always used UTF8 for example whether you needed to or not
 byte getId3v24UnicodeTextEncoding()
          Get the text encoding to use for new v24 frames when unicode is required, it defaults to UTF16 just because this encoding is understand by all ID3 versions
static TagOptionSingleton getInstance()
           
static TagOptionSingleton getInstance(java.lang.String instanceKey)
           
static java.lang.String getInstanceKey()
           
 java.util.Iterator<java.lang.Class<? extends ID3v24FrameBody>> getKeywordIterator()
           
 java.util.Iterator<java.lang.String> getKeywordListIterator(java.lang.Class<? extends ID3v24FrameBody> id3v2_4FrameBody)
           
 java.lang.String getLanguage()
          Returns the default language for any ID3v2 tag frames which require it.
 boolean getLyrics3SaveField(java.lang.String id)
          Returns true if we should save the Lyrics3 field asked for in the argument.
 java.util.HashMap<java.lang.String,java.lang.Boolean> getLyrics3SaveFieldMap()
           
 java.lang.String getNewReplaceWord(java.lang.String oldWord)
           
 int getNumberMP3SyncFrame()
          Returns the number of MP3 frames to sync when trying to find the start of the MP3 frame data.
 java.util.Iterator<java.lang.String> getOldReplaceWordIterator()
           
 java.util.Iterator<java.lang.String> getOpenParenthesisIterator()
           
 byte getTimeStampFormat()
          Returns the default time stamp format for ID3v2 tags which require it.
 boolean isFilenameTagSave()
           
 boolean isId3v1Save()
           
 boolean isId3v1SaveAlbum()
           
 boolean isId3v1SaveArtist()
           
 boolean isId3v1SaveComment()
           
 boolean isId3v1SaveGenre()
           
 boolean isId3v1SaveTitle()
           
 boolean isId3v1SaveTrack()
           
 boolean isId3v1SaveYear()
           
 boolean isId3v2PaddingCopyTag()
           
 boolean isId3v2PaddingWillShorten()
           
 boolean isId3v2Save()
           
 boolean isLyrics3KeepEmptyFieldIfRead()
           
 boolean isLyrics3Save()
           
 boolean isLyrics3SaveEmptyField()
           
 boolean isOpenParenthesis(java.lang.String open)
           
 boolean isOriginalSavedAfterAdjustingID3v2Padding()
           
 boolean isPadNumbers()
           
 boolean isRemoveTrailingTerminatorOnWrite()
          Do we remove unneccessary trailing null characters on write
 boolean isResetTextEncodingForExistingFrames()
          When writing frames if this is set to true then the frame will be written using the defaults disregarding the text encoding originally used to create the frame.
 boolean isTruncateTextWithoutErrors()
           
 boolean isUnsyncTags()
           
 void setFilenameTagSave(boolean filenameTagSave)
           
 void setId3v1Save(boolean id3v1Save)
           
 void setId3v1SaveAlbum(boolean id3v1SaveAlbum)
           
 void setId3v1SaveArtist(boolean id3v1SaveArtist)
           
 void setId3v1SaveComment(boolean id3v1SaveComment)
           
 void setId3v1SaveGenre(boolean id3v1SaveGenre)
           
 void setId3v1SaveTitle(boolean id3v1SaveTitle)
           
 void setId3v1SaveTrack(boolean id3v1SaveTrack)
           
 void setId3v1SaveYear(boolean id3v1SaveYear)
           
 void setId3v23DefaultTextEncoding(byte id3v23DefaultTextEncoding)
          Set the default text encoding to use for new v23 frames, when unicode is required UTF16 will always be used because that is the only valid option for v23/v22
 void setId3v24DefaultTextEncoding(byte id3v24DefaultTextEncoding)
          Set the default text encoding to use for new v24 frames, it defaults to simple ISO8859 but by changing this value you could always used UTF8 for example whether you needed to or not
 void setId3v24UnicodeTextEncoding(byte id3v24UnicodeTextEncoding)
          Set the text encoding to use for new v24 frames when unicode is required, it defaults to UTF16 just because this encoding is understand by all ID3 versions
 void setId3v2PaddingCopyTag(boolean id3v2PaddingCopyTag)
           
 void setId3v2PaddingWillShorten(boolean id3v2PaddingWillShorten)
           
 void setId3v2Save(boolean id3v2Save)
           
 void setInstanceKey(java.lang.String instanceKey)
           
 void setLanguage(java.lang.String lang)
          Sets the default language for any ID3v2 tag frames which require it.
 void setLyrics3KeepEmptyFieldIfRead(boolean lyrics3KeepEmptyFieldIfRead)
           
 void setLyrics3Save(boolean lyrics3Save)
           
 void setLyrics3SaveEmptyField(boolean lyrics3SaveEmptyField)
           
 void setLyrics3SaveField(java.lang.String id, boolean save)
          Sets if we should save the Lyrics3 field.
 void setNumberMP3SyncFrame(int numberMP3SyncFrame)
          Sets the number of MP3 frames to sync when trying to find the start of the MP3 frame data.
 void setOriginalSavedAfterAdjustingID3v2Padding(boolean originalSavedAfterAdjustingID3v2Padding)
           
 void setPadNumbers(boolean padNumbers)
           
 void setRemoveTrailingTerminatorOnWrite(boolean removeTrailingTerminatorOnWrite)
          Remove unneccessary trailing null characters on write
 void setResetTextEncodingForExistingFrames(boolean resetTextEncodingForExistingFrames)
          When writing frames if this is set to true then the frame will be written using the defaults disregarding the text encoding originally used to create the frame.
 void setTimeStampFormat(byte tsf)
          Sets the default time stamp format for ID3v2 tags which require it.
 void setToDefault()
           
 void setTruncateTextWithoutErrors(boolean truncateTextWithoutErrors)
          Set truncate without errors
 void setUnsyncTags(boolean unsyncTags)
          Unsync tag where neccessary, currently only applies to IDv23
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tagOptionTable

private static java.util.HashMap<java.lang.String,TagOptionSingleton> tagOptionTable

DEFAULT

private static java.lang.String DEFAULT

defaultOptions

private static java.lang.String defaultOptions

keywordMap

private java.util.HashMap<java.lang.Class<? extends ID3v24FrameBody>,java.util.LinkedList<java.lang.String>> keywordMap

lyrics3SaveFieldMap

private java.util.HashMap<java.lang.String,java.lang.Boolean> lyrics3SaveFieldMap
Map of lyric ID's to Boolean objects if we should or should not save the specific Kyrics3 field. Defaults to true.


parenthesisMap

private java.util.HashMap<java.lang.String,java.lang.String> parenthesisMap
parenthesis map stuff


replaceWordMap

private java.util.HashMap<java.lang.String,java.lang.String> replaceWordMap
HashMap listing words to be replaced if found


language

private java.lang.String language
default language for any ID3v2 tags frameswhich require it. This string is in the [ISO-639-2] ISO/FDIS 639-2 definition


filenameTagSave

private boolean filenameTagSave

id3v1Save

private boolean id3v1Save
if we should save any fields of the ID3v1 tag or not. Defaults to true.


id3v1SaveAlbum

private boolean id3v1SaveAlbum
if we should save the album field of the ID3v1 tag or not. Defaults to true.


id3v1SaveArtist

private boolean id3v1SaveArtist
if we should save the artist field of the ID3v1 tag or not. Defaults to true.


id3v1SaveComment

private boolean id3v1SaveComment
if we should save the comment field of the ID3v1 tag or not. Defaults to true.


id3v1SaveGenre

private boolean id3v1SaveGenre
if we should save the genre field of the ID3v1 tag or not. Defaults to true.


id3v1SaveTitle

private boolean id3v1SaveTitle
if we should save the title field of the ID3v1 tag or not. Defaults to true.


id3v1SaveTrack

private boolean id3v1SaveTrack
if we should save the track field of the ID3v1 tag or not. Defaults to true.


id3v1SaveYear

private boolean id3v1SaveYear
if we should save the year field of the ID3v1 tag or not. Defaults to true.


id3v2PaddingCopyTag

private boolean id3v2PaddingCopyTag
When adjusting the ID3v2 padding, if should we copy the current ID3v2 tag to the new MP3 file. Defaults to true.


id3v2PaddingWillShorten

private boolean id3v2PaddingWillShorten
When adjusting the ID3v2 padding, if we should shorten the length of the ID3v2 tag padding. Defaults to false.


id3v2Save

private boolean id3v2Save
if we should save any fields of the ID3v2 tag or not. Defaults to true.


lyrics3KeepEmptyFieldIfRead

private boolean lyrics3KeepEmptyFieldIfRead
if we should keep an empty Lyrics3 field while we're reading. This is different from a string of white space. Defaults to false.


lyrics3Save

private boolean lyrics3Save
if we should save any fields of the Lyrics3 tag or not. Defaults to true.


lyrics3SaveEmptyField

private boolean lyrics3SaveEmptyField
if we should save empty Lyrics3 field or not. Defaults to false.

todo I don't think this is implemented yet.


originalSavedAfterAdjustingID3v2Padding

private boolean originalSavedAfterAdjustingID3v2Padding

timeStampFormat

private byte timeStampFormat
default time stamp format for any ID3v2 tag frames which require it.


numberMP3SyncFrame

private int numberMP3SyncFrame
number of frames to sync when trying to find the start of the MP3 frame data. The start of the MP3 frame data is the start of the music and is different from the ID3v2 frame data.


unsyncTags

private boolean unsyncTags
Unsynchronize tags/frames this is rarely required these days and can cause more problems than it solves


removeTrailingTerminatorOnWrite

private boolean removeTrailingTerminatorOnWrite
iTunes needlessly writes null terminators at the end for TextEncodedStringSizeTerminated values, if this option is enabled these characters are removed


id3v23DefaultTextEncoding

private byte id3v23DefaultTextEncoding
This is the default text encoding to use for new v23 frames, when unicode is required UTF16 will always be used because that is the only valid option for v23.


id3v24DefaultTextEncoding

private byte id3v24DefaultTextEncoding
This is the default text encoding to use for new v24 frames, it defaults to simple ISO8859 but by changing this value you could always used UTF8 for example whether you needed to or not


id3v24UnicodeTextEncoding

private byte id3v24UnicodeTextEncoding
This is text encoding to use for new v24 frames when unicode is required, it defaults to UTF16 just because this encoding is understand by all ID3 versions


resetTextEncodingForExistingFrames

private boolean resetTextEncodingForExistingFrames
When writing frames if this is set to true then the frame will be written using the defaults disregarding the text encoding originally used to create the frame.


truncateTextWithoutErrors

private boolean truncateTextWithoutErrors
Some formats impose maxmimum lengths for fields , if the text provided is longer than the formats allows it will truncate and write a warning, if this is not set it will throw an exception


padNumbers

private boolean padNumbers
Frames such as TRCK and TPOS sometimes pad single didgit numbers to aid sorting

Constructor Detail

TagOptionSingleton

private TagOptionSingleton()
Creates a new TagOptions datatype. All Options are set to their default values

Method Detail

getInstance

public static TagOptionSingleton getInstance()
Returns:

getInstance

public static TagOptionSingleton getInstance(java.lang.String instanceKey)
Parameters:
instanceKey -
Returns:

setFilenameTagSave

public void setFilenameTagSave(boolean filenameTagSave)
Parameters:
filenameTagSave -

isFilenameTagSave

public boolean isFilenameTagSave()
Returns:

setInstanceKey

public void setInstanceKey(java.lang.String instanceKey)
Parameters:
instanceKey -

getInstanceKey

public static java.lang.String getInstanceKey()
Returns:

setId3v1Save

public void setId3v1Save(boolean id3v1Save)
Parameters:
id3v1Save -

isId3v1Save

public boolean isId3v1Save()
Returns:

setId3v1SaveAlbum

public void setId3v1SaveAlbum(boolean id3v1SaveAlbum)
Parameters:
id3v1SaveAlbum -

isId3v1SaveAlbum

public boolean isId3v1SaveAlbum()
Returns:

setId3v1SaveArtist

public void setId3v1SaveArtist(boolean id3v1SaveArtist)
Parameters:
id3v1SaveArtist -

isId3v1SaveArtist

public boolean isId3v1SaveArtist()
Returns:

setId3v1SaveComment

public void setId3v1SaveComment(boolean id3v1SaveComment)
Parameters:
id3v1SaveComment -

isId3v1SaveComment

public boolean isId3v1SaveComment()
Returns:

setId3v1SaveGenre

public void setId3v1SaveGenre(boolean id3v1SaveGenre)
Parameters:
id3v1SaveGenre -

isId3v1SaveGenre

public boolean isId3v1SaveGenre()
Returns:

setId3v1SaveTitle

public void setId3v1SaveTitle(boolean id3v1SaveTitle)
Parameters:
id3v1SaveTitle -

isId3v1SaveTitle

public boolean isId3v1SaveTitle()
Returns:

setId3v1SaveTrack

public void setId3v1SaveTrack(boolean id3v1SaveTrack)
Parameters:
id3v1SaveTrack -

isId3v1SaveTrack

public boolean isId3v1SaveTrack()
Returns:

setId3v1SaveYear

public void setId3v1SaveYear(boolean id3v1SaveYear)
Parameters:
id3v1SaveYear -

isId3v1SaveYear

public boolean isId3v1SaveYear()
Returns:

setId3v2PaddingCopyTag

public void setId3v2PaddingCopyTag(boolean id3v2PaddingCopyTag)
Parameters:
id3v2PaddingCopyTag -

isId3v2PaddingCopyTag

public boolean isId3v2PaddingCopyTag()
Returns:

setId3v2PaddingWillShorten

public void setId3v2PaddingWillShorten(boolean id3v2PaddingWillShorten)
Parameters:
id3v2PaddingWillShorten -

isId3v2PaddingWillShorten

public boolean isId3v2PaddingWillShorten()
Returns:

setId3v2Save

public void setId3v2Save(boolean id3v2Save)
Parameters:
id3v2Save -

isId3v2Save

public boolean isId3v2Save()
Returns:

getKeywordIterator

public java.util.Iterator<java.lang.Class<? extends ID3v24FrameBody>> getKeywordIterator()
Returns:

getKeywordListIterator

public java.util.Iterator<java.lang.String> getKeywordListIterator(java.lang.Class<? extends ID3v24FrameBody> id3v2_4FrameBody)
Parameters:
id3v2_4FrameBody -
Returns:

setLanguage

public void setLanguage(java.lang.String lang)
Sets the default language for any ID3v2 tag frames which require it. While the value will already exist when reading from a file, this value will be used when a new ID3v2 Frame is created from scratch.

Parameters:
lang - language ID, [ISO-639-2] ISO/FDIS 639-2 definition

getLanguage

public java.lang.String getLanguage()
Returns the default language for any ID3v2 tag frames which require it.

Returns:
language ID, [ISO-639-2] ISO/FDIS 639-2 definition

setLyrics3KeepEmptyFieldIfRead

public void setLyrics3KeepEmptyFieldIfRead(boolean lyrics3KeepEmptyFieldIfRead)
Parameters:
lyrics3KeepEmptyFieldIfRead -

isLyrics3KeepEmptyFieldIfRead

public boolean isLyrics3KeepEmptyFieldIfRead()
Returns:

setLyrics3Save

public void setLyrics3Save(boolean lyrics3Save)
Parameters:
lyrics3Save -

isLyrics3Save

public boolean isLyrics3Save()
Returns:

setLyrics3SaveEmptyField

public void setLyrics3SaveEmptyField(boolean lyrics3SaveEmptyField)
Parameters:
lyrics3SaveEmptyField -

isLyrics3SaveEmptyField

public boolean isLyrics3SaveEmptyField()
Returns:

setLyrics3SaveField

public void setLyrics3SaveField(java.lang.String id,
                                boolean save)
Sets if we should save the Lyrics3 field. Defaults to true.

Parameters:
id - Lyrics3 id string
save - true if you want to save this specific Lyrics3 field.

getLyrics3SaveField

public boolean getLyrics3SaveField(java.lang.String id)
Returns true if we should save the Lyrics3 field asked for in the argument. Defaults to true.

Parameters:
id - Lyrics3 id string
Returns:
true if we should save the Lyrics3 field.

getLyrics3SaveFieldMap

public java.util.HashMap<java.lang.String,java.lang.Boolean> getLyrics3SaveFieldMap()
Returns:

getNewReplaceWord

public java.lang.String getNewReplaceWord(java.lang.String oldWord)
Parameters:
oldWord -
Returns:

setNumberMP3SyncFrame

public void setNumberMP3SyncFrame(int numberMP3SyncFrame)
Sets the number of MP3 frames to sync when trying to find the start of the MP3 frame data. The start of the MP3 frame data is the start of the music and is different from the ID3v2 frame data. WinAmp 2.8 seems to sync 3 frames. Default is 5.

Parameters:
numberMP3SyncFrame - number of MP3 frames to sync

getNumberMP3SyncFrame

public int getNumberMP3SyncFrame()
Returns the number of MP3 frames to sync when trying to find the start of the MP3 frame data. The start of the MP3 frame data is the start of the music and is different from the ID3v2 frame data. WinAmp 2.8 seems to sync 3 frames. Default is 5.

Returns:
number of MP3 frames to sync

getOldReplaceWordIterator

public java.util.Iterator<java.lang.String> getOldReplaceWordIterator()
Returns:

isOpenParenthesis

public boolean isOpenParenthesis(java.lang.String open)
Parameters:
open -
Returns:

getOpenParenthesisIterator

public java.util.Iterator<java.lang.String> getOpenParenthesisIterator()
Returns:

setOriginalSavedAfterAdjustingID3v2Padding

public void setOriginalSavedAfterAdjustingID3v2Padding(boolean originalSavedAfterAdjustingID3v2Padding)
Parameters:
originalSavedAfterAdjustingID3v2Padding -

isOriginalSavedAfterAdjustingID3v2Padding

public boolean isOriginalSavedAfterAdjustingID3v2Padding()
Returns:

setTimeStampFormat

public void setTimeStampFormat(byte tsf)
Sets the default time stamp format for ID3v2 tags which require it. While the value will already exist when reading from a file, this value will be used when a new ID3v2 Frame is created from scratch.

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

Parameters:
tsf - the new default time stamp format

getTimeStampFormat

public byte getTimeStampFormat()
Returns the default time stamp format for ID3v2 tags which require it.

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

Returns:
the default time stamp format

setToDefault

public void setToDefault()

addKeyword

public void addKeyword(java.lang.Class<? extends ID3v24FrameBody> id3v2FrameBodyClass,
                       java.lang.String keyword)
                throws TagException
Parameters:
id3v2FrameBodyClass -
keyword -
Throws:
TagException

addParenthesis

public void addParenthesis(java.lang.String open,
                           java.lang.String close)
Parameters:
open -
close -

addReplaceWord

public void addReplaceWord(java.lang.String oldWord,
                           java.lang.String newWord)
Parameters:
oldWord -
newWord -

isUnsyncTags

public boolean isUnsyncTags()
Returns:
are tags unsynchronized when written if contain bit pattern that could be mistaken for audio marker

setUnsyncTags

public void setUnsyncTags(boolean unsyncTags)
Unsync tag where neccessary, currently only applies to IDv23

Parameters:
unsyncTags - set whether tags are unsynchronized when written if contain bit pattern that could be mistaken for audio marker

isRemoveTrailingTerminatorOnWrite

public boolean isRemoveTrailingTerminatorOnWrite()
Do we remove unneccessary trailing null characters on write

Returns:
true if we remove unneccessary trailing null characters on write

setRemoveTrailingTerminatorOnWrite

public void setRemoveTrailingTerminatorOnWrite(boolean removeTrailingTerminatorOnWrite)
Remove unneccessary trailing null characters on write

Parameters:
removeTrailingTerminatorOnWrite -

getId3v23DefaultTextEncoding

public byte getId3v23DefaultTextEncoding()
Get the default text encoding to use for new v23 frames, when unicode is required UTF16 will always be used because that is the only valid option for v23/v22

Returns:

setId3v23DefaultTextEncoding

public void setId3v23DefaultTextEncoding(byte id3v23DefaultTextEncoding)
Set the default text encoding to use for new v23 frames, when unicode is required UTF16 will always be used because that is the only valid option for v23/v22

Parameters:
id3v23DefaultTextEncoding -

getId3v24DefaultTextEncoding

public byte getId3v24DefaultTextEncoding()
Get the default text encoding to use for new v24 frames, it defaults to simple ISO8859 but by changing this value you could always used UTF8 for example whether you needed to or not

Returns:

setId3v24DefaultTextEncoding

public void setId3v24DefaultTextEncoding(byte id3v24DefaultTextEncoding)
Set the default text encoding to use for new v24 frames, it defaults to simple ISO8859 but by changing this value you could always used UTF8 for example whether you needed to or not

Parameters:
id3v24DefaultTextEncoding -

getId3v24UnicodeTextEncoding

public byte getId3v24UnicodeTextEncoding()
Get the text encoding to use for new v24 frames when unicode is required, it defaults to UTF16 just because this encoding is understand by all ID3 versions

Returns:

setId3v24UnicodeTextEncoding

public void setId3v24UnicodeTextEncoding(byte id3v24UnicodeTextEncoding)
Set the text encoding to use for new v24 frames when unicode is required, it defaults to UTF16 just because this encoding is understand by all ID3 versions

Parameters:
id3v24UnicodeTextEncoding -

isResetTextEncodingForExistingFrames

public boolean isResetTextEncodingForExistingFrames()
When writing frames if this is set to true then the frame will be written using the defaults disregarding the text encoding originally used to create the frame.

Returns:

setResetTextEncodingForExistingFrames

public void setResetTextEncodingForExistingFrames(boolean resetTextEncodingForExistingFrames)
When writing frames if this is set to true then the frame will be written using the defaults disregarding the text encoding originally used to create the frame.

Parameters:
resetTextEncodingForExistingFrames -

isTruncateTextWithoutErrors

public boolean isTruncateTextWithoutErrors()
Returns:
truncate without errors

setTruncateTextWithoutErrors

public void setTruncateTextWithoutErrors(boolean truncateTextWithoutErrors)
Set truncate without errors

Parameters:
truncateTextWithoutErrors -

isPadNumbers

public boolean isPadNumbers()

setPadNumbers

public void setPadNumbers(boolean padNumbers)