diff --git a/CUETools.Codecs.ALAC/ALACWriter.cs b/CUETools.Codecs.ALAC/ALACWriter.cs index 1df276f..2787ccb 100644 --- a/CUETools.Codecs.ALAC/ALACWriter.cs +++ b/CUETools.Codecs.ALAC/ALACWriter.cs @@ -1252,19 +1252,20 @@ namespace CUETools.Codecs.ALAC } } - public string Vendor + public static string Vendor { get { - return vendor_string; - } + var version = typeof(ALACWriter).Assembly.GetName().Version; + return vendor_string ?? "CUETools " + version.Major + "." + version.Minor + "." + version.Build; + } set { vendor_string = value; } } - string vendor_string = "CUETools 2.1.5"; + static string vendor_string = null; int select_blocksize(int samplerate, int time_ms) { @@ -1566,7 +1567,7 @@ namespace CUETools.Codecs.ALAC bitwriter.write('d', 'a', 't', 'a'); bitwriter.writebits(32, 1); bitwriter.writebits(32, 0); - bitwriter.write(vendor_string); + bitwriter.write(Vendor); } chunk_end(bitwriter); } diff --git a/CUETools.Codecs.FLACCL/FLACCLWriter.cs b/CUETools.Codecs.FLACCL/FLACCLWriter.cs index 3f6c51a..1bff52e 100644 --- a/CUETools.Codecs.FLACCL/FLACCLWriter.cs +++ b/CUETools.Codecs.FLACCL/FLACCLWriter.cs @@ -1726,7 +1726,7 @@ namespace CUETools.Codecs.FLACCL OCLMan.Defines = "#define MAX_ORDER " + eparams.max_prediction_order.ToString() + "\n" + "#define GROUP_SIZE " + groupSize.ToString() + "\n" + - "#define FLACCL_VERSION \"" + vendor_string + "\"\n" + + "#define FLACCL_VERSION \"" + Vendor + "\"\n" + (UseGPUOnly ? "#define DO_PARTITIONS\n" : "") + (UseGPURice ? "#define DO_RICE\n" : "") + "#define BITS_PER_SAMPLE " + Settings.PCM.BitsPerSample + "\n" + @@ -1940,7 +1940,20 @@ namespace CUETools.Codecs.FLACCL public string Path { get { return _path; } } - public static readonly string vendor_string = "FLACCL#0.4"; + public static string Vendor + { + get + { + var version = typeof(FLACCLWriter).Assembly.GetName().Version; + return vendor_string ?? "CUETools FLACCL " + version.Major + "." + version.Minor + "." + version.Build; + } + set + { + vendor_string = value; + } + } + + static string vendor_string = null; int select_blocksize(int samplerate, int time_ms) { @@ -2007,7 +2020,7 @@ namespace CUETools.Codecs.FLACCL { BitWriter bitwriter = new BitWriter(comment, pos, 4); Encoding enc = new ASCIIEncoding(); - int vendor_len = enc.GetBytes(vendor_string, 0, vendor_string.Length, comment, pos + 8); + int vendor_len = enc.GetBytes(Vendor, 0, Vendor.Length, comment, pos + 8); // metadata header bitwriter.writebits(1, last); diff --git a/CUETools.Codecs.FLAKE/FlakeWriter.cs b/CUETools.Codecs.FLAKE/FlakeWriter.cs index e868872..6f73be1 100644 --- a/CUETools.Codecs.FLAKE/FlakeWriter.cs +++ b/CUETools.Codecs.FLAKE/FlakeWriter.cs @@ -1810,7 +1810,20 @@ new int[] { // 30 public string Path { get { return _path; } } - string vendor_string = "Flake#0.1"; + public static string Vendor + { + get + { + var version = typeof(FlakeWriter).Assembly.GetName().Version; + return vendor_string ?? "CUETools " + version.Major + "." + version.Minor + "." + version.Build; + } + set + { + vendor_string = value; + } + } + + static string vendor_string = null; int select_blocksize(int samplerate, int time_ms) { @@ -1876,7 +1889,7 @@ new int[] { // 30 { BitWriter bitwriter = new BitWriter(comment, pos, 4); Encoding enc = new ASCIIEncoding(); - int vendor_len = enc.GetBytes(vendor_string, 0, vendor_string.Length, comment, pos + 8); + int vendor_len = enc.GetBytes(Vendor, 0, Vendor.Length, comment, pos + 8); // metadata header bitwriter.writebits(1, last); diff --git a/CUETools.FLACCL.cmd/Program.cs b/CUETools.FLACCL.cmd/Program.cs index ad7d76b..3fb0027 100644 --- a/CUETools.FLACCL.cmd/Program.cs +++ b/CUETools.FLACCL.cmd/Program.cs @@ -200,7 +200,7 @@ namespace CUETools.FLACCL.cmd } if (!quiet) { - Console.WriteLine("{0}, Copyright (C) 2010 Grigory Chudov.", FLACCLWriter.vendor_string); + Console.WriteLine("{0}, Copyright (C) 2010 Grigory Chudov.", FLACCLWriter.Vendor); Console.WriteLine("This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to"); Console.WriteLine("the extent permitted by law. for details."); } diff --git a/CUETools/CUETools.TestCodecs/ALACWriterTest.cs b/CUETools/CUETools.TestCodecs/ALACWriterTest.cs index c094ff6..2e52203 100644 --- a/CUETools/CUETools.TestCodecs/ALACWriterTest.cs +++ b/CUETools/CUETools.TestCodecs/ALACWriterTest.cs @@ -78,10 +78,11 @@ namespace CUETools.TestCodecs { AudioBuffer buff = WAVReader.ReadAllSamples("test.wav", null); ALACWriter target; + + ALACWriter.Vendor = "CUETools"; target = new ALACWriter("alacwriter1.m4a", null, new ALACWriterSettings() { PCM = buff.PCM }); target.Settings.Padding = 1; - target.Vendor = "CUETools"; target.CreationTime = DateTime.Parse("15 Aug 1976"); target.FinalSampleCount = buff.Length; target.Write(buff); @@ -90,7 +91,6 @@ namespace CUETools.TestCodecs target = new ALACWriter("alacwriter0.m4a", null, new ALACWriterSettings() { PCM = buff.PCM }); target.Settings.Padding = 1; - target.Vendor = "CUETools"; target.CreationTime = DateTime.Parse("15 Aug 1976"); target.Write(buff); target.Close();