diff --git a/Audio/Output/OutputAVFoundation.m b/Audio/Output/OutputAVFoundation.m
index d21b1af87..be61cbf64 100644
--- a/Audio/Output/OutputAVFoundation.m
+++ b/Audio/Output/OutputAVFoundation.m
@@ -306,6 +306,10 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
enableHrtf = [[[NSUserDefaultsController sharedUserDefaultsController] defaults] boolForKey:@"enableHrtf"];
if(streamFormatStarted)
[self updateStreamFormat];
+ } else if([keyPath isEqualToString:@"values.enableFSurround"]) {
+ enableFSurround = [[[NSUserDefaultsController sharedUserDefaultsController] defaults] boolForKey:@"enableFSurround"];
+ if(streamFormatStarted)
+ [self updateStreamFormat];
}
}
@@ -613,7 +617,7 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
} else {
fsurround = nil;
}
-
+
/* Apple's audio processor really only supports common 1-8 channel formats */
if(enableHrtf || channels > 8 || ((channelConfig & ~(AudioConfig6Point1|AudioConfig7Point1)) != 0)) {
NSURL *presetUrl = [[NSBundle mainBundle] URLForResource:@"SADIE_D02-96000" withExtension:@"mhr"];
@@ -625,7 +629,7 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
} else {
hrtf = nil;
}
-
+
streamFormat = realStreamFormat;
streamFormat.mChannelsPerFrame = channels;
streamFormat.mBytesPerFrame = sizeof(float) * channels;
@@ -895,8 +899,6 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
audioFormatDescription = NULL;
- enableFSurround = YES;
-
running = NO;
stopping = NO;
stopped = NO;
@@ -997,6 +999,7 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.GraphicEQenable" options:0 context:kOutputAVFoundationContext];
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.eqPreamp" options:(NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew) context:kOutputAVFoundationContext];
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.enableHrtf" options:(NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew) context:kOutputAVFoundationContext];
+ [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.enableFSurround" options:(NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew) context:kOutputAVFoundationContext];
observersapplied = YES;
[renderSynchronizer addRenderer:audioRenderer];
@@ -1118,6 +1121,7 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
[[NSUserDefaultsController sharedUserDefaultsController] removeObserver:self forKeyPath:@"values.GraphicEQenable" context:kOutputAVFoundationContext];
[[NSUserDefaultsController sharedUserDefaultsController] removeObserver:self forKeyPath:@"values.eqPreamp" context:kOutputAVFoundationContext];
[[NSUserDefaultsController sharedUserDefaultsController] removeObserver:self forKeyPath:@"values.enableHrtf" context:kOutputAVFoundationContext];
+ [[NSUserDefaultsController sharedUserDefaultsController] removeObserver:self forKeyPath:@"values.enableFSurround" context:kOutputAVFoundationContext];
observersapplied = NO;
}
stopping = YES;
diff --git a/Preferences/Preferences/Base.lproj/Preferences.xib b/Preferences/Preferences/Base.lproj/Preferences.xib
index db969a364..a78d79adc 100644
--- a/Preferences/Preferences/Base.lproj/Preferences.xib
+++ b/Preferences/Preferences/Base.lproj/Preferences.xib
@@ -207,11 +207,11 @@
-
+
-
+
@@ -232,7 +232,7 @@
-
+
@@ -241,7 +241,7 @@
-
+
@@ -262,7 +262,7 @@
-
+
@@ -271,7 +271,7 @@
+
-
+
diff --git a/Preferences/Preferences/en.lproj/Preferences.strings b/Preferences/Preferences/en.lproj/Preferences.strings
index b84a2b684..106f37ed1 100644
--- a/Preferences/Preferences/en.lproj/Preferences.strings
+++ b/Preferences/Preferences/en.lproj/Preferences.strings
@@ -232,3 +232,6 @@
/* Class = "NSButtonCell"; title = "Enable HRTF filter (Not needed with AirPods or Beats)"; ObjectID = "NGx-0c-WVR"; */
"NGx-0c-WVR.title" = "Enable HRTF filter (Not needed with AirPods or Beats)";
+
+/* Class = "NSButtonCell"; title = "Enable FreeSurround stereo to surround upmixing"; ObjectID = "F0i-UK-6Nu"; */
+"F0i-UK-6Nu.title" = "Enable FreeSurround stereo to surround upmixing";
diff --git a/Preferences/Preferences/es.lproj/Preferences.strings b/Preferences/Preferences/es.lproj/Preferences.strings
index 4aa1461b3..7f9313998 100644
--- a/Preferences/Preferences/es.lproj/Preferences.strings
+++ b/Preferences/Preferences/es.lproj/Preferences.strings
@@ -249,3 +249,6 @@
/* Class = "NSButtonCell"; title = "Automatically check for updates on startup"; ObjectID = "207"; */
"207.title" = "Buscar actualizaciones al abrir";
+
+/* Class = "NSButtonCell"; title = "Enable FreeSurround stereo to surround upmixing"; ObjectID = "F0i-UK-6Nu"; */
+"F0i-UK-6Nu.title" = "Enable FreeSurround stereo to surround upmixing";
diff --git a/Preferences/Preferences/pl.lproj/Preferences.strings b/Preferences/Preferences/pl.lproj/Preferences.strings
index 44af6a7fd..c685b261d 100644
--- a/Preferences/Preferences/pl.lproj/Preferences.strings
+++ b/Preferences/Preferences/pl.lproj/Preferences.strings
@@ -232,3 +232,6 @@
/* Class = "NSTextFieldCell"; title = "hh:mm:ss.ms"; ObjectID = "zaI-0m-tQf"; */
"zaI-0m-tQf.title" = "hh:mm:ss.ms";
+
+/* Class = "NSButtonCell"; title = "Enable FreeSurround stereo to surround upmixing"; ObjectID = "F0i-UK-6Nu"; */
+"F0i-UK-6Nu.title" = "Enable FreeSurround stereo to surround upmixing";
diff --git a/Preferences/Preferences/ru.lproj/Preferences.strings b/Preferences/Preferences/ru.lproj/Preferences.strings
index 57c74d612..63c9f3f72 100644
--- a/Preferences/Preferences/ru.lproj/Preferences.strings
+++ b/Preferences/Preferences/ru.lproj/Preferences.strings
@@ -232,3 +232,6 @@
/* Class = "NSTextFieldCell"; title = "hh:mm:ss.ms"; ObjectID = "zaI-0m-tQf"; */
"zaI-0m-tQf.title" = "hh:mm:ss.ms";
+
+/* Class = "NSButtonCell"; title = "Enable FreeSurround stereo to surround upmixing"; ObjectID = "F0i-UK-6Nu"; */
+"F0i-UK-6Nu.title" = "Enable FreeSurround stereo to surround upmixing";