#93: Updated some code that affects filename generation for audio files

This commit is contained in:
kdeng00
2024-07-24 19:54:25 -04:00
parent 0f70ca6aaa
commit c60ca48ca1
2 changed files with 34 additions and 10 deletions
+4 -4
View File
@@ -170,7 +170,7 @@ public class SongManager : BaseManager
dirMgr.CreateDirectory();
var tempPath = song.SongPath();
song.Filename = song.GenerateFilename(1);
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.WAV);
var filePath = $"{dirMgr.SongDirectory}{song.Filename}";
_logger.Info($"Absolute song path: {filePath}");
@@ -205,7 +205,7 @@ public class SongManager : BaseManager
if (string.IsNullOrEmpty(song.Filename))
{
song.Filename = song.GenerateFilename(1);
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.WAV);
}
_logger.Info($"Temporary directory: {_tempDirectoryRoot}");
@@ -254,7 +254,6 @@ public class SongManager : BaseManager
var coverMgr = new CoverArtManager(_config);
var coverArt = coverMgr.SaveCoverArt(coverArtData, song);
var meta = new Utilities.MetadataRetriever();
meta.UpdateMetadata(song, song);
@@ -264,6 +263,7 @@ public class SongManager : BaseManager
var tempPath = song.SongPath();
song.SongDirectory = dirMgr.SongDirectory;
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.FLAC);
var filePath = song.SongPath();
_logger.Info($"Absolute song path: {filePath}");
@@ -340,7 +340,7 @@ public class SongManager : BaseManager
{
_logger.Info("Assigning song filename");
var song = new Song { SongDirectory = this._tempDirectoryRoot };
var filename = await song.GenerateFilenameAsync(0) + "-" + songFile.FileName;
var filename = await song.GenerateFilenameAsync(false) + "-" + songFile.FileName;
song.Filename = filename;
var songPath = song.SongPath();
+30 -6
View File
@@ -88,26 +88,43 @@ public class Song
return fullPath;
}
public string GenerateFilename(int flag = 0)
public string GenerateFilename(bool includeExtension = false, AudioFileExtensionsType flag = AudioFileExtensionsType.Default)
{
int length = Constants.DirectoryPaths.FILENAME_LENGTH;
string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS;
var filename = this.Generate(length, chars);
var extension = Icarus.Constants.FileExtensions.DEFAULT_AUDIO_EXTENSION;
// var extension = Icarus.Constants.FileExtensions.DEFAULT_AUDIO_EXTENSION;
var extension = this.DetermineFileExtension(flag);
return flag == 0 ? filename : $"{filename}{extension}";
return includeExtension ? $"{filename}{extension}" : filename;
}
public async Task<string> GenerateFilenameAsync(int flag = 0)
public async Task<string> GenerateFilenameAsync(bool includeExtension = false, AudioFileExtensionsType flag = AudioFileExtensionsType.Default)
{
int length = Constants.DirectoryPaths.FILENAME_LENGTH;
string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS;
var extension = Icarus.Constants.FileExtensions.DEFAULT_AUDIO_EXTENSION;
// var extension = Icarus.Constants.FileExtensions.DEFAULT_AUDIO_EXTENSION;
var extension = this.DetermineFileExtension(flag);
var filename = await Task.Run(() =>
{
return this.Generate(length, chars);
});
return flag == 0 ? filename : $"{filename}{extension}";
return includeExtension ? $"{filename}{extension}" : filename;
}
private string DetermineFileExtension(AudioFileExtensionsType flag)
{
switch (flag)
{
case AudioFileExtensionsType.Default:
return Constants.FileExtensions.DEFAULT_AUDIO_EXTENSION;
case AudioFileExtensionsType.WAV:
return Constants.FileExtensions.WAV_EXTENSION;
case AudioFileExtensionsType.FLAC:
return Constants.FileExtensions.FLAC_EXTENSION;
default:
return "";
}
}
private string Generate(int length, string chars)
@@ -119,3 +136,10 @@ public class Song
}
#endregion
}
public enum AudioFileExtensionsType
{
Default = 0,
WAV = 1,
FLAC = 2
}