diff --git a/CUETools.Codecs.BDLPCM/MPLSReader.cs b/CUETools.Codecs.BDLPCM/MPLSReader.cs index 541adde..3df666b 100644 --- a/CUETools.Codecs.BDLPCM/MPLSReader.cs +++ b/CUETools.Codecs.BDLPCM/MPLSReader.cs @@ -591,6 +591,22 @@ namespace CUETools.Codecs.BDLPCM } } + public byte CodingType + { + get + { + return coding_type; + } + } + + public byte FormatType + { + get + { + return format; + } + } + public string LanguageString { get diff --git a/CUETools.eac3ui/App.config b/CUETools.eac3ui/App.config index e0bccd9..a5d6c59 100644 --- a/CUETools.eac3ui/App.config +++ b/CUETools.eac3ui/App.config @@ -2,20 +2,20 @@ -
+
- + - + \ No newline at end of file diff --git a/CUETools.eac3ui/App.xaml b/CUETools.eac3ui/App.xaml index 4f11c27..839d66f 100644 --- a/CUETools.eac3ui/App.xaml +++ b/CUETools.eac3ui/App.xaml @@ -1,7 +1,7 @@ - diff --git a/CUETools.eac3ui/App.xaml.cs b/CUETools.eac3ui/App.xaml.cs index dbb0c4c..ab98cf4 100644 --- a/CUETools.eac3ui/App.xaml.cs +++ b/CUETools.eac3ui/App.xaml.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Threading.Tasks; using System.Windows; -namespace CUETools.eac3ui +namespace BluTools { /// /// Interaction logic for App.xaml diff --git a/CUETools.eac3ui/CUETools.eac3ui.csproj b/CUETools.eac3ui/BLUTools.csproj similarity index 77% rename from CUETools.eac3ui/CUETools.eac3ui.csproj rename to CUETools.eac3ui/BLUTools.csproj index 95d581e..09fd988 100644 --- a/CUETools.eac3ui/CUETools.eac3ui.csproj +++ b/CUETools.eac3ui/BLUTools.csproj @@ -6,8 +6,8 @@ AnyCPU {678875A6-6B3A-4AAC-83B6-D9A72D9016CF} WinExe - CUETools.eac3ui - CUETools.eac3ui + BluTools + BluTools v4.6.1 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -36,6 +36,7 @@ + @@ -85,6 +86,7 @@ ResXFileCodeGenerator Resources.Designer.cs + Designer SettingsSingleFileGenerator @@ -120,5 +122,56 @@ CUETools.Processor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CUETools.eac3ui/Icons/cue2.ico b/CUETools.eac3ui/Icons/cue2.ico new file mode 100644 index 0000000..5212447 Binary files /dev/null and b/CUETools.eac3ui/Icons/cue2.ico differ diff --git a/CUETools.eac3ui/Icons/discogs.png b/CUETools.eac3ui/Icons/discogs.png new file mode 100644 index 0000000..c5cb26f Binary files /dev/null and b/CUETools.eac3ui/Icons/discogs.png differ diff --git a/CUETools.eac3ui/Icons/freedb16.png b/CUETools.eac3ui/Icons/freedb16.png new file mode 100644 index 0000000..a7ba138 Binary files /dev/null and b/CUETools.eac3ui/Icons/freedb16.png differ diff --git a/CUETools.eac3ui/Icons/headphones-box.png b/CUETools.eac3ui/Icons/headphones-box.png new file mode 100644 index 0000000..412a463 Binary files /dev/null and b/CUETools.eac3ui/Icons/headphones-box.png differ diff --git a/CUETools.eac3ui/Icons/ic_surround_sound_black_48dp_1x.png b/CUETools.eac3ui/Icons/ic_surround_sound_black_48dp_1x.png new file mode 100644 index 0000000..7648804 Binary files /dev/null and b/CUETools.eac3ui/Icons/ic_surround_sound_black_48dp_1x.png differ diff --git a/CUETools.eac3ui/Icons/icons8-audio-wave-32.png b/CUETools.eac3ui/Icons/icons8-audio-wave-32.png new file mode 100644 index 0000000..1593712 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-audio-wave-32.png differ diff --git a/CUETools.eac3ui/Icons/icons8-cancel-48.png b/CUETools.eac3ui/Icons/icons8-cancel-48.png new file mode 100644 index 0000000..0c04dea Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-cancel-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-copy-48.png b/CUETools.eac3ui/Icons/icons8-copy-48.png new file mode 100644 index 0000000..4fdb1e9 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-copy-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-dolby-digital-32.png b/CUETools.eac3ui/Icons/icons8-dolby-digital-32.png new file mode 100644 index 0000000..0586ec3 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-dolby-digital-32.png differ diff --git a/CUETools.eac3ui/Icons/icons8-dts-48.png b/CUETools.eac3ui/Icons/icons8-dts-48.png new file mode 100644 index 0000000..822e87b Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-dts-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-export-48.png b/CUETools.eac3ui/Icons/icons8-export-48.png new file mode 100644 index 0000000..fe86168 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-export-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-import-48.png b/CUETools.eac3ui/Icons/icons8-import-48.png new file mode 100644 index 0000000..6de2720 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-import-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-musical-notes-48.png b/CUETools.eac3ui/Icons/icons8-musical-notes-48.png new file mode 100644 index 0000000..d0c1519 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-musical-notes-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-open-48.png b/CUETools.eac3ui/Icons/icons8-open-48.png new file mode 100644 index 0000000..460e81e Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-open-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-playlist-48.png b/CUETools.eac3ui/Icons/icons8-playlist-48.png new file mode 100644 index 0000000..2053a23 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-playlist-48.png differ diff --git a/CUETools.eac3ui/Icons/icons8-tags-48.png b/CUETools.eac3ui/Icons/icons8-tags-48.png new file mode 100644 index 0000000..e4580a1 Binary files /dev/null and b/CUETools.eac3ui/Icons/icons8-tags-48.png differ diff --git a/CUETools.eac3ui/Icons/musicbrainz.ico b/CUETools.eac3ui/Icons/musicbrainz.ico new file mode 100644 index 0000000..7942139 Binary files /dev/null and b/CUETools.eac3ui/Icons/musicbrainz.ico differ diff --git a/CUETools.eac3ui/MainWindow.xaml b/CUETools.eac3ui/MainWindow.xaml index 0fed59e..1324dc6 100644 --- a/CUETools.eac3ui/MainWindow.xaml +++ b/CUETools.eac3ui/MainWindow.xaml @@ -1,31 +1,67 @@ - + MinWidth="300" MaxWidth="1200" MinHeight="260" MaxHeight="300" + DataContext="{Binding RelativeSource={RelativeSource Self}}" + Icon="Icons/cue2.ico" + Title="BluTools" Height="260" Width="600" Closing="Window_Closing" Initialized="Window_Initialized"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + diff --git a/CUETools.eac3ui/MainWindow.xaml.cs b/CUETools.eac3ui/MainWindow.xaml.cs index 55bd145..5c730b0 100644 --- a/CUETools.eac3ui/MainWindow.xaml.cs +++ b/CUETools.eac3ui/MainWindow.xaml.cs @@ -20,9 +20,11 @@ using System.ComponentModel; using Krystalware.UploadHelper; using CUETools.Codecs; using CUETools.Codecs.FLAKE; +using CUETools.Processor; +using System.Collections.ObjectModel; //using Microsoft.Win32; -namespace CUETools.eac3ui +namespace BluTools { /// /// Interaction logic for MainWindow.xaml @@ -31,6 +33,7 @@ namespace CUETools.eac3ui { public MainWindow() { + metaresults = new ObservableCollection(); filterShort = 900; filterRepeats = 2; filterDups = true; @@ -158,9 +161,19 @@ namespace CUETools.eac3ui ctdb.ContactDB(null, "CUETools.eac3to 2.1.7", "", false, true, CTDBMetadataSearch.Extensive); this.Dispatcher.Invoke(() => { + //metaresults.RaiseListChangedEvents = false; + cmbMetadata.ItemsSource = null; + metaresults.Clear(); + foreach (var m in ctdb.Metadata) + { + var entry = new CUEMetadataEntry(ctdb.TOC, m.source); + entry.metadata.FillFromCtdb(m, entry.TOC.FirstAudio - 1); + metaresults.Add(entry); + } + //metaresults.RaiseListChangedEvents = true; + cmbMetadata.ItemsSource = metaresults; pbStatus.Visibility = Visibility.Collapsed; pbStatus.IsIndeterminate = false; - cmbMetadata.ItemsSource = ctdb.Metadata; cmbMetadata.SelectedIndex = 0; }); } @@ -185,7 +198,8 @@ namespace CUETools.eac3ui CUEToolsDB ctdb; BackgroundWorker workerExtract; - CTDBResponseMeta meta; + CUEMetadataEntry metaresult; + ObservableCollection metaresults; MPLSReader chosenReader; ushort pid; string outputFolderPath; @@ -201,11 +215,11 @@ namespace CUETools.eac3ui if (cmbTitleSet.SelectedItem == null) return; pid = ((MPLSStream)cmbAudioTrack.SelectedItem).pid; chosenReader = cmbTitleSet.SelectedItem as MPLSReader; - meta = cmbMetadata.SelectedItem as CTDBResponseMeta; - outputFolderPath = Path.Combine(textBoxDestination.Text, meta != null ? - meta.artist + " - " + meta.year + " - " + meta.album : + metaresult = cmbMetadata.SelectedItem as CUEMetadataEntry; + outputFolderPath = Path.Combine(textBoxDestination.Text, metaresult != null ? + metaresult.metadata.Artist + " - " + metaresult.metadata.Year + " - " + metaresult.metadata.Title : Path.GetFileName(textBoxSource.Text) + "." + chosenReader.FileName + "." + pid.ToString()); - outputAudioPath = Path.Combine(outputFolderPath, meta != null ? meta.artist + " - " + meta.year + " - " + meta.album + ".flac" : "image.flac"); + outputAudioPath = Path.Combine(outputFolderPath, metaresult != null ? metaresult.metadata.Artist + " - " + metaresult.metadata.Year + " - " + metaresult.metadata.Title + ".flac" : "image.flac"); outputCuePath = Path.ChangeExtension(outputAudioPath, "cue"); pbStatus.Visibility = Visibility.Visible; @@ -213,6 +227,7 @@ namespace CUETools.eac3ui //pbStatus.IsIndeterminate = true; stackParams.IsEnabled = false; buttonExtract.IsEnabled = false; + buttonExtract.Visibility = Visibility.Hidden; buttonStop.Visibility = Visibility.Visible; buttonStop.IsEnabled = true; @@ -243,14 +258,14 @@ namespace CUETools.eac3ui using (StreamWriter cueWriter = new StreamWriter(outputCuePath, false, Encoding.UTF8)) { cueWriter.WriteLine("REM COMMENT \"{0}\"", "Created by CUETools.eac3to"); - if (meta != null && meta.year != null) - cueWriter.WriteLine("REM DATE {0}", meta.year); + if (metaresult != null && metaresult.metadata.Year != "") + cueWriter.WriteLine("REM DATE {0}", metaresult.metadata.Year); else cueWriter.WriteLine("REM DATE XXXX"); - if (meta != null) + if (metaresult != null) { - cueWriter.WriteLine("PERFORMER \"{0}\"", meta.artist); - cueWriter.WriteLine("TITLE \"{0}\"", meta.album); + cueWriter.WriteLine("PERFORMER \"{0}\"", metaresult.metadata.Artist); + cueWriter.WriteLine("TITLE \"{0}\"", metaresult.metadata.Title); } else { @@ -263,11 +278,11 @@ namespace CUETools.eac3ui if (toc[track].IsAudio) { cueWriter.WriteLine(" TRACK {0:00} AUDIO", toc[track].Number); - if (meta != null && meta.track.Length >= toc[track].Number) + if (metaresult != null && metaresult.metadata.Tracks.Count >= toc[track].Number) { - cueWriter.WriteLine(" TITLE \"{0}\"", meta.track[(int)toc[track].Number - 1].name); - if (meta.track[(int)toc[track].Number - 1].artist != null) - cueWriter.WriteLine(" PERFORMER \"{0}\"", meta.track[(int)toc[track].Number - 1].artist); + cueWriter.WriteLine(" TITLE \"{0}\"", metaresult.metadata.Tracks[(int)toc[track].Number - 1].Title); + if (metaresult.metadata.Tracks[(int)toc[track].Number - 1].Artist != "") + cueWriter.WriteLine(" PERFORMER \"{0}\"", metaresult.metadata.Tracks[(int)toc[track].Number - 1].Artist); } else { @@ -330,6 +345,7 @@ namespace CUETools.eac3ui //pbStatus.IsIndeterminate = false; stackParams.IsEnabled = true; buttonExtract.IsEnabled = true; + buttonExtract.Visibility = Visibility.Visible; buttonStop.Visibility = Visibility.Hidden; buttonStop.IsEnabled = false; }); @@ -346,6 +362,49 @@ namespace CUETools.eac3ui { textBoxSource.Text = Properties.Settings.Default.SourceFolder; textBoxDestination.Text = Properties.Settings.Default.DestinationFolder; + cmbMetadata.ItemsSource = metaresults; + } + } + public class CodingTypeToIcon : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + // TODO: ResourceDictionary? + var image = Application.Current.MainWindow.Resources["coding_type_" + value.ToString()] as Image; + return image == null ? null : image.Source; + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return null; + } + } + + public class FormatTypeToIcon : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + var image = Application.Current.MainWindow.Resources["format_type_" + value.ToString()] as Image; + return image == null ? null : image.Source; + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return null; + } + } + + public class MetadataSourceToIcon : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + var image = Application.Current.MainWindow.Resources[value.ToString()] as Image; + return image == null ? null : image.Source; + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return null; } } } diff --git a/CUETools.eac3ui/Properties/AssemblyInfo.cs b/CUETools.eac3ui/Properties/AssemblyInfo.cs index 8b293f4..6a65b5f 100644 --- a/CUETools.eac3ui/Properties/AssemblyInfo.cs +++ b/CUETools.eac3ui/Properties/AssemblyInfo.cs @@ -7,11 +7,11 @@ using System.Windows; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("CUETools.eac3ui")] +[assembly: AssemblyTitle("BluTools")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("CUETools.eac3ui")] +[assembly: AssemblyProduct("BluTools")] [assembly: AssemblyCopyright("Copyright © 2018")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/CUETools.eac3ui/Properties/Resources.Designer.cs b/CUETools.eac3ui/Properties/Resources.Designer.cs index 880bc93..c9872e0 100644 --- a/CUETools.eac3ui/Properties/Resources.Designer.cs +++ b/CUETools.eac3ui/Properties/Resources.Designer.cs @@ -8,10 +8,10 @@ // //------------------------------------------------------------------------------ -namespace CUETools.eac3ui.Properties -{ - - +namespace BluTools.Properties { + using System; + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -19,51 +19,43 @@ namespace CUETools.eac3ui.Properties // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - + internal class Resources { + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { + internal Resources() { } - + /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CUETools.eac3ui.Properties.Resources", typeof(Resources).Assembly); + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BluTools.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - + /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { + internal static global::System.Globalization.CultureInfo Culture { + get { return resourceCulture; } - set - { + set { resourceCulture = value; } } diff --git a/CUETools.eac3ui/Properties/Resources.resx b/CUETools.eac3ui/Properties/Resources.resx index af7dbeb..2f96abe 100644 --- a/CUETools.eac3ui/Properties/Resources.resx +++ b/CUETools.eac3ui/Properties/Resources.resx @@ -46,7 +46,7 @@ mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with - : System.Serialization.Formatters.Binary.BinaryFormatter + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 @@ -60,6 +60,7 @@ : and then encoded with base64 encoding. --> + @@ -68,9 +69,10 @@ - + + @@ -85,9 +87,10 @@ - + + @@ -109,9 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/CUETools.eac3ui/Properties/Settings.Designer.cs b/CUETools.eac3ui/Properties/Settings.Designer.cs index b489b1f..b0899f9 100644 --- a/CUETools.eac3ui/Properties/Settings.Designer.cs +++ b/CUETools.eac3ui/Properties/Settings.Designer.cs @@ -8,7 +8,7 @@ // //------------------------------------------------------------------------------ -namespace CUETools.eac3ui.Properties { +namespace BluTools.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] diff --git a/CUETools.eac3ui/Properties/Settings.settings b/CUETools.eac3ui/Properties/Settings.settings index 19c84e5..a95c727 100644 --- a/CUETools.eac3ui/Properties/Settings.settings +++ b/CUETools.eac3ui/Properties/Settings.settings @@ -1,5 +1,5 @@  - + diff --git a/CUETools/CUETools.sln b/CUETools/CUETools.sln index 07b8ad5..ae17257 100644 --- a/CUETools/CUETools.sln +++ b/CUETools/CUETools.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.27130.2027 +VisualStudioVersion = 15.0.27130.2036 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CodecLibs", "CodecLibs", "{8B179853-B7D6-479C-B8B2-6CBCE835D040}" EndProject @@ -154,8 +154,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.DSP.Resampler", ". EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.Codecs.Icecast", "..\CUETools.Codecs.Icecast\CUETools.Codecs.Icecast.csproj", "{8FC5DA7C-F6AC-4D04-85BC-1233DDF569E7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFRipper", "..\WPFRipper\WPFRipper.csproj", "{2D8D7A03-DFFA-44EF-9299-8BB56D122245}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.Codecs.FLACCL", "..\CUETools.Codecs.FLACCL\CUETools.Codecs.FLACCL.csproj", "{DFE55765-564C-4B8F-993B-A94C4D1C212E}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.FLACL.cmd", "..\CUETools.FLACCL.cmd\CUETools.FLACL.cmd.csproj", "{1FCA8834-34E6-47CF-B53F-D8DF35345363}" @@ -188,7 +186,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.eac3to", "..\CUETo EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GUI", "GUI", "{BC0C1801-0212-4ECC-92D5-8F2D6F69E888}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.eac3ui", "..\CUETools.eac3ui\CUETools.eac3ui.csproj", "{678875A6-6B3A-4AAC-83B6-D9A72D9016CF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BLUTools", "..\CUETools.eac3ui\BLUTools.csproj", "{678875A6-6B3A-4AAC-83B6-D9A72D9016CF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUERipper.WPF", "..\CUERipper.WPF\CUERipper.WPF.csproj", "{2D8D7A03-DFFA-44EF-9299-8BB56D122245}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -901,20 +901,6 @@ Global {8FC5DA7C-F6AC-4D04-85BC-1233DDF569E7}.Release|Win32.ActiveCfg = Release|Any CPU {8FC5DA7C-F6AC-4D04-85BC-1233DDF569E7}.Release|x64.ActiveCfg = Release|Any CPU {8FC5DA7C-F6AC-4D04-85BC-1233DDF569E7}.Release|x86.ActiveCfg = Release|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Win32.ActiveCfg = Debug|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|x64.ActiveCfg = Debug|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|x86.ActiveCfg = Debug|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Any CPU.Build.0 = Release|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Win32.ActiveCfg = Release|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|x64.ActiveCfg = Release|Any CPU - {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|x86.ActiveCfg = Release|Any CPU {DFE55765-564C-4B8F-993B-A94C4D1C212E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DFE55765-564C-4B8F-993B-A94C4D1C212E}.Debug|Any CPU.Build.0 = Debug|Any CPU {DFE55765-564C-4B8F-993B-A94C4D1C212E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -1130,6 +1116,26 @@ Global {678875A6-6B3A-4AAC-83B6-D9A72D9016CF}.Release|x64.Build.0 = Release|Any CPU {678875A6-6B3A-4AAC-83B6-D9A72D9016CF}.Release|x86.ActiveCfg = Release|Any CPU {678875A6-6B3A-4AAC-83B6-D9A72D9016CF}.Release|x86.Build.0 = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Win32.ActiveCfg = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|Win32.Build.0 = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|x64.ActiveCfg = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|x64.Build.0 = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|x86.ActiveCfg = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Debug|x86.Build.0 = Debug|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Any CPU.Build.0 = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Win32.ActiveCfg = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|Win32.Build.0 = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|x64.ActiveCfg = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|x64.Build.0 = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|x86.ActiveCfg = Release|Any CPU + {2D8D7A03-DFFA-44EF-9299-8BB56D122245}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1174,7 +1180,6 @@ Global {6C74652F-1EF4-459E-84F4-99D93D3D17DA} = {D9D97BB6-002F-4858-8EF2-49B4C4C4DDB4} {8DD1E84B-0B03-4C0B-9B42-1E49F75E7CB1} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} {1AF02E2C-2CB2-44B5-B417-37653071FEC6} = {93B7AE1D-DEF6-4A04-A222-5CDE09DF262D} - {2D8D7A03-DFFA-44EF-9299-8BB56D122245} = {90FD290C-5D65-42A6-AC9C-928730432116} {DFE55765-564C-4B8F-993B-A94C4D1C212E} = {93B7AE1D-DEF6-4A04-A222-5CDE09DF262D} {1FCA8834-34E6-47CF-B53F-D8DF35345363} = {4B59E09C-A51F-4B80-91BE-987904DCEF7D} {758285C6-1ACA-458A-9906-EE6701D5AF87} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} @@ -1188,6 +1193,7 @@ Global {E75F7CCD-4266-42E1-A039-DC7EB5EDD8F6} = {93B7AE1D-DEF6-4A04-A222-5CDE09DF262D} {E3FF7539-6B22-4922-8FEF-6D26F2C2E3CE} = {4B59E09C-A51F-4B80-91BE-987904DCEF7D} {678875A6-6B3A-4AAC-83B6-D9A72D9016CF} = {BC0C1801-0212-4ECC-92D5-8F2D6F69E888} + {2D8D7A03-DFFA-44EF-9299-8BB56D122245} = {BC0C1801-0212-4ECC-92D5-8F2D6F69E888} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C634D169-5814-4203-94B6-6A11371DDA95}