Initial release
This commit is contained in:
+126
@@ -0,0 +1,126 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Project : VST SDK
|
||||
//
|
||||
// Category : Helpers
|
||||
// Filename : public.sdk/source/vst/interappaudio/SettingsViewController.mm
|
||||
// Created by : Steinberg, 09/2013
|
||||
// Description : VST 3 InterAppAudio
|
||||
// Flags : clang-format SMTGSequencer
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
// This file is part of a Steinberg SDK. It is subject to the license terms
|
||||
// in the LICENSE file found in the top-level directory of this distribution
|
||||
// and at www.steinberg.net/sdklicenses.
|
||||
// No part of the SDK, including this file, may be copied, modified, propagated,
|
||||
// or distributed except according to the terms contained in the LICENSE file.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#import "SettingsViewController.h"
|
||||
|
||||
#import "AudioIO.h"
|
||||
#import "MidiIO.h"
|
||||
#import <CoreMIDI/MIDINetworkSession.h>
|
||||
|
||||
using namespace Steinberg::Vst::InterAppAudio;
|
||||
|
||||
static const NSUInteger kMinTempo = 30;
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
@interface SettingsViewController ()
|
||||
//------------------------------------------------------------------------
|
||||
{
|
||||
IBOutlet UIView* containerView;
|
||||
IBOutlet UISwitch* midiOnSwitch;
|
||||
IBOutlet UIPickerView* tempoView;
|
||||
}
|
||||
@end
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
@implementation SettingsViewController
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (id)init
|
||||
{
|
||||
self = [super initWithNibName:@"SettingsView" bundle:nil];
|
||||
if (self)
|
||||
{
|
||||
self.modalPresentationStyle = UIModalPresentationOverCurrentContext;
|
||||
self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
containerView.layer.shadowOpacity = 0.5;
|
||||
containerView.layer.shadowOffset = CGSizeMake (5, 5);
|
||||
containerView.layer.shadowRadius = 5;
|
||||
|
||||
midiOnSwitch.on = MidiIO::instance ().isEnabled ();
|
||||
|
||||
Float64 tempo = AudioIO::instance ()->getStaticFallbackTempo ();
|
||||
[tempoView selectRow:tempo - kMinTempo inComponent:0 animated:YES];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (IBAction)enableMidi:(id)sender
|
||||
{
|
||||
BOOL state = midiOnSwitch.on;
|
||||
MidiIO::instance ().setEnabled (state);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (IBAction)close:(id)sender
|
||||
{
|
||||
[self dismissViewControllerAnimated:YES completion:^{}];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (void)pickerView:(UIPickerView*)pickerView
|
||||
didSelectRow:(NSInteger)row
|
||||
inComponent:(NSInteger)component
|
||||
{
|
||||
AudioIO::instance ()->setStaticFallbackTempo (row + kMinTempo);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (NSInteger)pickerView:(UIPickerView*)pickerView numberOfRowsInComponent:(NSInteger)component
|
||||
{
|
||||
return 301 - kMinTempo;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (NSString*)pickerView:(UIPickerView*)pickerView
|
||||
titleForRow:(NSInteger)row
|
||||
forComponent:(NSInteger)component
|
||||
{
|
||||
return [@(row + kMinTempo) stringValue];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
- (BOOL)prefersStatusBarHidden
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
void showIOSettings ()
|
||||
{
|
||||
SettingsViewController* controller = [[SettingsViewController alloc] init];
|
||||
|
||||
UIViewController* rootViewController =
|
||||
[[UIApplication sharedApplication].windows[0] rootViewController];
|
||||
[rootViewController presentViewController:controller animated:YES completion:^{}];
|
||||
}
|
||||
Reference in New Issue
Block a user