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:46:07 +0300 |
commit | 96ae9f55027e5189be224ef269e9a3b5d944de18 (patch) | |
tree | d1cff9adf17d5dff914757857f4771722a4777e4 | |
parent | 8ec759e559cf5cfaa6b15a02b8e6489feafa1978 (diff) |
Add new menu entryextra_precision
-rw-r--r-- | dll/src/sanear-dll/OuterFilter.cpp | 6 | ||||
-rw-r--r-- | dll/src/sanear-dll/TrayWindow.cpp | 16 |
2 files changed, 22 insertions, 0 deletions
diff --git a/dll/src/sanear-dll/OuterFilter.cpp b/dll/src/sanear-dll/OuterFilter.cpp index 8336efe..a7a67e2 100644 --- a/dll/src/sanear-dll/OuterFilter.cpp +++ b/dll/src/sanear-dll/OuterFilter.cpp @@ -15,6 +15,7 @@ namespace SaneAudioRenderer const auto CrossfeedCutoffFrequency = L"CrossfeedCutoffFrequency";
const auto CrossfeedLevel = L"CrossfeedLevel";
const auto IgnoreSystemChannelMixer = L"IgnoreSystemChannelMixer";
+ const auto ExtraPrecisionProcessing = L"ExtraPrecisionProcessing";
}
OuterFilter::OuterFilter(IUnknown* pUnknown, const GUID& guid)
@@ -47,6 +48,8 @@ namespace SaneAudioRenderer m_registryKey.SetUint(CrossfeedLevel, uintValue2);
m_registryKey.SetUint(IgnoreSystemChannelMixer, m_settings->GetIgnoreSystemChannelMixer());
+
+ m_registryKey.SetUint(ExtraPrecisionProcessing, m_settings->GetExtraPrecisionProcessing());
}
STDMETHODIMP OuterFilter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
@@ -100,6 +103,9 @@ namespace SaneAudioRenderer if (m_registryKey.GetUint(IgnoreSystemChannelMixer, uintValue1))
m_settings->SetIgnoreSystemChannelMixer(uintValue1);
+ if (m_registryKey.GetUint(ExtraPrecisionProcessing, uintValue1))
+ m_settings->SetExtraPrecisionProcessing(uintValue1);
+
return S_OK;
}
}
diff --git a/dll/src/sanear-dll/TrayWindow.cpp b/dll/src/sanear-dll/TrayWindow.cpp index 10278df..5fd33f2 100644 --- a/dll/src/sanear-dll/TrayWindow.cpp +++ b/dll/src/sanear-dll/TrayWindow.cpp @@ -19,6 +19,7 @@ namespace SaneAudioRenderer {
ExclusiveMode = 10,
AllowBitstreaming,
+ ExtraPrecisionProcessing,
IgnoreSystemChannelMixer,
EnableCrossfeed,
CrossfeedCMoy, // used in CheckMenuRadioItem()
@@ -195,6 +196,8 @@ namespace SaneAudioRenderer BOOL ignoreMixer = m_settings->GetIgnoreSystemChannelMixer();
+ BOOL extraPrecision = m_settings->GetExtraPrecisionProcessing();
+
UINT32 crosfeedCutoff;
UINT32 crosfeedLevel;
m_settings->GetCrossfeedSettings(&crosfeedCutoff, &crosfeedLevel);
@@ -240,6 +243,13 @@ namespace SaneAudioRenderer InsertMenuItem(hMenu, 0, TRUE, &separator);
+ check.wID = Item::ExtraPrecisionProcessing;
+ check.dwTypeData = L"Extra processing precision";
+ check.fState = (extraPrecision ? MFS_CHECKED : MFS_UNCHECKED);
+ InsertMenuItem(hMenu, 0, TRUE, &check);
+
+ InsertMenuItem(hMenu, 0, TRUE, &separator);
+
check.wID = Item::CrossfeedJMeier;
check.dwTypeData = L"J.Meier-like preset";
check.fState = (crossfeedEnabled ? MFS_ENABLED : MFS_DISABLED);
@@ -345,6 +355,12 @@ namespace SaneAudioRenderer break;
}
+ case Item::ExtraPrecisionProcessing:
+ {
+ m_settings->SetExtraPrecisionProcessing(!m_settings->GetExtraPrecisionProcessing());
+ break;
+ }
+
case Item::EnableCrossfeed:
{
m_settings->SetCrossfeedEnabled(!m_settings->GetCrossfeedEnabled());
|