* Added script shell to convert wav files to flac * #93: Minor change to script to convert wav files to flac * #93: Added more code to for the music file conversion * #93: Script to convert wav files to flac files is done * #93: Clean up * #93: Starting work to implement flac support * #93: Minor update to conversion script * #93: Added dotnet manifest file Includes the dotnet-ef tool * #93: Updated README and migration script * #93: Created skeleton for saving flac files * #93: Making some changes to how the file extension is determined * #93: Updated gitignore * #93: Another gitignore update * #93: Making some changes to the process of saving a song to the filesystem * #93: Adding SQL script to drop and create database * #93: Saving uploaded song to a temporary location for processing * #93: Initializing some properties in the song model earlier * #93: Uploading wav songs works. Moving on to flac support * #93: Added more code to save flac files * #93: Updated some code that affects filename generation for audio files * #93: Song Model changes and support for different file types * #93: Working on build errors, removed DotnetZip dependency, and added new Ionic.Zlip.Netstandard dependency * #93: Reduce build errors * #93: Removed ID3 dependency * #93: Cleanup
This commit was merged in pull request #101.
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
using Ionic.Zip;
|
||||
|
||||
using Icarus.Models;
|
||||
|
||||
namespace Icarus.Controllers.Utilities;
|
||||
@@ -7,14 +5,14 @@ namespace Icarus.Controllers.Utilities;
|
||||
public class SongCompression
|
||||
{
|
||||
#region Fields
|
||||
string _compressedSongFilename;
|
||||
string _tempDirectory;
|
||||
byte[] _uncompressedSong;
|
||||
string? _compressedSongFilename;
|
||||
string? _tempDirectory;
|
||||
byte[]? _uncompressedSong;
|
||||
#endregion
|
||||
|
||||
|
||||
#region Propterties
|
||||
public string CompressedSongFilename
|
||||
public string? CompressedSongFilename
|
||||
{
|
||||
get => _compressedSongFilename;
|
||||
set => _compressedSongFilename = value;
|
||||
@@ -63,10 +61,15 @@ public class SongCompression
|
||||
|
||||
try
|
||||
{
|
||||
using (ZipFile zip = new ZipFile())
|
||||
using (var fi = new FileStream(songDetails.SongPath(), FileMode.Open))
|
||||
{
|
||||
zip.AddFile(songDetails.SongPath());
|
||||
zip.Save(tmpZipFilePath);
|
||||
using (var z = new Ionic.Zlib.ZlibStream(fi, Ionic.Zlib.CompressionMode.Compress))
|
||||
{
|
||||
using (var tr = new FileStream(tmpZipFilePath, FileMode.CreateNew))
|
||||
{
|
||||
z.CopyTo(tr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine("Successfully compressed");
|
||||
@@ -78,7 +81,7 @@ public class SongCompression
|
||||
Console.WriteLine(exMsg);
|
||||
}
|
||||
|
||||
if (songDetails.Filename.Contains(Constants.FileExtensions.WAV_EXTENSION))
|
||||
if (songDetails.Filename!.Contains(Constants.FileExtensions.WAV_EXTENSION))
|
||||
{
|
||||
_compressedSongFilename = StripExtension(songDetails.Filename);
|
||||
}
|
||||
@@ -89,7 +92,7 @@ public class SongCompression
|
||||
// Method not being used
|
||||
public byte[] CompressedSong(byte[] uncompressedSong)
|
||||
{
|
||||
byte[] compressedSong = null;
|
||||
byte[]? compressedSong = null;
|
||||
try
|
||||
{
|
||||
Console.WriteLine("Song has been successfully compressed");
|
||||
@@ -101,7 +104,7 @@ public class SongCompression
|
||||
Console.WriteLine(exMsg);
|
||||
}
|
||||
|
||||
return compressedSong;
|
||||
return compressedSong!;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user