z440.atl.core 4.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package z440.atl.core --version 4.4.0                
NuGet\Install-Package z440.atl.core -Version 4.4.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="z440.atl.core" Version="4.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add z440.atl.core --version 4.4.0                
#r "nuget: z440.atl.core, 4.4.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install z440.atl.core as a Cake Addin
#addin nuget:?package=z440.atl.core&version=4.4.0

// Install z440.atl.core as a Cake Tool
#tool nuget:?package=z440.atl.core&version=4.4.0                

Breaking changes

  • Major overhaul of TagData and related classes to streamline and simplify some parts of the library
    • You won't have any impact if you just use the Track class

    • If you were using TagData, please use TagHolder instead and mind the following :

      • Some fields have been renamed to align with the rest of the library : RatingPopularity, PicturesEmbeddedPictures
      • Some fields have been merged to align with the rest of the library : Recording<xxx>Date, TrackNumberTotal and TrackTotalTrackTotal, DiscNumberTotal and DiscTotalDiscTotal
      • Public type of the "Additional fields" field has been simplified and is now a IDictionary<string, string>
      • Numeral and date fields are now typed instead of being plain strings
      • Last but not least, as collections (EmbeddedPictures, AdditionalFields and Chapters) are deep-copied upon access, they can't be edited on the fly anymore. You'll have to edit a temporary collection and feed it to TagHolder
      // Old code (won't work anymore)
      TagData tag = new TagData();
      tag.Pictures = new List<PictureInfo>();
      PictureInfo pic1 = PictureInfo.fromBinaryData(/*...*/, PIC_TYPE.Unsupported, tagType, 0x01);
      tag.Pictures.Add(pic1);
      PictureInfo pic2 = PictureInfo.fromBinaryData(/*...*/, PIC_TYPE.Unsupported, tagType, 0x02);
      tag.Pictures.Add(pic2);
      
      // New code
      TagHolder holder = new TagHolder(); // Now use TagHolder instead of TagData
      // Note that you don't have to worry about holder.Pictures not being initialized anymore
      IList<PictureInfo> testPictureInfos = new List<PictureInfo>(); // Use a local temporary collection
      PictureInfo pic1 = PictureInfo.fromBinaryData(/*...*/, PIC_TYPE.Unsupported, tagType, 0x01); // That part hasn't changed
      testPictureInfos.Add(pic1);
      PictureInfo pic2 = PictureInfo.fromBinaryData(/*...*/, PIC_TYPE.Unsupported, tagType, 0x02);
      testPictureInfos.Add(pic2);
      holder.EmbeddedPictures = testPictureInfos; // Feed the temporary collection to the TagHolder
      
  • The subset of IMetaDataIO with the properties has been extracted and called IMetaData
  • The IMetaData.Track field name has been renamed to TrackNumber and IMetaData.Disc has been renamed to DiscNumber to align with the naming of the Track class and the old TagData class
  • Most helper classes are now internal to the library - for instance, you can't directly call StreamUtils or WavHelper anymore (don't know why you would in the first place...)

New

  • OGG : Support for reading embedded FLAC
  • OGG : ATL now properly reads multiplexed OGG files (e.g. Vorbis + Theora) and processes the audio part only
  • M4A/MP4 : Support for Publisher and Publishing date fields
  • M4A/MP4 : Support for alternate @des code for the General description field
  • New standard field to Track and IMetaData : Product ID
  • New feature : date values in AdditionalFields can be auto-formatted when prefixing them with MetaDataHolder.DATETIME_PREFIX. That feature can be turned off with Settings.AutoFormatAdditionalDates

Changed

The PictureTokens field is now deprecated as it is a remain from the era where ATL didn't support embedded images directly. This field will be removed on the next major udpate.

Fixed

WAV LIST INFO chunk now properly supports Recording Date, Genre, Popularity and Track number

Technical

Fixed unit tests for Linux and Unix-based systems (thanks to @sandreas)

Binaries are available from nuGet

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on z440.atl.core:

Package Downloads
Milki.Extensions.MixPlayer

This library is for timelined sound effects playing.

Sandreas.AudioMetadata

Extension library to improve abilities of atldotnet, an excelent audio metadata library.

FRESHMusicPlayer.Core

Audio library abstraction library designed to make creating an audio player easier :)

MonoStereo

An custom audio engine built using NAudio and PortAudio.

MonoStereo.Slim

A portable NAudio based audio engine.

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on z440.atl.core:

Repository Stars
jellyfin/jellyfin
The Free Software Media System
audiamus/AaxAudioConverter
Convert Audible aax files to mp3 and m4a/m4b
h4lfheart/FortnitePorting
Automation of the Fortnite Porting Process
NickvisionApps/Tagger
Tag your music
Miaoyww/NonsPlayer
Multiple music streaming services & High performance.A real music player. 多音源 | 高性能。一个真正的音乐播放器
Version Downloads Last updated
6.8.0 238 11/8/2024
6.7.0 1,076 11/2/2024
6.6.0 3,976 10/19/2024
6.5.0 4,725 9/29/2024
6.4.0 6,525 9/7/2024
6.3.0 1,544 9/4/2024
6.2.0 500 9/1/2024
6.1.0 3,647 8/11/2024
5.26.0 2,429 8/4/2024
5.25.0 6,530 6/2/2024
5.24.0 849 5/27/2024
5.23.0 3,313 5/1/2024
5.22.0 3,811 4/17/2024
5.21.0 2,133 3/27/2024
5.20.0 6,016 2/20/2024
5.19.0 1,556 2/12/2024
5.18.0 1,459 1/31/2024
5.17.0 284 1/28/2024
5.16.0 1,455 1/12/2024
5.15.0 1,390 1/7/2024
5.14.0 2,126 1/4/2024
5.13.0 280 1/1/2024
5.12.0 6,289 11/4/2023
5.11.0 1,389 10/22/2023
5.10.0 637 10/18/2023
5.9.0 1,543 10/8/2023
5.8.0 1,356 9/21/2023
5.7.0 2,218 9/15/2023
5.6.0 2,022 9/1/2023
5.5.0 2,244 8/25/2023
5.4.0 281 8/24/2023
5.3.0 320 8/21/2023
5.2.0 563 8/18/2023
5.1.0 256 8/16/2023
5.0.0 238 8/14/2023
4.36.0 2,282 7/28/2023
4.35.0 457 7/24/2023
4.34.0 2,223 6/20/2023
4.33.0 4,382 5/10/2023
4.32.0 378 5/7/2023
4.31.0 677 4/17/2023
4.30.0 316 4/15/2023 4.30.0 is deprecated because it has critical bugs.
4.29.0 520 4/5/2023
4.28.0 293 4/3/2023
4.27.0 344 3/31/2023
4.26.0 1,462 3/27/2023
4.25.0 505 3/23/2023
4.24.0 362 3/19/2023
4.23.0 449 3/12/2023
4.22.0 376 3/11/2023
4.21.0 328 3/9/2023
4.20.0 846 2/26/2023
4.19.0 1,844 2/7/2023
4.18.0 2,301 1/5/2023
4.17.0 1,892 12/22/2022
4.16.0 5,073 12/9/2022
4.15.0 475 12/5/2022
4.14.0 1,170 11/23/2022
4.13.0 1,837 10/25/2022
4.12.0 571 10/16/2022
4.11.0 730 10/10/2022
4.10.0 829 9/20/2022
4.9.0 6,573 7/15/2022
4.8.0 3,176 6/12/2022
4.7.0 3,915 5/25/2022
4.6.0 765 5/21/2022
4.5.0 753 5/18/2022
4.4.0 1,943 4/9/2022
4.4.0-alpha 209 3/20/2022
4.3.0 3,028 1/15/2022
4.2.0 557 1/9/2022
4.1.0 550 12/14/2021
4.0.0 413 12/9/2021
3.25.0 1,739 9/21/2021
3.24.0 642 9/3/2021
3.23.0 721 8/6/2021
3.22.0 1,656 5/27/2021
3.21.0 446 5/26/2021
3.20.0 1,434 4/12/2021
3.19.0 1,262 4/5/2021
3.18.0 7,653 2/8/2021
3.17.0 1,185 1/27/2021
3.16.0 510 1/14/2021
3.15.0 1,598 12/4/2020
3.14.0 695 11/22/2020
3.13.0 1,738 10/27/2020
3.12.0 663 10/19/2020
3.11.0 2,573 9/19/2020
3.10.0 948 9/12/2020
3.9.0 758 9/6/2020
3.8.0 696 8/31/2020
3.7.0 2,019 8/10/2020
3.6.0 1,895 6/28/2020
3.5.0 1,299 5/22/2020
3.4.1 781 5/5/2020
3.4.0 570 5/5/2020
3.3.0 1,422 3/29/2020
3.2.0 668 3/19/2020
3.1.0 828 2/17/2020
3.0.0 675 2/16/2020
2.16.0 4,813 1/10/2020
2.15.0 685 12/18/2019
2.14.0 940 11/24/2019
2.13.0 992 9/23/2019
2.12.0 994 7/26/2019
2.11.0 868 6/10/2019
2.10.0 713 5/22/2019
2.9.0 899 4/30/2019
2.8.0 724 4/4/2019
2.7.0 693 3/21/2019
2.6.0 704 3/10/2019
2.5.0 1,397 9/2/2018
2.4.2 1,299 6/23/2018
2.4.1 1,018 6/18/2018
2.4.0 1,004 6/15/2018
2.3.0 1,269 1/7/2018
2.2.1 1,196 11/18/2017
2.2.0 1,172 11/18/2017
2.1.0 1,234 10/22/2017
2.0.1 995 9/24/2017