diff --git a/Source/AaxDecrypter/AaxDecrypter.csproj b/Source/AaxDecrypter/AaxDecrypter.csproj
index c065bf6d..51f76329 100644
--- a/Source/AaxDecrypter/AaxDecrypter.csproj
+++ b/Source/AaxDecrypter/AaxDecrypter.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/Source/FileLiberator/ConvertToMp3.cs b/Source/FileLiberator/ConvertToMp3.cs
index a03fb34e..89976d16 100644
--- a/Source/FileLiberator/ConvertToMp3.cs
+++ b/Source/FileLiberator/ConvertToMp3.cs
@@ -60,6 +60,11 @@ public override async Task ProcessAsync(LibraryBook libraryBook)
config.LameMatchSourceBR,
chapters);
+ if (m4bBook.AppleTags.Tracks is (int trackNum, int trackCount))
+ {
+ lameConfig.ID3.Track = trackCount > 0 ? $"{trackNum}/{trackCount}" : trackNum.ToString();
+ }
+
using var mp3File = File.Open(Path.GetTempFileName(), FileMode.OpenOrCreate, FileAccess.ReadWrite);
try
{
diff --git a/Source/LibationFileManager/AudibleFileStorage.cs b/Source/LibationFileManager/AudibleFileStorage.cs
index 0a89c8d9..4e91d850 100644
--- a/Source/LibationFileManager/AudibleFileStorage.cs
+++ b/Source/LibationFileManager/AudibleFileStorage.cs
@@ -170,21 +170,19 @@ public void Refresh()
try
{
- using var fileStream = File.OpenRead(path);
-
if (format is OutputFormat.M4b)
{
- var mp4File = await Task.Run(() => new AAXClean.Mp4File(fileStream), cancellationToken);
+ var tags = await Task.Run(() => AAXClean.AppleTags.FromFile(path));
- if (mp4File?.AppleTags?.Asin is not null)
- audioFile = new FilePathCache.CacheEntry(mp4File.AppleTags.Asin, FileType.Audio, path);
+ if (tags?.Asin is not null)
+ audioFile = new FilePathCache.CacheEntry(tags.Asin, FileType.Audio, path);
}
else
{
- var id3 = NAudio.Lame.ID3.Id3Tag.Create(fileStream);
+ using var fileStream = File.OpenRead(path);
+ var id3 = await Task.Run(() => NAudio.Lame.ID3.Id3Tag.Create(fileStream));
- var asin
- = id3?.Children
+ var asin = id3?.Children
.OfType()
.FirstOrDefault(f => f.FieldName == "AUDIBLE_ASIN")
?.FieldValue;
diff --git a/Source/LibationUiBase/GridView/GridContextMenu.cs b/Source/LibationUiBase/GridView/GridContextMenu.cs
index 15b0f099..9e9c78ae 100644
--- a/Source/LibationUiBase/GridView/GridContextMenu.cs
+++ b/Source/LibationUiBase/GridView/GridContextMenu.cs
@@ -95,20 +95,4 @@ public ITemplateEditor CreateTemplateEditor(LibraryBook libraryBook, string e
return TemplateEditor.CreateFilenameEditor(Configuration.Instance.Books, existingTemplate, folderDto, fileDto);
}
-
-
-}
-class Command : ICommand
-{
- public event EventHandler CanExecuteChanged;
-
- public bool CanExecute(object parameter)
- {
- throw new NotImplementedException();
- }
-
- public void Execute(object parameter)
- {
- throw new NotImplementedException();
- }
}
\ No newline at end of file