diff options
author | Alex Marsev <alex.marsev@gmail.com> | 2015-10-12 12:04:49 +0300 |
---|---|---|
committer | Alex Marsev <alex.marsev@gmail.com> | 2015-10-12 17:28:25 +0300 |
commit | 9e951bba74fb927f94804e2ed0109f83570a9c5f (patch) | |
tree | 06435a8adfd4067b93ea738b7a0885ea990e075c | |
parent | 608aebaf8385c5caf83e2a0bf166c5d732b763fc (diff) |
Add menu entry for the new option
-rw-r--r-- | dll/src/sanear-dll/OuterFilter.cpp | 6 | ||||
-rw-r--r-- | dll/src/sanear-dll/TrayWindow.cpp | 14 |
2 files changed, 20 insertions, 0 deletions
diff --git a/dll/src/sanear-dll/OuterFilter.cpp b/dll/src/sanear-dll/OuterFilter.cpp index 422f3b7..8336efe 100644 --- a/dll/src/sanear-dll/OuterFilter.cpp +++ b/dll/src/sanear-dll/OuterFilter.cpp @@ -14,6 +14,7 @@ namespace SaneAudioRenderer const auto CrossfeedEnabled = L"CrossfeedEnabled";
const auto CrossfeedCutoffFrequency = L"CrossfeedCutoffFrequency";
const auto CrossfeedLevel = L"CrossfeedLevel";
+ const auto IgnoreSystemChannelMixer = L"IgnoreSystemChannelMixer";
}
OuterFilter::OuterFilter(IUnknown* pUnknown, const GUID& guid)
@@ -44,6 +45,8 @@ namespace SaneAudioRenderer m_settings->GetCrossfeedSettings(&uintValue1, &uintValue2);
m_registryKey.SetUint(CrossfeedCutoffFrequency, uintValue1);
m_registryKey.SetUint(CrossfeedLevel, uintValue2);
+
+ m_registryKey.SetUint(IgnoreSystemChannelMixer, m_settings->GetIgnoreSystemChannelMixer());
}
STDMETHODIMP OuterFilter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
@@ -94,6 +97,9 @@ namespace SaneAudioRenderer m_settings->SetCrossfeedSettings(uintValue1, uintValue2);
}
+ if (m_registryKey.GetUint(IgnoreSystemChannelMixer, uintValue1))
+ m_settings->SetIgnoreSystemChannelMixer(uintValue1);
+
return S_OK;
}
}
diff --git a/dll/src/sanear-dll/TrayWindow.cpp b/dll/src/sanear-dll/TrayWindow.cpp index e5dbba4..10278df 100644 --- a/dll/src/sanear-dll/TrayWindow.cpp +++ b/dll/src/sanear-dll/TrayWindow.cpp @@ -19,6 +19,7 @@ namespace SaneAudioRenderer {
ExclusiveMode = 10,
AllowBitstreaming,
+ IgnoreSystemChannelMixer,
EnableCrossfeed,
CrossfeedCMoy, // used in CheckMenuRadioItem()
CrossfeedJMeier, // used in CheckMenuRadioItem()
@@ -192,6 +193,8 @@ namespace SaneAudioRenderer BOOL crossfeedEnabled = m_settings->GetCrossfeedEnabled();
+ BOOL ignoreMixer = m_settings->GetIgnoreSystemChannelMixer();
+
UINT32 crosfeedCutoff;
UINT32 crosfeedLevel;
m_settings->GetCrossfeedSettings(&crosfeedCutoff, &crosfeedLevel);
@@ -230,6 +233,11 @@ namespace SaneAudioRenderer check.fState = (exclusive ? MFS_CHECKED : MFS_UNCHECKED);
InsertMenuItem(hMenu, 0, TRUE, &check);
+ check.wID = Item::IgnoreSystemChannelMixer;
+ check.dwTypeData = L"Ignore system channel mixer (always ignored in exclusive WASAPI mode)";
+ check.fState = (ignoreMixer ? MFS_CHECKED : MFS_UNCHECKED) | (exclusive ? MFS_DISABLED : MFS_ENABLED);
+ InsertMenuItem(hMenu, 0, TRUE, &check);
+
InsertMenuItem(hMenu, 0, TRUE, &separator);
check.wID = Item::CrossfeedJMeier;
@@ -331,6 +339,12 @@ namespace SaneAudioRenderer break;
}
+ case Item::IgnoreSystemChannelMixer:
+ {
+ m_settings->SetIgnoreSystemChannelMixer(!m_settings->GetIgnoreSystemChannelMixer());
+ break;
+ }
+
case Item::EnableCrossfeed:
{
m_settings->SetCrossfeedEnabled(!m_settings->GetCrossfeedEnabled());
|