From fc45ac7c7e5fcbd1c2b05b4467036ad52f27afab Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Sun, 9 Feb 2025 17:23:06 -0500 Subject: [PATCH] Move WinMM session name to resource --- src/api/Client/WinMM/MidiSrvPorts.cpp | 5 +++++ src/api/Client/WinMM/MidiSrvPorts.h | 5 ++++- src/api/Client/WinMM/resource.h | 4 +++- src/api/Client/WinMM/winmmdrv.rc | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/api/Client/WinMM/MidiSrvPorts.cpp b/src/api/Client/WinMM/MidiSrvPorts.cpp index 45c172a6..a20e21c6 100644 --- a/src/api/Client/WinMM/MidiSrvPorts.cpp +++ b/src/api/Client/WinMM/MidiSrvPorts.cpp @@ -55,6 +55,11 @@ CMidiPorts::RuntimeClassInitialize() RETURN_IF_FAILED(UuidCreate(&m_SessionId)); + + WCHAR sessionName[MIDI_MAX_SESSION_NAME_LENGTH]; + ::LoadStringW(HINST_WDMAUD2, IDS_MIDI_DEFAULT_WINMM_SESSION_NAME, sessionName, MIDI_MAX_SESSION_NAME_LENGTH); + m_SessionName = sessionName; + std::unique_ptr midiSrv(new (std::nothrow) CMidi2MidiSrv()); RETURN_IF_NULL_ALLOC(midiSrv); diff --git a/src/api/Client/WinMM/MidiSrvPorts.h b/src/api/Client/WinMM/MidiSrvPorts.h index c0724897..7b903789 100644 --- a/src/api/Client/WinMM/MidiSrvPorts.h +++ b/src/api/Client/WinMM/MidiSrvPorts.h @@ -17,6 +17,9 @@ typedef struct _PORT_INFO MIDIOUTCAPSW MidiOutCaps {0}; } PORT_INFO; + +#define MIDI_MAX_SESSION_NAME_LENGTH 50 + // global singleton created on dll load, cleaned up on dllunload class CMidiPorts : public Microsoft::WRL::RuntimeClass< @@ -49,7 +52,7 @@ class CMidiPorts : // The session guid created for all ports opened by this client, a single guid is used for all sessions. GUID m_SessionId {0}; // Default session name for winmm clients. - std::wstring m_SessionName { L"Winmm client session" }; + std::wstring m_SessionName { }; // map of midi port information ordered by the port number. // For each flow, the port number must be unique, but the port numbers diff --git a/src/api/Client/WinMM/resource.h b/src/api/Client/WinMM/resource.h index 648bca5d..2875f014 100644 --- a/src/api/Client/WinMM/resource.h +++ b/src/api/Client/WinMM/resource.h @@ -18,7 +18,9 @@ #define IDS_SUBMIXER_CDLINE_SHORT 111 #define IDS_SUBMIXER_CDLINE_LONG 112 -#define IDS_MIDI_UNAVAILABLE_ENDPOINT 200 +#define IDS_MIDI_UNAVAILABLE_ENDPOINT 200 + +#define IDS_MIDI_DEFAULT_WINMM_SESSION_NAME 300 // Next default values for new objects // diff --git a/src/api/Client/WinMM/winmmdrv.rc b/src/api/Client/WinMM/winmmdrv.rc index 5c75e8e7..b89f1487 100644 --- a/src/api/Client/WinMM/winmmdrv.rc +++ b/src/api/Client/WinMM/winmmdrv.rc @@ -30,6 +30,7 @@ BEGIN IDS_SUBMIXER_MUTE_SHORT "Mute" IDS_SUBMIXER_MUTE_LONG "Mute" - IDS_MIDI_UNAVAILABLE_ENDPOINT "(unavailable)" + IDS_MIDI_UNAVAILABLE_ENDPOINT "(unavailable)" + IDS_MIDI_DEFAULT_WINMM_SESSION_NAME "WinMM client" END