diff options
author | Mikkel Krautz <mikkel@krautz.dk> | 2013-09-17 04:11:22 +0400 |
---|---|---|
committer | Mikkel Krautz <mikkel@krautz.dk> | 2013-09-17 04:11:22 +0400 |
commit | 43a792abd037fda405368a0735c516d3aa1e4622 (patch) | |
tree | 048df18f8e5ffcda48d59deaaf041ac10854b49e /Source | |
parent | 539637a3a84faf7b592bc46cb843709612263d03 (diff) |
MUAdvancedAudioPreferencesViewController, MUApplicationDelegate: add preference for forcing CELT mode when using Opus.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Classes/MUAdvancedAudioPreferencesViewController.m | 25 | ||||
-rw-r--r-- | Source/Classes/MUApplicationDelegate.m | 3 |
2 files changed, 26 insertions, 2 deletions
diff --git a/Source/Classes/MUAdvancedAudioPreferencesViewController.m b/Source/Classes/MUAdvancedAudioPreferencesViewController.m index b53d819..83bce99 100644 --- a/Source/Classes/MUAdvancedAudioPreferencesViewController.m +++ b/Source/Classes/MUAdvancedAudioPreferencesViewController.m @@ -27,7 +27,7 @@ self.title = NSLocalizedString(@"Advanced Audio", nil); self.tableView.backgroundView = [[[UIImageView alloc] initWithImage:[MUImage imageNamed:@"BackgroundTextureBlackGradient"]] autorelease]; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; - self.tableView.scrollEnabled = NO; + self.tableView.scrollEnabled = YES; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioSubsystemRestarted:) name:MKAudioDidRestartNotification object:nil]; @@ -51,7 +51,7 @@ #pragma mark - Table view data source - (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView { - return 3; + return 4; } - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { @@ -61,6 +61,8 @@ return 2; } else if (section == 2) { return 2; + } else if (section == 3) { + return 1; } return 0; } @@ -151,6 +153,17 @@ [speakerPhoneSwitch addTarget:self action:@selector(speakerPhoneModeChanged:) forControlEvents:UIControlEventValueChanged]; cell.accessoryView = speakerPhoneSwitch; } + } else if ([indexPath section] == 3) { + if ([indexPath row] == 0) { + cell.textLabel.text = NSLocalizedString(@"Force CELT Mode", nil); + cell.selectionStyle = UITableViewCellSelectionStyleNone; + UISwitch *celtSwitch = [[[UISwitch alloc] init] autorelease]; + celtSwitch.onTintColor = [UIColor blackColor]; + celtSwitch.on = [defaults boolForKey:@"AudioOpusCodecForceCELTMode"]; + celtSwitch.enabled = YES; + [celtSwitch addTarget:self action:@selector(opusCodecForceCELTModeChanged:) forControlEvents:UIControlEventValueChanged]; + cell.accessoryView = celtSwitch; + } } return cell; @@ -163,6 +176,8 @@ return [MUTableViewHeaderLabel labelWithText:NSLocalizedString(@"Audio Input", nil)]; } else if (section == 2) { // Audio Output return [MUTableViewHeaderLabel labelWithText:NSLocalizedString(@"Audio Output", nil)]; + } else if (section == 3) { // Opus Codec + return [MUTableViewHeaderLabel labelWithText:NSLocalizedString(@"Opus Codec", nil)]; } else { return nil; } @@ -175,6 +190,8 @@ return [MUTableViewHeaderLabel defaultHeaderHeight]; } else if (section == 2) { return [MUTableViewHeaderLabel defaultHeaderHeight]; + } else if (section == 3) { + return [MUTableViewHeaderLabel defaultHeaderHeight]; } return 0.0f; } @@ -244,6 +261,10 @@ [[NSUserDefaults standardUserDefaults] setBool:sender.on forKey:@"AudioSpeakerPhoneMode"]; } +- (void) opusCodecForceCELTModeChanged:(UISwitch *)sender { + [[NSUserDefaults standardUserDefaults] setBool:sender.on forKey:@"AudioOpusCodecForceCELTMode"]; +} + - (void) audioSubsystemRestarted:(NSNotification *)notification { if ([[NSUserDefaults standardUserDefaults] boolForKey:@"AudioPreprocessor"]) { [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationNone]; diff --git a/Source/Classes/MUApplicationDelegate.m b/Source/Classes/MUApplicationDelegate.m index 621efd4..fc363c0 100644 --- a/Source/Classes/MUApplicationDelegate.m +++ b/Source/Classes/MUApplicationDelegate.m @@ -145,6 +145,7 @@ [NSNumber numberWithBool:NO], @"AudioSidetone", [NSNumber numberWithFloat:0.2f], @"AudioSidetoneVolume", [NSNumber numberWithBool:YES], @"AudioSpeakerPhoneMode", + [NSNumber numberWithBool:YES], @"AudioOpusCodecForceCELTMode", // Network [NSNumber numberWithBool:NO], @"NetworkForceTCP", @"MumbleUser", @"DefaultUserName", @@ -306,6 +307,8 @@ settings.preferReceiverOverSpeaker = YES; } + settings.opusForceCELTMode = [defaults boolForKey:@"AudioOpusCodecForceCELTMode"]; + MKAudio *audio = [MKAudio sharedAudio]; [audio updateAudioSettings:&settings]; [audio restart]; |