diff --git a/DeveloperToolsForUPnPTechnologies/UPNPAVCDSML/MediaObject.cs b/DeveloperToolsForUPnPTechnologies/UPNPAVCDSML/MediaObject.cs
index 45d942b..2f3cde3 100644
--- a/DeveloperToolsForUPnPTechnologies/UPNPAVCDSML/MediaObject.cs
+++ b/DeveloperToolsForUPnPTechnologies/UPNPAVCDSML/MediaObject.cs
@@ -1757,6 +1757,8 @@ out ArrayList proposedChildren
instantiateTheseForChildItems,
instantiateTheseForChildContainers
);
+ if (String.IsNullOrEmpty(this.Title)) {
+ this.Title = "(no title found)";
this.ThrowExceptionIfBadTitle(this.Title);
this.ThrowExceptionIfBadClass(this.Class);
diff --git a/SWYH Installer.iss b/SWYH Installer.iss
index 17f4d45..371998d 100644
--- a/SWYH Installer.iss
+++ b/SWYH Installer.iss
@@ -1,17 +1,22 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
#define MyAppName "Stream What You Hear (SWYH)"
+#define MyAppVersion "1.5"
#define MyAppPublisher "Sebastien.warin.fr"
#define MyAppURL "http://www.streamwhatyouhear.com"
#define MyAppExeName "SWYH.exe"
-; Updated by the build server
-#define ShortVersion "1.0"
-#define FullVersion "1.0-dev"
+#define FullVersion "1.5.217.1"
[Setup]
+; NOTE: The value of AppId uniquely identifies this application.
+; Do not use the same AppId value in installers for other applications.
+; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{5FBEA9D3-668E-4B88-BF6C-E1BCF441ECFD}
AppName={#MyAppName}
-AppVersion={#ShortVersion}
-AppVerName={#MyAppName} {#FullVersion}
+AppVersion={#MyAppVersion}
+;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
@@ -24,6 +29,7 @@ OutputBaseFilename=SWYH_{#FullVersion}
SetupIconFile=SWYH\Resources\Icons\swyh128.ico
Compression=lzma
SolidCompression=yes
+ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
diff --git a/SWYH.sln b/SWYH.sln
index 69863d4..fa1ad0e 100644
--- a/SWYH.sln
+++ b/SWYH.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.645
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29403.142
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWYH", "SWYH\SWYH.csproj", "{9F7F5728-3DC1-4FA2-8D4B-F91AA3ABA754}"
EndProject
@@ -63,8 +63,8 @@ Global
{584ED187-8F2A-4B58-A266-85F3F212B092}.Release|Any CPU.Build.0 = Release|Any CPU
{584ED187-8F2A-4B58-A266-85F3F212B092}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{584ED187-8F2A-4B58-A266-85F3F212B092}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {584ED187-8F2A-4B58-A266-85F3F212B092}.Release|x64.ActiveCfg = Release|x64
- {584ED187-8F2A-4B58-A266-85F3F212B092}.Release|x64.Build.0 = Release|x64
+ {584ED187-8F2A-4B58-A266-85F3F212B092}.Release|x64.ActiveCfg = Release|Any CPU
+ {584ED187-8F2A-4B58-A266-85F3F212B092}.Release|x64.Build.0 = Release|Any CPU
{584ED187-8F2A-4B58-A266-85F3F212B092}.Release|x86.ActiveCfg = Release|Any CPU
{B2439738-5F46-4E59-95A1-92C3DF38696F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B2439738-5F46-4E59-95A1-92C3DF38696F}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -77,6 +77,7 @@ Global
{B2439738-5F46-4E59-95A1-92C3DF38696F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B2439738-5F46-4E59-95A1-92C3DF38696F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B2439738-5F46-4E59-95A1-92C3DF38696F}.Release|x64.ActiveCfg = Release|Any CPU
+ {B2439738-5F46-4E59-95A1-92C3DF38696F}.Release|x64.Build.0 = Release|Any CPU
{B2439738-5F46-4E59-95A1-92C3DF38696F}.Release|x86.ActiveCfg = Release|Any CPU
{E01B6019-ACC6-40A6-A511-48D285D51C40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E01B6019-ACC6-40A6-A511-48D285D51C40}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -89,6 +90,7 @@ Global
{E01B6019-ACC6-40A6-A511-48D285D51C40}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E01B6019-ACC6-40A6-A511-48D285D51C40}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E01B6019-ACC6-40A6-A511-48D285D51C40}.Release|x64.ActiveCfg = Release|Any CPU
+ {E01B6019-ACC6-40A6-A511-48D285D51C40}.Release|x64.Build.0 = Release|Any CPU
{E01B6019-ACC6-40A6-A511-48D285D51C40}.Release|x86.ActiveCfg = Release|Any CPU
{8EA0E595-45EC-40C1-82CE-269F4FA9EBB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8EA0E595-45EC-40C1-82CE-269F4FA9EBB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -101,6 +103,7 @@ Global
{8EA0E595-45EC-40C1-82CE-269F4FA9EBB3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8EA0E595-45EC-40C1-82CE-269F4FA9EBB3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8EA0E595-45EC-40C1-82CE-269F4FA9EBB3}.Release|x64.ActiveCfg = Release|Any CPU
+ {8EA0E595-45EC-40C1-82CE-269F4FA9EBB3}.Release|x64.Build.0 = Release|Any CPU
{8EA0E595-45EC-40C1-82CE-269F4FA9EBB3}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
@@ -113,6 +116,6 @@ Global
{8EA0E595-45EC-40C1-82CE-269F4FA9EBB3} = {D1A9AE0B-AAC3-402B-A9BE-42F881FCC9B8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {2367C55F-27F9-4D0D-97E6-D66076184A94}
+ SolutionGuid = {FB58350D-0EA3-4C2B-9033-86B52E8BE09A}
EndGlobalSection
EndGlobal
diff --git a/SWYH/App.xaml.cs b/SWYH/App.xaml.cs
index 80ce879..b652ff6 100644
--- a/SWYH/App.xaml.cs
+++ b/SWYH/App.xaml.cs
@@ -33,6 +33,7 @@ namespace SWYH
using System.Linq;
using System.Net;
using System.Reflection;
+ using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -61,6 +62,18 @@ public partial class App : Application
private System.Windows.Forms.ToolStripMenuItem searchingItem = null;
private bool directClose = false; //Skip the statements in Application_Exit function.
+ private uint m_previousExecutionState; // cf. SetThreadExecutionState
+
+ private static class NativeMethods
+ {
+ // Import SetThreadExecutionState Win32 API and necessary flags
+ [DllImport("kernel32.dll")]
+ public static extern uint SetThreadExecutionState(uint esFlags);
+ public const uint ES_CONTINUOUS = 0x80000000;
+ public const uint ES_SYSTEM_REQUIRED = 0x00000001;
+ }
+
+
private void Application_Startup(object sender, StartupEventArgs e)
{
var startTest = 0;
@@ -112,6 +125,19 @@ private void Application_Startup(object sender, StartupEventArgs e)
notifyIcon.ShowBalloonTip(2000, "Stream What You Hear is running", "Right-click on this icon to show the menu !", System.Windows.Forms.ToolTipIcon.Info);
}
}
+ // raise priority a bit above normal user tasks
+ using (Process p = Process.GetCurrentProcess())
+ {
+ p.PriorityClass = ProcessPriorityClass.AboveNormal;
+ }
+ // Set new state to prevent system sleep (note: still allows screen saver)
+ m_previousExecutionState = NativeMethods.SetThreadExecutionState(NativeMethods.ES_CONTINUOUS | NativeMethods.ES_SYSTEM_REQUIRED);
+ if (0 == m_previousExecutionState) {
+ System.Windows.Forms.MessageBox.Show("Call to SetThreadExecutionState failed unexpectedly.", "Stream What You hear");
+ // No way to recover; fail gracefully
+ this.Shutdown();
+ }
+
}
private void InitializeUI()
@@ -310,6 +336,11 @@ private void Application_Exit(object sender, ExitEventArgs e)
this.notifyIcon.Dispose();
}
}
+ // Restore previous state
+ if (0 == NativeMethods.SetThreadExecutionState(m_previousExecutionState)) {
+ // No way to recover; already exiting
+ }
+
}
}
}
diff --git a/SWYH/Properties/AssemblyInfo.cs b/SWYH/Properties/AssemblyInfo.cs
index 7dd5a28..f4c46f8 100644
--- a/SWYH/Properties/AssemblyInfo.cs
+++ b/SWYH/Properties/AssemblyInfo.cs
@@ -22,10 +22,14 @@
*/
using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
-[assembly: Guid("2ecd245f-4268-48ee-b0f1-0706ead1ba42")]
+// 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("Stream What You Hear")]
[assembly: AssemblyDescription("Stream What You Hear (SWYH) is a Windows application to stream the sound from your PC to an UPnP / DLNA device")]
[assembly: AssemblyConfiguration("")]
@@ -34,8 +38,22 @@
[assembly: AssemblyCopyright("Copyright © 2012-2019 Sebastien.warin.fr ans others")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
@@ -45,7 +63,17 @@
// app, or any theme specific resource dictionaries)
)]
-// Version 10.0 for local development
-// Automatically update by the build pipeline with GitVersion
-[assembly: AssemblyVersion("10.0.0.0")]
-[assembly: AssemblyFileVersion("10.0.0.0")]
\ No newline at end of file
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.5.1.1")]
+[assembly: AssemblyFileVersion("1.5.217.1")] // MAJOR.minor.BuildDate.Release (Si Release impaire = BETA) || http://www.epochconverter.com/epoch/daynumbers.php
+[assembly: GuidAttribute("2ecd245f-4268-48ee-b0f1-0706ead1ba42")]
diff --git a/SWYH/Properties/Resources.Designer.cs b/SWYH/Properties/Resources.Designer.cs
index 4161254..d2738ac 100644
--- a/SWYH/Properties/Resources.Designer.cs
+++ b/SWYH/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.269
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace SWYH.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", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -64,12 +64,24 @@ internal Resources() {
/// Looks up a localized string similar to <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
///<html>
/// <head>
- /// <title></title>
- /// </head>
- /// <body>
- /// <b>Yoo</b>
- /// </body>
- ///</html>.
+ /// <title>About - Stream What You Hear</title>
+ /// <style type="text/css">
+ /// /* CSS (c) thenoodleincident.com */
+ /// A:link
+ /// {
+ /// color: #EAEAEA;
+ /// text-decoration: none;
+ /// }
+ /// A:visited
+ /// {
+ /// color: #EAEAEA;
+ /// text-decoration: none;
+ /// }
+ /// A:active
+ /// {
+ /// color: #ccc;
+ /// text-decoration: none;
+ /// } [rest of string was truncated]";.
///
internal static string About {
get {
@@ -81,12 +93,25 @@ internal static string About {
/// Looks up a localized string similar to <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
///<html>
/// <head>
- /// <title></title>
- /// </head>
- /// <body>
- /// <b>404</b>
- /// </body>
- ///</html>.
+ /// <title>404 - Resource not found</title>
+ /// <style type="text/css">
+ /// /* CSS (c) thenoodleincident.com */
+ /// A:link
+ /// {
+ /// color: #EAEAEA;
+ /// text-decoration: none;
+ /// }
+ /// A:visited
+ /// {
+ /// color: #EAEAEA;
+ /// text-decoration: none;
+ /// }
+ /// A:active
+ /// {
+ /// color: #ccc;
+ /// text-decoration: none;
+ /// }
+ /// [rest of string was truncated]";.
///
internal static string Error404 {
get {
@@ -94,6 +119,9 @@ internal static string Error404 {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+ ///
internal static System.Drawing.Icon swyh128 {
get {
object obj = ResourceManager.GetObject("swyh128", resourceCulture);
@@ -101,6 +129,9 @@ internal static System.Drawing.Icon swyh128 {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+ ///
internal static System.Drawing.Icon swyh16 {
get {
object obj = ResourceManager.GetObject("swyh16", resourceCulture);
@@ -108,6 +139,9 @@ internal static System.Drawing.Icon swyh16 {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+ ///
internal static System.Drawing.Icon swyh32 {
get {
object obj = ResourceManager.GetObject("swyh32", resourceCulture);
@@ -115,6 +149,9 @@ internal static System.Drawing.Icon swyh32 {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+ ///
internal static System.Drawing.Icon swyh48 {
get {
object obj = ResourceManager.GetObject("swyh48", resourceCulture);
diff --git a/SWYH/Properties/Settings.Designer.cs b/SWYH/Properties/Settings.Designer.cs
index 476d1f2..8af4277 100644
--- a/SWYH/Properties/Settings.Designer.cs
+++ b/SWYH/Properties/Settings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.34209
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -12,7 +12,7 @@ namespace SWYH.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/SWYH/SWYH.csproj b/SWYH/SWYH.csproj
index 1ff9fc7..bf45b05 100644
--- a/SWYH/SWYH.csproj
+++ b/SWYH/SWYH.csproj
@@ -1,6 +1,6 @@
-
-
+
+
Debug
AnyCPU
@@ -11,7 +11,7 @@
Properties
SWYH
SWYH
- v4.0
+ v4.8
512
@@ -54,6 +54,7 @@
4
false
512
+ false
AnyCPU
@@ -64,6 +65,7 @@
prompt
4
true
+ false
Resources\Icons\swyh128.ico
@@ -79,11 +81,12 @@
-
- ..\packages\NAudio.1.9.0\lib\net35\NAudio.dll
+
+ ..\packages\NAudio.1.10.0\lib\net35\NAudio.dll
-
- ..\packages\NAudio.Lame.1.0.9\lib\net40\NAudio.Lame.dll
+
+ ..\packages\NAudio.Lame.1.1.2\lib\netstandard2.0\NAudio.Lame.dll
+ True
@@ -242,14 +245,14 @@
-
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
+
+
+