Tkmm.AalSharp
1.0.1
dotnet add package Tkmm.AalSharp --version 1.0.1
NuGet\Install-Package Tkmm.AalSharp -Version 1.0.1
<PackageReference Include="Tkmm.AalSharp" Version="1.0.1" />
<PackageVersion Include="Tkmm.AalSharp" Version="1.0.1" />
<PackageReference Include="Tkmm.AalSharp" />
paket add Tkmm.AalSharp --version 1.0.1
#r "nuget: Tkmm.AalSharp, 1.0.1"
#:package Tkmm.AalSharp@1.0.1
#addin nuget:?package=Tkmm.AalSharp&version=1.0.1
#tool nuget:?package=Tkmm.AalSharp&version=1.0.1
<div align="center"> <img src="https://raw.githubusercontent.com/TKMM-Team/Tkmm.AalSharp/refs/heads/master/resources/Icon.png" width="100vh"> <h1>- AAL# -</h1> </div>
C# IO library for BARS and other AAL file formats.
Supports BARS v101 and AMTA v4.
Usage
Reading a BARS File
using Tkmm.AalSharp.Bars;
byte[] data = File.ReadAllBytes("path/to/file.bars");
var bars = BarsFile.FromBinary(data, out var endianness);
Writing a BARS File
using Tkmm.AalSharp.Bars;
// Write to a stream
using FileStream fs = File.Create("path/to/output.bars");
bars.Write(fs, Endianness.Little);
// Write to a byte[]
byte[] data = bars.ToBinary(Endianness.Little, endianness: Entish.Endianness.Little);
Writing to a pointer or Span<byte> can be done via the Tkmm.AalSharp.Bars.IO.BarsSerializer class
Benchmarks
Benchmarks for BotW/Sound/Resource/M_SceneStatic.bars (BotW 1.6.0 | 18.5 MB)
| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
|---|---|---|---|---|---|---|---|
| Read | 4.245 ms | 0.1167 ms | 0.3329 ms | 1003.9063 | 941.4063 | 78.1250 | 18.34 MB |
| Write | 8.929 ms | 0.1780 ms | 0.4161 ms | 234.3750 | 156.2500 | 156.2500 | 19.38 MB |
| ToBinary | 6.638 ms | 0.1308 ms | 0.2358 ms | 359.3750 | 273.4375 | 273.4375 | 19.38 MB |
| SerializeNoAlloc | 8.648 ms | 0.1714 ms | 0.3001 ms | 78.1250 | - | - | 1.35 MB |
Install
Tkmm.AalSharp
Tkmm.AalSharp.Bars
NuGet
Install-Package Tkmm.AalSharp
Install-Package Tkmm.AalSharp.Bars
Build From Source
git clone https://github.com/TKMM-Team/Tkmm.AalSharp.git
dotnet build Tkmm.AalSharp
dotnet build Tkmm.AalSharp.Bars
Special thanks to Yannik Marchand (kinnay) for the research on the AAL file formats.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Entish (>= 1.1.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Tkmm.AalSharp:
| Package | Downloads |
|---|---|
|
Tkmm.AalSharp.Bars
IO library for the v101 BARS (Binary Audio Resources) and v4 AMTA (Audio Metadata) AAL file formats |
GitHub repositories
This package is not used by any popular GitHub repositories.