Releases: Zeugma440/atldotnet
Releases · Zeugma440/atldotnet
Version 2.15
Changes
- ID3v2 : Reads
TDRC
fields written in ID3v2.3 headers (MediaMonkey behaviour) - MP4/M4A :
©day
field can now store an entire date as well as a simple year
Binaries are available from nuGet
Version 2.14
Bugfixes
- ID3v2 : ATL gracefully fails when encountering badly formatted header frames
Binaries are available from nuGet
Version 2.13
Bugfixes
- Duration of very short OGG files is now reported correctly
- Files with an invalid APE tag now gracefully fail (no more stacktrace in logs)
Technical
- File I/O buffer size can be customized using
Settings.FileBufferSize
NB : Defining a buffer that is larger than the file size itself is not supported. Don't set 200MB, that will crash the app for any file smaller than that.
Binaries are available from nuGet
Version 2.12
Bugfixes
- Metadata on OPUS files can now be saved properly
Binaries are available from nuGet
Version 2.11
Functional
- New
Track.Date
field to manage recording date (no date =DateTime.MinValue
) - New
Track.Lyrics
field to manage both unsynchronized and synchronized Lyrics
NB : so far only the ID3v2 standard (USLT/SYLT) has been implemented
Technical
- ID3v2, VorbisComment, FLAC, MP4 : Padding is now properly managed
- Use
Settings.AddNewPadding
(default =false
) to add padding to files that don't have it
NB : Existing padding will always be managed whatever the value ofSettings.AddNewPadding
- Use
Settings.PaddingSize
(default = 2048) to define the default/max padding size
- Use
- FLAC : Better performance when updating files with embedded pictures
- Overall : Tags with a complex structure (e.g. MP4, FLAC, WMA) are buffered when written, which consumes a little more memory but speeds up the whole writing operation considerably (updated file is written on disk in one go instead of moving all bytes around for each updated section of the tag)
- WMA : Multiple picture fields are now persisted in the right zones of the file
Bugfixes
- FLAC
VENDOR
field won't be added to ID3v2 tags anymore when a FLAC file is tagged with ID3v2
! Breaking changes to interface !
- Settings.EnablePadding has been renamed Settings.AddNewPadding
Binaries are available from nuGet
Version 2.10
Functional
- Adjustments to
ATL.Playlist
default settings to allow maximum compatibility with music players when writing playlist files. Comprehensive tests have been made on Winamp 5.8, VLC 3.0.6, MusicBee 3.3.7016, AIMP 4.51 (2084), Foobar2000 1.4.4 and iTunes 12.9.4.102.
UsePlaylistIOFactory.GetInstance().GetPlaylistIO
optional parameters to override default settings :
PlaylistFormat.LocationFormatting
allows to format locations according to four different conventions- Filepath
- Winamp URI ("file:" + filepath)
- Microsoft URI ("file://" + filepath)
- RFC URI (URI encoded according to RFC-3986)
PlaylistFormat.FileEncoding
allows to encode the playlist file according to three different conventions- UTF-8 with file Byte order Mark
- UTF-8 without file Byte order Mark
- ANSI (aka Latin-1 aka ISO-8859-1)
Binaries are available from nuGet
Version 2.9
Functional
- New
ATL.Playlist
package that allows playlist writing (except for FPL that will remain read-only because the Foobar2000 team won't publish any spec of their playlist format that keeps evolving - see their FAQ) - Old
ATL.PlaylistReaders
classes are now marked as obsolete
Technical
Format.copyFrom
method restored- New
Track
constructor that allows passing a file path without theTrack
reading the file
Bugfixes
- Tracknumbers containing the
/
ornn/
values are now correctly handled
Binaries are available from nuGet
Version 2.8
Functional
- ID3v2 tags can now be written in ID3v2.3 standard by setting
Settings.ID3v2_tagSubVersion = 3
before saving your tag - ID3v2 chapters : New
Track.ChaptersTableDescription
field to add the descriptive TIT2 subframe to the CTOC frame
Bugfixes
- Using UTF-16 with ID3v2.4 now works properly
- ID3v2 chapters are now properly read by the iOS Apple Podcast App and the Overcast podcast grabber
- Fix anomaly when writing more than one tag in one single
Save
operation
! Interface backward compatibility breakers !
- ChapterInfo.Url type is now
ChapterInfo.UrlInfo
instead ofstring
Binaries are available from nuGet
Version 2.7
Functional
- New attributes
TrackTotal
andDiscTotal
that provide the number of tracks / discs - New options in
Settings
class concerning Track and Disc fields formattingUseLeadingZeroes
: If true, use leading zeroes; number of digits is aligned on TOTAL fields or 2 digits if no total fieldOverrideExistingLeadingZeroesFormat
: If true,UseLeadingZeroes
is always applied regardless of the format of the original file; if false, formatting of the original file prevails
Technical
- ID3v2 : Existing padding doesn't disappear anymore when saving a tag; it evolves along the size of the tag (reduced if size increases, and the other way around)
Bugfixes
- "Total tracks" (resp. "Total discs") fields formatted in the same field of the track (resp. disc) number (e.g "4/7") won't disappear anymore when updading a file
- Existing Track and Disc fields will keep their leading zeroes formatting if
Settings.OverrideExistingLeadingZeroesFormat
is set tofalse
(default) - FLAC : Embedded pictures are now actually saved in FLAC files
- SPC : Fix badly formatted INTEGER or LENGTH fields when adding them to an empty file
- SPC : Fix
tagIO_RW_SPC_Existing
unit test failing when batch-testing under Visual Studio - MP4 : Extended fields can now be written (e.g.
----:com.apple.iTunes:FANCYNAME
) - VQF, Vorbis, ID3v2 :
Year
field is now properly saved
Binaries are available from nuGet
Version 2.6
Functional
- New attribute
ChannelsArrangement Track.ChannelsArrangement
that provides the number of channels and their arrangement (e.g. "Mono (1/0.0)", "Joint Stereo", "Center - Left - Right (3/0.0)"...)
Bugfixes
- A couple edge-cases fixed on Util methods
Binaries are available from nuGet