diff --git a/ZuneImpl/ZuneImpl.csproj b/ZuneImpl/ZuneImpl.csproj index 2aa6a65..4fdebbc 100644 --- a/ZuneImpl/ZuneImpl.csproj +++ b/ZuneImpl/ZuneImpl.csproj @@ -33,8 +33,7 @@ - - + diff --git a/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs b/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs index 9a51c78..6eeb07c 100644 --- a/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs +++ b/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs @@ -28,7 +28,7 @@ using System.Linq; #if OPENZUNE using Microsoft.Zune.Playback; -using OwlCore.Events; +using OwlCore.ComponentModel; using StrixMusic.Sdk.AdapterModels; using StrixMusic.Sdk.AppModels; using StrixMusic.Sdk.CoreModels; @@ -161,22 +161,14 @@ namespace Microsoft.Zune.Shell CultureHelper.CheckValidRegionAndLanguage(); #if OPENZUNE - string id = Guid.NewGuid().ToString(); + DirectoryInfo cacheFolderPath = new(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Microsoft\Zune\OpenZune\LocalCoreCache")); + cacheFolderPath.Create(); + OwlCore.Storage.SystemIO.SystemFolder cacheFolder = new(cacheFolderPath); - var fileService = new OwlCore.AbstractStorage.Win32FileSystemService(@"D:\Music\Zune\Test"); - OwlCore.AbstractStorage.SystemIOFolderData settingsFolder = - new(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Microsoft\Zune\OpenZune")); - settingsFolder.EnsureExists().Wait(); - StrixMusic.Cores.LocalFiles.Settings.LocalFilesCoreSettings settings = new(settingsFolder) + OwlCore.Storage.SystemIO.SystemFolder musicFolder = new(@"D:\Music\Zune\Test"); + var localCore = new StrixMusic.Cores.Storage.StorageCore(musicFolder, cacheFolder, "Local Test") { - InitWithEmptyMetadataRepos = true, - ScanWithTagLib = true, - }; - - var localCore = new StrixMusic.Cores.LocalFiles.LocalFilesCore( - id, settings, fileService, null, null) - { - ScannerWaitBehavior = StrixMusic.Cores.Files.ScannerWaitBehavior.AlwaysWait + ScannerWaitBehavior = StrixMusic.Cores.Storage.ScannerWaitBehavior.AlwaysWait, }; var prefs = new MergedCollectionConfig diff --git a/ZuneShell/StrixMusic/AbstractStorage/FileDataProperties.cs b/ZuneShell/StrixMusic/AbstractStorage/FileDataProperties.cs deleted file mode 100644 index 3fdff17..0000000 --- a/ZuneShell/StrixMusic/AbstractStorage/FileDataProperties.cs +++ /dev/null @@ -1,32 +0,0 @@ -#if OPENZUNE - -using System; -using System.IO; -using System.Linq; -using System.Threading.Tasks; - -namespace OwlCore.AbstractStorage -{ - /// - public class FileDataProperties : IFileDataProperties - { - private readonly FileInfo _file; - - /// - /// Initializes a new instance of the class. - /// - /// The file to get properties from. - public FileDataProperties(FileInfo file) - { - _file = file; - } - - /// - public async Task GetMusicPropertiesAsync() - { - throw new NotImplementedException(); - } - } -} - -#endif \ No newline at end of file diff --git a/ZuneShell/StrixMusic/AbstractStorage/NewtonsoftStreamSerializer.cs b/ZuneShell/StrixMusic/AbstractStorage/NewtonsoftStreamSerializer.cs deleted file mode 100644 index 3a7f794..0000000 --- a/ZuneShell/StrixMusic/AbstractStorage/NewtonsoftStreamSerializer.cs +++ /dev/null @@ -1,71 +0,0 @@ -#if OPENZUNE - -// Copyright (c) Arlo Godfrey. All Rights Reserved. -// Licensed under the GNU Lesser General Public License, Version 3.0 with additional terms. -// See the LICENSE, LICENSE.LESSER and LICENSE.ADDITIONAL files in the project root for more information. - -using System; -using System.IO; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Newtonsoft.Json; -using OwlCore.Extensions; - -namespace OwlCore.Services -{ - /// - /// An and implementation for serializing and deserializing streams using System.Text.Json. - /// - public class NewtonsoftStreamSerializer : IAsyncSerializer, ISerializer - { - /// - /// A singleton instance for . - /// - public static NewtonsoftStreamSerializer Singleton { get; } = new(); - - /// - public Task SerializeAsync(T data, CancellationToken? cancellationToken = null) => Task.Run(() => Serialize(data), cancellationToken ?? CancellationToken.None); - - /// - public Task SerializeAsync(Type inputType, object data, CancellationToken? cancellationToken = null) => Task.Run(() => Serialize(inputType, data), cancellationToken ?? CancellationToken.None); - - /// - public Task DeserializeAsync(Stream serialized, CancellationToken? cancellationToken = null) => Task.Run(() => Deserialize(serialized), cancellationToken ?? CancellationToken.None); - - /// - public Task DeserializeAsync(Type returnType, Stream serialized, CancellationToken? cancellationToken = null) => Task.Run(() => Deserialize(returnType, serialized), cancellationToken ?? CancellationToken.None); - - /// - public Stream Serialize(T data) - { - var res = JsonConvert.SerializeObject(data, typeof(T), null); - return new MemoryStream(Encoding.UTF8.GetBytes(res)); - } - - /// - public Stream Serialize(Type type, object data) - { - var res = JsonConvert.SerializeObject(data, type, null); - return new MemoryStream(Encoding.UTF8.GetBytes(res)); - } - - /// - public TResult Deserialize(Stream serialized) - { - serialized.Position = 0; - var str = Encoding.UTF8.GetString(serialized.ToBytes()); - return (TResult)JsonConvert.DeserializeObject(str, typeof(TResult))!; - } - - /// - public object Deserialize(Type type, Stream serialized) - { - serialized.Position = 0; - var str = Encoding.UTF8.GetString(serialized.ToBytes()); - return JsonConvert.DeserializeObject(str, type)!; - } - } -} - -#endif diff --git a/ZuneShell/StrixMusic/AbstractStorage/SystemIOFileData.cs b/ZuneShell/StrixMusic/AbstractStorage/SystemIOFileData.cs deleted file mode 100644 index d6b31ab..0000000 --- a/ZuneShell/StrixMusic/AbstractStorage/SystemIOFileData.cs +++ /dev/null @@ -1,89 +0,0 @@ -#if OPENZUNE - -using System; -using System.IO; -using System.Threading.Tasks; - -namespace OwlCore.AbstractStorage -{ - /// - public class SystemIOFileData : IFileData - { - /// - /// The underlying instance in use. - /// - internal FileInfo File { get; } - - /// - /// Creates a new instance of . - /// - /// The to wrap. - public SystemIOFileData(FileInfo file) - { - File = file; - Properties = new FileDataProperties(file); - } - - /// - /// Creates a new instance of . - /// - /// The path of the file to wrap. - public SystemIOFileData(string filePath) : this(new FileInfo(filePath)) - { - - } - - /// - public string Path => File.FullName; - - /// - public string Name => File.Name; - - /// - public string DisplayName => File.Name; - - /// - public string FileExtension => File.Extension; - - /// - public string Id => Extensions.StringExtensions.HashMD5Fast(Path); - - /// - public IFileDataProperties Properties { get; set; } - - /// - public Task GetParentAsync() - { - return Task.FromResult(new SystemIOFolderData(File.Directory)); - } - - /// - public Task Delete() - { - return Task.Run(File.Delete); - } - - /// - public Task GetStreamAsync(FileAccessMode accessMode = FileAccessMode.Read) - { - return Task.Run(() => File.Open( - FileMode.Open, - accessMode == FileAccessMode.ReadWrite ? FileAccess.ReadWrite : FileAccess.Read)); - } - - /// - public Task WriteAllBytesAsync(byte[] bytes) - { - return System.IO.File.WriteAllBytesAsync(File.FullName, bytes); - } - - /// - public async Task GetThumbnailAsync(ThumbnailMode thumbnailMode, uint requiredSize) - { - throw new NotImplementedException(); - } - } - -} - -#endif diff --git a/ZuneShell/StrixMusic/AbstractStorage/SystemIOFolderData.cs b/ZuneShell/StrixMusic/AbstractStorage/SystemIOFolderData.cs deleted file mode 100644 index fb0dde8..0000000 --- a/ZuneShell/StrixMusic/AbstractStorage/SystemIOFolderData.cs +++ /dev/null @@ -1,167 +0,0 @@ -#if OPENZUNE - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; - -namespace OwlCore.AbstractStorage -{ - /// - /// Represents a folder backed by System.IO. - /// - public class SystemIOFolderData : IFolderData - { - /// - /// The underlying instance in use. - /// - public DirectoryInfo Directory { get; private set; } - - /// - /// Constructs a new instance of . - /// - public SystemIOFolderData(DirectoryInfo folder) - { - Directory = folder; - } - - /// - /// Constructs a new instance of . - /// - public SystemIOFolderData(string folderPath) : this(new DirectoryInfo(folderPath)) - { - - } - - /// - public string Name => Directory.Name; - - /// - public string Path => Directory.FullName; - - /// - public string Id => Extensions.StringExtensions.HashMD5Fast(Path); - - /// - public Task> GetFilesAsync() - { - return Task.Run>(() => Directory.GetFiles().Select(x => new SystemIOFileData(x))); - } - - /// - public Task DeleteAsync() => Task.Run(Directory.Delete); - - /// - public Task GetParentAsync() - { - return Task.FromResult(new SystemIOFolderData(Directory.Parent)); - } - - /// - public Task CreateFolderAsync(string desiredName) - { - return Task.Run(() => new SystemIOFolderData(Directory.CreateSubdirectory(desiredName))); - } - - /// - public async Task CreateFolderAsync(string desiredName, CreationCollisionOption options) - { - if (options == CreationCollisionOption.OpenIfExists) - { - SystemIOFolderData folder = new(System.IO.Path.Combine(Path, desiredName)); - await folder.EnsureExists(); - return folder; - } - else if (options == CreationCollisionOption.FailIfExists) - { - throw new NotImplementedException(); - } - return await CreateFolderAsync(desiredName); - } - - /// - public Task CreateFileAsync(string desiredName) - { - return Task.Run(delegate - { - SystemIOFileData file = new(System.IO.Path.Combine(Path, desiredName)); - file.File.Create().Dispose(); - - return file; - }); - } - - /// - public Task CreateFileAsync(string desiredName, CreationCollisionOption options) - { - return Task.Run(delegate - { - string name = desiredName; - FileMode mode = FileMode.CreateNew; - - if (options == CreationCollisionOption.OpenIfExists) - { - mode = FileMode.OpenOrCreate; - } - else if (options == CreationCollisionOption.GenerateUniqueName) - { - string nameNoExt = System.IO.Path.GetFileNameWithoutExtension(name); - string ext = System.IO.Path.GetExtension(name); - int i = 0; - while (File.Exists(System.IO.Path.Combine(Path, name))) - { - name = $"{nameNoExt} ({++i}){ext}"; - } - } - else if (options == CreationCollisionOption.ReplaceExisting) - { - mode = FileMode.Create; - } - - SystemIOFileData file = new(System.IO.Path.Combine(Path, name)); - file.File.Open(mode).Dispose(); - - return file; - }); - } - - /// - public Task GetFolderAsync(string name) - { - return Task.Run(delegate - { - SystemIOFolderData folder = new(System.IO.Path.Combine(Path, name)); - return folder.Directory.Exists ? folder : null; - }); - } - - /// - public Task GetFileAsync(string name) - { - return Task.Run(delegate - { - SystemIOFileData file = new(System.IO.Path.Combine(Path, name)); - return file.File.Exists ? file : null; - }); - } - - /// - public Task> GetFoldersAsync() - { - return Task.Run>(() => Directory.GetDirectories().Select(x => new SystemIOFolderData(x))); - } - - /// - public Task EnsureExists() - { - return Task.Run(delegate - { - if (Directory.Exists) return; - Directory.Create(); - }); - } - } -} - -#endif diff --git a/ZuneShell/StrixMusic/AbstractStorage/Win32FileSystemService.cs b/ZuneShell/StrixMusic/AbstractStorage/Win32FileSystemService.cs deleted file mode 100644 index 87f2183..0000000 --- a/ZuneShell/StrixMusic/AbstractStorage/Win32FileSystemService.cs +++ /dev/null @@ -1,49 +0,0 @@ -#if OPENZUNE - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System.Threading.Tasks; - -namespace OwlCore.AbstractStorage; - -public class Win32FileSystemService : IFileSystemService -{ - public Win32FileSystemService(string rootFolder) - { - RootFolder = new SystemIOFolderData(rootFolder); - } - - public IFolderData RootFolder { get; } - - public bool IsInitialized => true; - - public Task CreateDirectoryAsync(string folderName) - => RootFolder.CreateFolderAsync(folderName); - - public Task DirectoryExistsAsync(string path) => Task.FromResult(Directory.Exists(path)); - - public Task FileExistsAsync(string path) => Task.FromResult(File.Exists(path)); - - public Task GetFileFromPathAsync(string path) - => Task.FromResult(new SystemIOFileData(path)); - - public Task GetFolderFromPathAsync(string path) - => Task.FromResult(new SystemIOFolderData(path)); - - public Task> GetPickedFolders() - { - throw new System.NotImplementedException(); - } - - public Task InitAsync(CancellationToken cancellationToken = default) => Task.CompletedTask; - - public Task PickFolder() - { - return Task.FromResult(RootFolder); - } - - public Task RevokeAccess(IFolderData folder) => Task.CompletedTask; -} - -#endif \ No newline at end of file diff --git a/ZuneShell/ZuneShell.csproj b/ZuneShell/ZuneShell.csproj index d409a56..0994f6d 100644 --- a/ZuneShell/ZuneShell.csproj +++ b/ZuneShell/ZuneShell.csproj @@ -32,19 +32,19 @@ - - - - + + + - - - + + - + v3.5 @@ -66,8 +66,13 @@ - - + + + ..\libs\nuget\StrixMusic.Cores.Storage\StrixMusic.Cores.Storage.dll + + + ..\libs\nuget\OwlCore.Storage.OneDrive\OwlCore.Storage.OneDrive.dll + diff --git a/libs/nuget/OwlCore.Storage.OneDrive/OwlCore.Storage.OneDrive.dll b/libs/nuget/OwlCore.Storage.OneDrive/OwlCore.Storage.OneDrive.dll new file mode 100644 index 0000000..479fdaf Binary files /dev/null and b/libs/nuget/OwlCore.Storage.OneDrive/OwlCore.Storage.OneDrive.dll differ diff --git a/libs/nuget/OwlCore.Storage.OneDrive/OwlCore.Storage.OneDrive.xml b/libs/nuget/OwlCore.Storage.OneDrive/OwlCore.Storage.OneDrive.xml new file mode 100644 index 0000000..2c3c333 --- /dev/null +++ b/libs/nuget/OwlCore.Storage.OneDrive/OwlCore.Storage.OneDrive.xml @@ -0,0 +1,68 @@ + + + + OwlCore.Storage.OneDrive + + + + + A file implementation that interacts with a file in OneDrive. + + + + + Creates a new instance of . + + + + + The graph item that was provided as the backing implementation for this file. + + + + + + + + + + + + + + + + + A folder implementation that interacts with a folder in OneDrive. + + + + + Creates a new instance of . + + + + + + + + + + + The graph item that was provided as the backing implementation for this file. + + + + + + + + + + + + + + + + diff --git a/libs/nuget/StrixMusic.Cores.Storage/StrixMusic.Cores.Storage.deps.json b/libs/nuget/StrixMusic.Cores.Storage/StrixMusic.Cores.Storage.deps.json new file mode 100644 index 0000000..4c7311b --- /dev/null +++ b/libs/nuget/StrixMusic.Cores.Storage/StrixMusic.Cores.Storage.deps.json @@ -0,0 +1,722 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "StrixMusic.Cores.Storage/1.0.0": { + "dependencies": { + "MessagePack": "2.5.108", + "NETStandard.Library": "2.0.3", + "OwlCore": "0.2.1", + "StrixMusic.Sdk": "0.1.0-alpha", + "StyleCop.Analyzers": "1.1.118", + "System.Text.Json": "7.0.2" + }, + "runtime": { + "StrixMusic.Cores.Storage.dll": {} + } + }, + "CommunityToolkit.Common/8.1.0": { + "runtime": { + "lib/netstandard2.0/CommunityToolkit.Common.dll": { + "assemblyVersion": "8.1.0.0", + "fileVersion": "8.1.0.1" + } + } + }, + "CommunityToolkit.Diagnostics/8.1.0": { + "dependencies": { + "System.Memory": "4.5.5" + }, + "runtime": { + "lib/netstandard2.0/CommunityToolkit.Diagnostics.dll": { + "assemblyVersion": "8.1.0.0", + "fileVersion": "8.1.0.1" + } + } + }, + "CommunityToolkit.Mvvm/8.1.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "System.ComponentModel.Annotations": "5.0.0", + "System.Memory": "4.5.5", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/CommunityToolkit.Mvvm.dll": { + "assemblyVersion": "8.1.0.0", + "fileVersion": "8.1.0.1" + } + } + }, + "JetBrains.Annotations/2022.3.1": { + "runtime": { + "lib/netstandard2.0/JetBrains.Annotations.dll": { + "assemblyVersion": "4242.42.42.42", + "fileVersion": "2022.3.1.0" + } + } + }, + "MessagePack/2.5.108": { + "dependencies": { + "MessagePack.Annotations": "2.5.108", + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "Microsoft.NET.StringTools": "17.4.0", + "System.Collections.Immutable": "6.0.0", + "System.Reflection.Emit": "4.7.0", + "System.Reflection.Emit.Lightweight": "4.7.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/MessagePack.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.108.51978" + } + } + }, + "MessagePack.Annotations/2.5.108": { + "runtime": { + "lib/netstandard2.0/MessagePack.Annotations.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.108.51978" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/7.0.0": { + "dependencies": { + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.51805" + } + } + }, + "Microsoft.CSharp/4.7.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.5.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "Microsoft.Extensions.DependencyInjection/7.0.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.51805" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.51805" + } + } + }, + "Microsoft.Identity.Client/4.53.0": { + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "6.22.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.53.0.0", + "fileVersion": "4.53.0.0" + } + } + }, + "Microsoft.IdentityModel.Abstractions/6.22.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll": { + "assemblyVersion": "6.22.0.0", + "fileVersion": "6.22.0.30727" + } + } + }, + "Microsoft.NET.StringTools/17.4.0": { + "dependencies": { + "System.Memory": "4.5.5", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.NET.StringTools.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "17.4.0.51802" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + }, + "OwlCore/0.2.1": { + "dependencies": { + "CommunityToolkit.Common": "8.1.0", + "CommunityToolkit.Diagnostics": "8.1.0", + "CommunityToolkit.Mvvm": "8.1.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.Extensions.DependencyInjection": "7.0.0", + "Newtonsoft.Json": "13.0.3", + "OwlCore.ComponentModel": "0.3.0", + "OwlCore.Extensions": "0.5.0", + "OwlCore.Storage": "0.8.2", + "System.Text.Json": "7.0.2", + "System.Threading.Tasks.Dataflow": "7.0.0" + }, + "runtime": { + "lib/netstandard2.0/OwlCore.dll": { + "assemblyVersion": "0.2.1.0", + "fileVersion": "0.2.1.0" + } + } + }, + "OwlCore.ComponentModel/0.3.0": { + "dependencies": { + "CommunityToolkit.Diagnostics": "8.1.0", + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "OwlCore.Storage": "0.8.2", + "System.Linq.Async": "6.0.1" + }, + "runtime": { + "lib/netstandard2.0/OwlCore.ComponentModel.dll": { + "assemblyVersion": "0.3.0.0", + "fileVersion": "0.3.0.0" + } + } + }, + "OwlCore.Extensions/0.5.0": { + "dependencies": { + "CommunityToolkit.Diagnostics": "8.1.0", + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "OwlCore.ComponentModel": "0.3.0", + "System.Linq.Async": "6.0.1" + }, + "runtime": { + "lib/netstandard2.0/OwlCore.Extensions.dll": { + "assemblyVersion": "0.5.0.0", + "fileVersion": "0.5.0.0" + } + } + }, + "OwlCore.Storage/0.8.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "System.Linq.Async": "6.0.1" + }, + "runtime": { + "lib/netstandard2.0/OwlCore.Storage.dll": { + "assemblyVersion": "0.8.2.0", + "fileVersion": "0.8.2.0" + } + } + }, + "SixLabors.ImageSharp/2.1.3": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.5", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encoding.CodePages": "5.0.0" + }, + "runtime": { + "lib/netstandard2.0/SixLabors.ImageSharp.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.1.3.0" + } + } + }, + "StyleCop.Analyzers/1.1.118": {}, + "System.Buffers/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Memory": "4.5.5", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/System.Collections.Immutable.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.ComponentModel.Annotations/5.0.0": { + "runtime": { + "lib/netstandard2.0/System.ComponentModel.Annotations.dll": { + "assemblyVersion": "4.2.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Linq.Async/6.0.1": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "7.0.0" + }, + "runtime": { + "lib/netstandard2.0/System.Linq.Async.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.1.35981" + } + } + }, + "System.Memory/4.5.5": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.1.2", + "fileVersion": "4.6.31308.1" + } + } + }, + "System.Numerics.Vectors/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Reflection.Emit/4.7.0": { + "dependencies": { + "System.Reflection.Emit.ILGeneration": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Reflection.Emit.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Reflection.Emit.ILGeneration/4.7.0": { + "runtime": { + "lib/netstandard2.0/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Reflection.Emit.Lightweight/4.7.0": { + "dependencies": { + "System.Reflection.Emit.ILGeneration": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Text.Encoding.CodePages/5.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.20.51904" + } + } + }, + "System.Text.Encodings.Web/7.0.0": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.5", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.51805" + } + } + }, + "System.Text.Json/7.0.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "System.Buffers": "4.5.1", + "System.Memory": "4.5.5", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "7.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Json.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.323.6910" + } + } + }, + "System.Threading.Tasks.Dataflow/7.0.0": { + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Dataflow.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.51805" + } + } + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.2.0.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "TagLibSharp/2.3.0": { + "runtime": { + "lib/netstandard2.0/TagLibSharp.dll": { + "assemblyVersion": "2.3.0.0", + "fileVersion": "2.3.0.0" + } + } + }, + "StrixMusic.Sdk/0.1.0-alpha": { + "dependencies": { + "CommunityToolkit.Common": "8.1.0", + "CommunityToolkit.Diagnostics": "8.1.0", + "CommunityToolkit.Mvvm": "8.1.0", + "JetBrains.Annotations": "2022.3.1", + "Microsoft.Bcl.AsyncInterfaces": "7.0.0", + "Microsoft.Extensions.DependencyInjection": "7.0.0", + "Microsoft.Identity.Client": "4.53.0", + "Newtonsoft.Json": "13.0.3", + "OwlCore": "0.2.1", + "SixLabors.ImageSharp": "2.1.3", + "System.Linq.Async": "6.0.1", + "System.Text.Json": "7.0.2", + "TagLibSharp": "2.3.0" + }, + "runtime": { + "StrixMusic.Sdk.dll": {} + } + } + } + }, + "libraries": { + "StrixMusic.Cores.Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "CommunityToolkit.Common/8.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9U91MvCETPTVkLd07rGuIIPSnoqEQq7WDwNe6zfREkCFNJtR56flnO38EXP0M+pzPpHBnNmPt9PnJoPDJZjg5w==", + "path": "communitytoolkit.common/8.1.0", + "hashPath": "communitytoolkit.common.8.1.0.nupkg.sha512" + }, + "CommunityToolkit.Diagnostics/8.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-R9h5uw8W2ADbmzrJpUJHH7cBpOE2g7jJ0mL/6sJEucfDvTWk3Uq/d4ZgWfVsQTf+MX8wAsWEYsc+UNfeZ3o6LQ==", + "path": "communitytoolkit.diagnostics/8.1.0", + "hashPath": "communitytoolkit.diagnostics.8.1.0.nupkg.sha512" + }, + "CommunityToolkit.Mvvm/8.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xxOt7lu9a5kB5Fs9RfcxzVlKnhuuPe+w7AXHtmCFtS3oldrsUhEMxHfNulluXSscUUoGxZ0jh55Om12ZP6abHA==", + "path": "communitytoolkit.mvvm/8.1.0", + "hashPath": "communitytoolkit.mvvm.8.1.0.nupkg.sha512" + }, + "JetBrains.Annotations/2022.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-11nsS3+lFICGkztVs9PP2NRItxf9fF+qD6xEW/T0YGto52zj07wseUeBdMAU1ah9HNVTDZyRC1u4NWdtJScwhw==", + "path": "jetbrains.annotations/2022.3.1", + "hashPath": "jetbrains.annotations.2022.3.1.nupkg.sha512" + }, + "MessagePack/2.5.108": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kcVRbdWP3xNWLZmmpm4DFO+kuXf6mUR2mHZ27WoZIEFIv9hazuUd80injXhNrZnlq/FklAdCsLOil5M76I4Ndg==", + "path": "messagepack/2.5.108", + "hashPath": "messagepack.2.5.108.nupkg.sha512" + }, + "MessagePack.Annotations/2.5.108": { + "type": "package", + "serviceable": true, + "sha512": "sha512-28aNCvfJClgwaKr26gf2S6LT+C1PNyPxiG+ihYpy8uCJsRLJEDoCt2I0Uk5hqOPQ8P8hI0ESy520oMkZkPmsOQ==", + "path": "messagepack.annotations/2.5.108", + "hashPath": "messagepack.annotations.2.5.108.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3aeMZ1N0lJoSyzqiP03hqemtb1BijhsJADdobn/4nsMJ8V1H+CrpuduUe4hlRdx+ikBQju1VGjMD1GJ3Sk05Eg==", + "path": "microsoft.bcl.asyncinterfaces/7.0.0", + "hashPath": "microsoft.bcl.asyncinterfaces.7.0.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==", + "path": "microsoft.extensions.dependencyinjection/7.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==", + "path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.53.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N0qNbtiuziG0UBFbbju7az96t4lEOQtuonhV+yk1mx76q4o5hBzekOURxQM0EJNWBIi68w72LivMQJuFig6kQw==", + "path": "microsoft.identity.client/4.53.0", + "hashPath": "microsoft.identity.client.4.53.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Abstractions/6.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iI+9V+2ciCrbheeLjpmjcqCnhy+r6yCoEcid3nkoFWerHgjVuT6CPM4HODUTtUPe1uwks4wcnAujJ8u+IKogHQ==", + "path": "microsoft.identitymodel.abstractions/6.22.0", + "hashPath": "microsoft.identitymodel.abstractions.6.22.0.nupkg.sha512" + }, + "Microsoft.NET.StringTools/17.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-06T6Hqfs3JDIaBvJaBRFFMIdU7oE0OMab5Xl8LKQjWPxBQr3BgVFKMQPTC+GsSEuYREWmK6g5eOd7Xqd9p1YCA==", + "path": "microsoft.net.stringtools/17.4.0", + "hashPath": "microsoft.net.stringtools.17.4.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + }, + "OwlCore/0.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KZDXrTX7E8v5J+NW//Gq9pMKCwbsSwEUMWPMfJoBgo49JvdOoi0HysfAtPAa3G1hbTloqMJl0n4fSGl9TTOQvw==", + "path": "owlcore/0.2.1", + "hashPath": "owlcore.0.2.1.nupkg.sha512" + }, + "OwlCore.ComponentModel/0.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZY9oPYyODAOvz1n++7Wrlp7/g/3/voQzPQTAGkDZYLo4onnZDVMGuFjcV7m+KFECCt33Nr5FR+dbqNHt8Soy1g==", + "path": "owlcore.componentmodel/0.3.0", + "hashPath": "owlcore.componentmodel.0.3.0.nupkg.sha512" + }, + "OwlCore.Extensions/0.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-py4HxFdCFWQapL094wX1ULOMGUK4hBBGr+jRujDi7bxRqAPiSlqfKsKbsRtF/brrzvZO7qt64kw4qummyZ3sEQ==", + "path": "owlcore.extensions/0.5.0", + "hashPath": "owlcore.extensions.0.5.0.nupkg.sha512" + }, + "OwlCore.Storage/0.8.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-av6eVFATaIcVqgiorzYm0J3n/gCked08OXUAMDhi+mpYUZNxMxrIeunFF5vWrZ4wE/6BgUVu5Q1b3m8NtUMR+w==", + "path": "owlcore.storage/0.8.2", + "hashPath": "owlcore.storage.0.8.2.nupkg.sha512" + }, + "SixLabors.ImageSharp/2.1.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8yonNRWX3vUE9k29ta0Hbfa0AEc0hbDjSH/nZ3vOTJEXmY6hLnGsjDKoz96Z+AgOsrdkAu6PdL/Ebaf70aitzw==", + "path": "sixlabors.imagesharp/2.1.3", + "hashPath": "sixlabors.imagesharp.2.1.3.nupkg.sha512" + }, + "StyleCop.Analyzers/1.1.118": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Onx6ovGSqXSK07n/0eM3ZusiNdB6cIlJdabQhWGgJp3Vooy9AaLS/tigeybOJAobqbtggTamoWndz72JscZBvw==", + "path": "stylecop.analyzers/1.1.118", + "hashPath": "stylecop.analyzers.1.1.118.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.ComponentModel.Annotations/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==", + "path": "system.componentmodel.annotations/5.0.0", + "hashPath": "system.componentmodel.annotations.5.0.0.nupkg.sha512" + }, + "System.Linq.Async/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "path": "system.linq.async/6.0.1", + "hashPath": "system.linq.async.6.0.1.nupkg.sha512" + }, + "System.Memory/4.5.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==", + "path": "system.memory/4.5.5", + "hashPath": "system.memory.4.5.5.nupkg.sha512" + }, + "System.Numerics.Vectors/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==", + "path": "system.numerics.vectors/4.5.0", + "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==", + "path": "system.reflection.emit/4.7.0", + "hashPath": "system.reflection.emit.4.7.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AucBYo3DSI0IDxdUjKksBcQJXPHyoPyrCXYURW1WDsLI4M65Ar/goSHjdnHOAY9MiYDNKqDlIgaYm+zL2hA1KA==", + "path": "system.reflection.emit.ilgeneration/4.7.0", + "hashPath": "system.reflection.emit.ilgeneration.4.7.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a4OLB4IITxAXJeV74MDx49Oq2+PsF6Sml54XAFv+2RyWwtDBcabzoxiiJRhdhx+gaohLh4hEGCLQyBozXoQPqA==", + "path": "system.reflection.emit.lightweight/4.7.0", + "hashPath": "system.reflection.emit.lightweight.4.7.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", + "path": "system.text.encoding.codepages/5.0.0", + "hashPath": "system.text.encoding.codepages.5.0.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==", + "path": "system.text.encodings.web/7.0.0", + "hashPath": "system.text.encodings.web.7.0.0.nupkg.sha512" + }, + "System.Text.Json/7.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/LZf/JrGyilojqwpaywb+sSz8Tew7ij4K/Sk+UW8AKfAK7KRhR6mKpKtTm06cYA7bCpGTWfYksIW+mVsdxPegQ==", + "path": "system.text.json/7.0.2", + "hashPath": "system.text.json.7.0.2.nupkg.sha512" + }, + "System.Threading.Tasks.Dataflow/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmSJ4b0e2nlplV/RdWVxvH7WECTHACofv06dx/JwOYc0n56eK1jIWdQKNYYsReSO4w8n1QA5stOzSQcfaVBkJg==", + "path": "system.threading.tasks.dataflow/7.0.0", + "hashPath": "system.threading.tasks.dataflow.7.0.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "path": "system.threading.tasks.extensions/4.5.4", + "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" + }, + "TagLibSharp/2.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Qo4z6ZjnIfbR3Us1Za5M2vQ97OWZPmODvVmepxZ8XW0UIVLGdO2T63/N3b23kCcyiwuIe0TQvMEQG8wUCCD1mA==", + "path": "taglibsharp/2.3.0", + "hashPath": "taglibsharp.2.3.0.nupkg.sha512" + }, + "StrixMusic.Sdk/0.1.0-alpha": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/libs/nuget/StrixMusic.Cores.Storage/StrixMusic.Cores.Storage.dll b/libs/nuget/StrixMusic.Cores.Storage/StrixMusic.Cores.Storage.dll new file mode 100644 index 0000000..bba8c85 Binary files /dev/null and b/libs/nuget/StrixMusic.Cores.Storage/StrixMusic.Cores.Storage.dll differ