v4.0.0 FLAC File Support (and RIFF/Start/End tag rewrite)
Better late than never...
New Features / Fixes
- Support for FLAC files (supports ID3v1, ID3v2, APE, and Xiph tagging formats)
- Rewriting the entire RIFF implementation to support "non-standard" files better
- Support for configuring the default tags to create when the file is read, configure using the appropriate
FileTypeFileSettings
class - Rewriting
NonContainer
implementation to be much cleaner
Breaking Changes
- "Non-Container" file implementation was rewritten
- RIFF implementation was rewritten
AviStream
,AviStreamList
, andAviStreamHeader
classes combined intoAviStream
classAviHeader
added to represent the collection ofAviStreams
and general info about the AVI fileDivxTag.fromFile
removed, useDivxTag.fromData
and pass in chunk dataInfoTag.fromData
replaced withInfoTag.fromList
, pass aRiffList
in directlyMovieIdTag.fromData
replaced withMovieIdTag.fromList
, pass aRiffList
in directlyRiffChunk
andRiffList
written to be treated asIRiffChunk
,RiffFile
has a list of chunks it maintains and uses to determine how to read / write the file- ... probably some others in there. Feel free to raise issues if you're confused on how to upgrade.
MpegFile
renamedMpegContainerFile
NonContainer
renamed toSandwich
RiffFile
now has a singleRiffTag
that collects all the tags aRiffFile
can holdFile.invariantStartPosition
andFile.invariantEndPosition
removed. For "sandwich" files, the information is retained inSandwichFile.mediaStartPosition
andSandwichFile.mediaEndPosition
- Attempting to add a tag to a file that is not support will now throw an error
CombinedTag
will now do tree traversal when performing operations, egCombinedTag.tags
will return all tags under the current instanceTagTypes.FlacMetadata
is renamedTagTypes.FlacPictures
and used to represent if a file contains FLAC style pictures. Value remains the same.