#93: Updated some code that affects filename generation for audio files
This commit is contained in:
@@ -170,7 +170,7 @@ public class SongManager : BaseManager
|
|||||||
dirMgr.CreateDirectory();
|
dirMgr.CreateDirectory();
|
||||||
|
|
||||||
var tempPath = song.SongPath();
|
var tempPath = song.SongPath();
|
||||||
song.Filename = song.GenerateFilename(1);
|
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.WAV);
|
||||||
var filePath = $"{dirMgr.SongDirectory}{song.Filename}";
|
var filePath = $"{dirMgr.SongDirectory}{song.Filename}";
|
||||||
|
|
||||||
_logger.Info($"Absolute song path: {filePath}");
|
_logger.Info($"Absolute song path: {filePath}");
|
||||||
@@ -205,7 +205,7 @@ public class SongManager : BaseManager
|
|||||||
|
|
||||||
if (string.IsNullOrEmpty(song.Filename))
|
if (string.IsNullOrEmpty(song.Filename))
|
||||||
{
|
{
|
||||||
song.Filename = song.GenerateFilename(1);
|
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.WAV);
|
||||||
}
|
}
|
||||||
|
|
||||||
_logger.Info($"Temporary directory: {_tempDirectoryRoot}");
|
_logger.Info($"Temporary directory: {_tempDirectoryRoot}");
|
||||||
@@ -254,7 +254,6 @@ public class SongManager : BaseManager
|
|||||||
var coverMgr = new CoverArtManager(_config);
|
var coverMgr = new CoverArtManager(_config);
|
||||||
var coverArt = coverMgr.SaveCoverArt(coverArtData, song);
|
var coverArt = coverMgr.SaveCoverArt(coverArtData, song);
|
||||||
|
|
||||||
|
|
||||||
var meta = new Utilities.MetadataRetriever();
|
var meta = new Utilities.MetadataRetriever();
|
||||||
meta.UpdateMetadata(song, song);
|
meta.UpdateMetadata(song, song);
|
||||||
|
|
||||||
@@ -264,6 +263,7 @@ public class SongManager : BaseManager
|
|||||||
var tempPath = song.SongPath();
|
var tempPath = song.SongPath();
|
||||||
|
|
||||||
song.SongDirectory = dirMgr.SongDirectory;
|
song.SongDirectory = dirMgr.SongDirectory;
|
||||||
|
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.FLAC);
|
||||||
|
|
||||||
var filePath = song.SongPath();
|
var filePath = song.SongPath();
|
||||||
_logger.Info($"Absolute song path: {filePath}");
|
_logger.Info($"Absolute song path: {filePath}");
|
||||||
@@ -340,7 +340,7 @@ public class SongManager : BaseManager
|
|||||||
{
|
{
|
||||||
_logger.Info("Assigning song filename");
|
_logger.Info("Assigning song filename");
|
||||||
var song = new Song { SongDirectory = this._tempDirectoryRoot };
|
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;
|
song.Filename = filename;
|
||||||
var songPath = song.SongPath();
|
var songPath = song.SongPath();
|
||||||
|
|
||||||
|
|||||||
+30
-6
@@ -88,26 +88,43 @@ public class Song
|
|||||||
return fullPath;
|
return fullPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GenerateFilename(int flag = 0)
|
public string GenerateFilename(bool includeExtension = false, AudioFileExtensionsType flag = AudioFileExtensionsType.Default)
|
||||||
{
|
{
|
||||||
int length = Constants.DirectoryPaths.FILENAME_LENGTH;
|
int length = Constants.DirectoryPaths.FILENAME_LENGTH;
|
||||||
string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS;
|
string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS;
|
||||||
var filename = this.Generate(length, chars);
|
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;
|
int length = Constants.DirectoryPaths.FILENAME_LENGTH;
|
||||||
string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS;
|
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(() =>
|
var filename = await Task.Run(() =>
|
||||||
{
|
{
|
||||||
return this.Generate(length, chars);
|
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)
|
private string Generate(int length, string chars)
|
||||||
@@ -119,3 +136,10 @@ public class Song
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum AudioFileExtensionsType
|
||||||
|
{
|
||||||
|
Default = 0,
|
||||||
|
WAV = 1,
|
||||||
|
FLAC = 2
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user