diff --git a/Documentation/Images/Backend Architecture.png b/Documentation/Images/Backend Architecture.png
new file mode 100644
index 0000000..4ee1957
Binary files /dev/null and b/Documentation/Images/Backend Architecture.png differ
diff --git a/Documentation/Images/Backend Architecture.pptx b/Documentation/Images/Backend Architecture.pptx
new file mode 100644
index 0000000..b6e00d1
Binary files /dev/null and b/Documentation/Images/Backend Architecture.pptx differ
diff --git a/Media/Images/ButtonTemplate.psd b/Media/Images/ButtonTemplate.psd
new file mode 100644
index 0000000..eb673c4
Binary files /dev/null and b/Media/Images/ButtonTemplate.psd differ
diff --git a/Media/Images/Gesture.png b/Media/Images/Gesture.png
new file mode 100644
index 0000000..eda7356
Binary files /dev/null and b/Media/Images/Gesture.png differ
diff --git a/Media/Images/Global512Up.png b/Media/Images/Global512Up.png
new file mode 100644
index 0000000..445c585
Binary files /dev/null and b/Media/Images/Global512Up.png differ
diff --git a/Media/Images/GlobalDown512.png b/Media/Images/GlobalDown512.png
new file mode 100644
index 0000000..725a616
Binary files /dev/null and b/Media/Images/GlobalDown512.png differ
diff --git a/Media/Images/MicrophoneDown512.png b/Media/Images/MicrophoneDown512.png
new file mode 100644
index 0000000..afc7ca1
Binary files /dev/null and b/Media/Images/MicrophoneDown512.png differ
diff --git a/Media/Images/MicrophoneUp512.png b/Media/Images/MicrophoneUp512.png
new file mode 100644
index 0000000..bd5f74f
Binary files /dev/null and b/Media/Images/MicrophoneUp512.png differ
diff --git a/Media/Images/RecordDown512.png b/Media/Images/RecordDown512.png
new file mode 100644
index 0000000..dddee99
Binary files /dev/null and b/Media/Images/RecordDown512.png differ
diff --git a/Media/Images/RecordUp512.png b/Media/Images/RecordUp512.png
new file mode 100644
index 0000000..f6cb1ab
Binary files /dev/null and b/Media/Images/RecordUp512.png differ
diff --git a/Media/Images/SettingsDown512.png b/Media/Images/SettingsDown512.png
new file mode 100644
index 0000000..1f3a97c
Binary files /dev/null and b/Media/Images/SettingsDown512.png differ
diff --git a/Media/Images/SettingsUp512.png b/Media/Images/SettingsUp512.png
new file mode 100644
index 0000000..8d50283
Binary files /dev/null and b/Media/Images/SettingsUp512.png differ
diff --git a/Source/GUI/Base.lproj/Storyboard.storyboard b/Source/GUI/Base.lproj/Storyboard.storyboard
new file mode 100644
index 0000000..d3ed187
--- /dev/null
+++ b/Source/GUI/Base.lproj/Storyboard.storyboard
@@ -0,0 +1,341 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/GUI/BeMotionViewController.h b/Source/GUI/BeMotionViewController.h
new file mode 100644
index 0000000..16cda2e
--- /dev/null
+++ b/Source/GUI/BeMotionViewController.h
@@ -0,0 +1,58 @@
+//
+// BeMotionViewController.h
+// GestureController
+//
+// Created by Govinda Ram Pingali on 4/28/14.
+// Copyright (c) 2014 GTCMT. All rights reserved.
+//
+
+#import
+
+#include "GestureControllerInterface.h"
+
+@interface BeMotionViewController : UIViewController
+{
+// GestureControllerInterface* m_pcBackEndInterface;
+
+
+ BOOL m_bSettingsToggle;
+ BOOL m_bRecordToggle;
+ BOOL m_bMicrophoneToggle;
+}
+
+@property (nonatomic) GestureControllerInterface* m_pcBackendInterface;
+
+
+//--- UI Actions ---//
+
+- (IBAction)redButtonTouchDown:(UIButton *)sender;
+- (IBAction)redButtonTouchUp:(UIButton *)sender;
+
+- (IBAction)blueButtonTouchDown:(UIButton *)sender;
+- (IBAction)blueButtonTouchUp:(UIButton *)sender;
+
+- (IBAction)greenButtonTouchDown:(UIButton *)sender;
+- (IBAction)greenButtonTouchUp:(UIButton *)sender;
+
+- (IBAction)yellowButtonTouchDown:(UIButton *)sender;
+- (IBAction)yellowButtonTouchUp:(UIButton *)sender;
+
+
+- (IBAction)settingsButtonClicked:(UIButton *)sender;
+
+- (IBAction)recordButtonClicked:(UIButton *)sender;
+
+- (IBAction)microphoneButtonClicked:(UIButton *)sender;
+
+
+//--- Utility Methods ---//
+- (void)initializeApplication;
+
+- (void)setBackendInterface:(GestureControllerInterface * )backendInterface;
+
+
+
+- (void)dealloc;
+
+
+@end
diff --git a/Source/GUI/BeMotionViewController.mm b/Source/GUI/BeMotionViewController.mm
new file mode 100644
index 0000000..f20d11b
--- /dev/null
+++ b/Source/GUI/BeMotionViewController.mm
@@ -0,0 +1,434 @@
+//
+// BeMotionViewController.m
+// GestureController
+//
+// Created by Govinda Ram Pingali on 4/28/14.
+// Copyright (c) 2014 GTCMT. All rights reserved.
+//
+
+#import "BeMotionViewController.h"
+#import "SampleSettingsViewController.h"
+
+
+@interface BeMotionViewController ()
+{
+ GestureControllerInterface* m_pcBackendInterface;
+}
+
+@end
+
+@implementation BeMotionViewController
+
+@synthesize m_pcBackendInterface;
+
+
+//- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+//{
+// self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+//
+// if (self)
+// {
+//
+// // Custom initialization
+// }
+//
+// return self;
+//}
+
+
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+
+
+ static BOOL didInitialize = NO;
+
+ if (didInitialize == YES)
+ {
+ // Do Stuff Here On Every View Load After Initialization
+
+ return;
+ }
+
+
+ [self initializeApplication];
+
+ didInitialize = YES;
+
+}
+
+
+- (void)initializeApplication
+{
+
+// m_pcBackendInterface = NULL;
+ m_pcBackendInterface = new GestureControllerInterface;
+
+ m_bSettingsToggle = NO;
+ m_bRecordToggle = NO;
+ m_bMicrophoneToggle = NO;
+
+
+
+ //--- Initialize With Audio Samples ---//
+ NSString *sample1Path = [[NSBundle mainBundle] pathForResource:@"Playback0" ofType:@"wav"];
+ NSString *sample2Path = [[NSBundle mainBundle] pathForResource:@"Playback1" ofType:@"wav"];
+ NSString *sample3Path = [[NSBundle mainBundle] pathForResource:@"Playback2" ofType:@"wav"];
+ NSString *sample4Path = [[NSBundle mainBundle] pathForResource:@"Playback3" ofType:@"wav"];
+ NSString *sample5Path = [[NSBundle mainBundle] pathForResource:@"Playback4" ofType:@"wav"];
+
+ m_pcBackendInterface->loadAudioFile(0, sample1Path);
+ m_pcBackendInterface->loadAudioFile(1, sample2Path);
+ m_pcBackendInterface->loadAudioFile(2, sample3Path);
+ m_pcBackendInterface->loadAudioFile(3, sample4Path);
+ m_pcBackendInterface->loadAudioFile(4, sample5Path);
+
+}
+
+
+
+- (void)didReceiveMemoryWarning
+{
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+
+//#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
+{
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+
+ if (m_bSettingsToggle)
+ {
+ SampleSettingsViewController* vc = [segue destinationViewController];
+
+ if ([[segue identifier] isEqual: @"redButtonSettings"])
+ {
+ vc.m_iSampleID = 0;
+ }
+
+ else if ([[segue identifier] isEqual: @"blueButtonSettings"])
+ {
+ vc.m_iSampleID = 1;
+ }
+
+ else if ([[segue identifier] isEqual: @"greenButtonSettings"])
+ {
+ vc.m_iSampleID = 2;
+ }
+
+ else if ([[segue identifier] isEqual: @"yellowButtonSettings"])
+ {
+ vc.m_iSampleID = 3;
+ }
+ }
+
+
+}
+
+
+- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
+{
+ if (([identifier isEqualToString:@"redButtonSettings"]) && m_bSettingsToggle)
+ {
+ return YES;
+ }
+
+ if (([identifier isEqualToString:@"blueButtonSettings"]) && m_bSettingsToggle)
+ {
+ return YES;
+ }
+
+ if (([identifier isEqualToString:@"greenButtonSettings"]) && m_bSettingsToggle)
+ {
+ return YES;
+ }
+
+ if (([identifier isEqualToString:@"yellowButtonSettings"]) && m_bSettingsToggle) {
+ return YES;
+ }
+
+ if ([identifier isEqualToString:@"globalSettingsSegue"]) {
+ return YES;
+ }
+
+
+ return NO;
+}
+
+
+
+
+
+//--- UI Button Actions ---//
+
+- (IBAction)redButtonTouchDown:(UIButton *)sender
+{
+ sender.alpha = 0.2;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+ m_pcBackendInterface->startPlayback(0);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+ m_pcBackendInterface->startRecordingFromMicrophone(0);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+ m_pcBackendInterface->startRecordingOutput(0);
+ }
+}
+
+
+- (IBAction)redButtonTouchUp:(UIButton *)sender
+{
+ sender.alpha = 1.0;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+ m_pcBackendInterface->stopPlayback(0);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+ m_pcBackendInterface->stopRecordingFromMicrophone(0);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+ m_pcBackendInterface->stopRecordingOutput(0);
+ }
+}
+
+
+
+- (IBAction)blueButtonTouchDown:(UIButton *)sender
+{
+ sender.alpha = 0.2;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->startPlayback(1);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+// m_pcBackEndInterface->startRecordingFromMicrophone(1);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->startRecordingOutput(1);
+ }
+
+}
+
+- (IBAction)blueButtonTouchUp:(UIButton *)sender
+{
+ sender.alpha = 1.0;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->stopPlayback(1);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+// m_pcBackEndInterface->stopRecordingFromMicrophone(1);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->stopRecordingOutput(1);
+ }
+}
+
+
+
+- (IBAction)greenButtonTouchDown:(UIButton *)sender
+{
+ sender.alpha = 0.2;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->startPlayback(2);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+// m_pcBackEndInterface->startRecordingFromMicrophone(2);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->startRecordingOutput(2);
+ }
+}
+
+- (IBAction)greenButtonTouchUp:(UIButton *)sender
+{
+ sender.alpha = 1.0;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->stopPlayback(2);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+// m_pcBackEndInterface->stopRecordingFromMicrophone(2);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->stopRecordingOutput(2);
+ }
+}
+
+
+
+- (IBAction)yellowButtonTouchDown:(UIButton *)sender
+{
+ sender.alpha = 0.2;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->startPlayback(3);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+// m_pcBackEndInterface->startRecordingFromMicrophone(3);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->startRecordingOutput(3);
+ }
+}
+
+- (IBAction)yellowButtonTouchUp:(UIButton *)sender
+{
+ sender.alpha = 1.0;
+
+ if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->stopPlayback(3);
+ }
+
+ else if ((m_bRecordToggle == NO) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == YES))
+ {
+// m_pcBackEndInterface->stopRecordingFromMicrophone(3);
+ }
+
+ else if ((m_bRecordToggle == YES) && (m_bSettingsToggle == NO) && (m_bMicrophoneToggle == NO))
+ {
+// m_pcBackEndInterface->stopRecordingOutput(3);
+ }
+}
+
+
+
+
+
+//--- Modifier Keys ---//
+
+- (IBAction)settingsButtonClicked:(UIButton *)sender
+{
+ if (m_bSettingsToggle == YES)
+ {
+ sender.alpha = 1.0f;
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.121f blue:0.179f alpha:1.0f]];
+ m_bSettingsToggle = NO;
+ }
+
+ else
+ {
+ sender.alpha = 0.5f;
+
+ // UnToggle Other Modifiers
+ m_bRecordToggle = NO;
+ m_bMicrophoneToggle = NO;
+
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.1f green:0.1f blue:0.4f alpha:1.0f]];
+ m_bSettingsToggle = YES;
+ }
+}
+
+
+
+- (IBAction)recordButtonClicked:(UIButton *)sender
+{
+ if (m_bRecordToggle == YES)
+ {
+ sender.alpha = 1.0f;
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.121f blue:0.179f alpha:1.0f]];
+ m_bRecordToggle = NO;
+ }
+
+ else
+ {
+ sender.alpha = 0.5f;
+
+ // UnToggle Other Modifiers
+ m_bSettingsToggle = NO;
+ m_bMicrophoneToggle = NO;
+
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.3f green:0.1f blue:0.1f alpha:1.0f]];
+ m_bRecordToggle = YES;
+ }
+}
+
+
+
+- (IBAction)microphoneButtonClicked:(UIButton *)sender
+{
+ if (m_bMicrophoneToggle == YES)
+ {
+ sender.alpha = 1.0f;
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.121f blue:0.179f alpha:1.0f]];
+ m_bMicrophoneToggle = NO;
+ }
+
+ else
+ {
+ sender.alpha = 0.5f;
+
+ // UnToggle Other Modifiers
+ m_bSettingsToggle = NO;
+ m_bRecordToggle = NO;
+
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.1f green:0.3f blue:0.1f alpha:1.0f]];
+ m_bMicrophoneToggle = YES;
+ }
+}
+
+
+
+
+-(void)setBackendInterface:(GestureControllerInterface *)backendInterface
+{
+ m_pcBackendInterface = backendInterface;
+}
+
+
+- (void)dealloc
+{
+
+// [metronome dealloc];
+ delete m_pcBackendInterface;
+
+ [super dealloc];
+}
+
+
+
+@end
diff --git a/Source/GUI/EffectSettingsViewController.h b/Source/GUI/EffectSettingsViewController.h
deleted file mode 100644
index c502074..0000000
--- a/Source/GUI/EffectSettingsViewController.h
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// EffectSettingsViewController.h
-// SharedLibrary
-//
-// Created by Anand on 3/9/14.
-// Copyright (c) 2014 GTCMT. All rights reserved.
-//
-
-#import
-#include "UserInterfaceData.h"
-#include "GestureControllerInterface.h"
-#include "Macros.h"
-
-
-@interface EffectSettingsViewController : UIViewController {
-
-// BOOL m_bEffectBypassToggle[NUM_EFFECTS];
-// int m_iCurrentEffectChosen;
-// int m_iCurrentEffectPosition;
-// float m_fSliderValues[NUM_EFFECTS_PARAMS]; // these are just indicators, they will be mapped to actual effects params
-// // which will be passed from the UserInterfaceData class
-
-}
-
-@property (nonatomic, assign) GestureControllerInterface* backEndInterface;
-@property (nonatomic, assign) int m_iCurrentSampleID;
-
-@property (nonatomic,assign) SampleInfo *currentData;
-
-@property (retain, nonatomic) IBOutlet UISlider *slider1Object;
-@property (retain, nonatomic) IBOutlet UISlider *slider2Object;
-@property (retain, nonatomic) IBOutlet UISlider *slider3Object;
-@property (retain, nonatomic) IBOutlet UISwitch *bypassButtonObject;
-@property (retain, nonatomic) IBOutlet UIPickerView *pickerObject;
-@end
-
diff --git a/Source/GUI/EffectSettingsViewController.mm b/Source/GUI/EffectSettingsViewController.mm
deleted file mode 100644
index 2c39b36..0000000
--- a/Source/GUI/EffectSettingsViewController.mm
+++ /dev/null
@@ -1,287 +0,0 @@
-//
-// EffectSettingsViewController.mm
-// SharedLibrary
-//
-// Created by Anand on 3/9/14.
-// Copyright (c) 2014 GTCMT. All rights reserved.
-//
-
-#import "EffectSettingsViewController.h"
-
-
-@interface EffectSettingsViewController ()
-
-@property (nonatomic,retain) NSArray *effects;
-
-@property (retain, nonatomic) IBOutlet UILabel *slider1EffectParam;
-@property (retain, nonatomic) IBOutlet UILabel *slider2EffectParam;
-@property (retain, nonatomic) IBOutlet UILabel *slider3EffectParam;
-@property (retain, nonatomic) IBOutlet UILabel *slider1CurrentValue;
-@property (retain, nonatomic) IBOutlet UILabel *slider2CurrentValue;
-@property (retain, nonatomic) IBOutlet UILabel *slider3CurrentValue;
-@property (retain, nonatomic) IBOutlet UILabel *effectBeingModifiedLabel;
-
-
-@end
-
-
-static BOOL m_bEffectBypassToggle[NUM_EFFECTS];
-static int m_iCurrentEffectChosen[NUM_EFFECTS];
-static int m_iCurrentEffectPosition;
-//static float m_fSliderValues[NUM_EFFECTS_PARAMS]; // these are just indicators, they will be mapped to actual effects params
-// which will be passed from the UserInterfaceData class
-
-
-@implementation EffectSettingsViewController
-
-@synthesize m_iCurrentSampleID;
-
-
-- (IBAction)Slider1Changed:(UISlider *)sender
-{
- _backEndInterface->setEffectParameter(m_iCurrentSampleID, m_iCurrentEffectPosition, PARAM_1, sender.value);
- //redSample.sampleID = [NSNumber numberWithFloat:10];
-}
-
-
-- (IBAction)Slider2Changed:(UISlider *)sender {
- _backEndInterface->setEffectParameter(m_iCurrentSampleID, m_iCurrentEffectPosition, PARAM_2, sender.value);
-}
-
-
-- (IBAction)Slider3Changed:(UISlider *)sender {
- _backEndInterface->setEffectParameter(m_iCurrentSampleID, m_iCurrentEffectPosition, PARAM_3, sender.value);
-}
-
-
-- (IBAction)gainSliderChanged:(UISlider *)sender
-{
- _backEndInterface->setSampleParameter(m_iCurrentSampleID, PARAM_GAIN, sender.value);
-}
-
-- (IBAction)bypassToggleButtonChanged:(UISwitch *)sender {
- _backEndInterface->setEffectParameter(m_iCurrentSampleID, m_iCurrentEffectPosition, PARAM_BYPASS, sender.on);
-}
-
-
-
-
-- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
-{
- return 1; // Only 1 component
-}
-
-- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
- return NUM_EFFECTS;
-
-}
-
-// the below routine will be called automatically
-- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
- return self.effects[row];
-}
-
-// also called automatically
-- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
- NSString *LabelEffectParam = self.effects[row];
- LabelEffectParam = [LabelEffectParam stringByAppendingString:@" Parameters"];
- [self.effectBeingModifiedLabel setText:LabelEffectParam];
-
- switch (row) {
- case 0:
- [self.slider1EffectParam setText:@"Null"];
- [self.slider2EffectParam setText:@"Null"];
- [self.slider3EffectParam setText:@"Null"];
- m_iCurrentEffectChosen[m_iCurrentEffectPosition] = EFFECT_NONE;
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
- case 1:
- [self.slider1EffectParam setText:@"Frequency"];
- [self.slider2EffectParam setText:@"Depth"];
- [self.slider3EffectParam setText:@"LFO"];
- m_iCurrentEffectChosen[m_iCurrentEffectPosition] = EFFECT_TREMOLO;
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
- case 2:
- [self.slider1EffectParam setText:@"Time"];
- [self.slider2EffectParam setText:@"Feedback"];
- [self.slider3EffectParam setText:@"Wet/Dry"];
- m_iCurrentEffectChosen[m_iCurrentEffectPosition] = EFFECT_DELAY;
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
- case 3:
- [self.slider1EffectParam setText:@"Rate"];
- [self.slider2EffectParam setText:@"Width"];
- [self.slider3EffectParam setText:@"LFO"];
- m_iCurrentEffectChosen[m_iCurrentEffectPosition] = EFFECT_VIBRATO;
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
-
- case 4:
- [self.slider1EffectParam setText:@"Gain"];
- [self.slider2EffectParam setText:@"Frequency"];
- [self.slider3EffectParam setText:@"Resonance"];
- m_iCurrentEffectChosen[m_iCurrentEffectPosition] = EFFECT_WAH;
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
-
-
- case 5:
- [self.slider1EffectParam setText:@"Size"];
- [self.slider2EffectParam setText:@"Interval"];
- [self.slider3EffectParam setText:@"Pool"];
- m_iCurrentEffectChosen[m_iCurrentEffectPosition] = EFFECT_GRANULAR;
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
-
-
- default:
- break;
- }
-
-
- _backEndInterface->addAudioEffect(m_iCurrentSampleID, m_iCurrentEffectPosition, (int)row);
-
-}
-
-- (IBAction)SegementControl:(UISegmentedControl *)sender {
- switch(sender.selectedSegmentIndex){
- case 0:
- m_iCurrentEffectPosition = 0;
- if (m_bEffectBypassToggle[m_iCurrentEffectPosition]) [self.bypassButtonObject setOn:TRUE]; else [self.bypassButtonObject setOn:FALSE];
- [self.pickerObject selectRow:m_iCurrentEffectChosen[m_iCurrentEffectPosition] inComponent:0 animated:YES];
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
- case 1:
- m_iCurrentEffectPosition = 1;
- if (m_bEffectBypassToggle[m_iCurrentEffectPosition]) [self.bypassButtonObject setOn:TRUE]; else [self.bypassButtonObject setOn:FALSE];
- [self.pickerObject selectRow:m_iCurrentEffectChosen[m_iCurrentEffectPosition] inComponent:0 animated:YES];
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
- case 2:
- m_iCurrentEffectPosition = 2;
- if (m_bEffectBypassToggle[m_iCurrentEffectPosition]) [self.bypassButtonObject setOn:TRUE]; else [self.bypassButtonObject setOn:FALSE];
- [self.pickerObject selectRow:m_iCurrentEffectChosen[m_iCurrentEffectPosition] inComponent:0 animated:YES];
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
- case 3:
- m_iCurrentEffectPosition = 3;
- if (m_bEffectBypassToggle[m_iCurrentEffectPosition]) [self.bypassButtonObject setOn:TRUE]; else [self.bypassButtonObject setOn:FALSE];
- [self.pickerObject selectRow:m_iCurrentEffectChosen[m_iCurrentEffectPosition] inComponent:0 animated:YES];
- [self.currentData.effectChain replaceObjectAtIndex:m_iCurrentEffectPosition withObject:[NSNumber numberWithInt:m_iCurrentEffectChosen[m_iCurrentEffectPosition]]];
- break;
- default:
- break;
- }
-
-
-}
-
-// Segmented Control for Button Mode
-- (IBAction)buttonModeChanged:(UISegmentedControl *)sender
-{
- switch ((int)sender.selectedSegmentIndex)
- {
- case 0:
- _backEndInterface->setMode(m_iCurrentSampleID, MODE_LOOP);
- break;
-
- case 1:
- _backEndInterface->setMode(m_iCurrentSampleID, MODE_TRIGGER);
- break;
-
- case 2:
- _backEndInterface->setMode(m_iCurrentSampleID, MODE_BEATREPEAT);
- break;
-
- default:
- break;
- }
-
-}
-
-- (IBAction)quantizationSliderChanged:(UISlider *)sender
-{
- _backEndInterface->setSampleParameter(m_iCurrentSampleID, PARAM_QUANTIZATION, (int)sender.value);
-}
-
-
-
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
-{
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- // Custom initialization
- }
- return self;
-}
-
-- (IBAction)bypassButton:(UISwitch *)sender {
-
-// switch(m_iCurrentEffectChosen[m_iCurrentEffectPosition]){
-// case EFFECT_TREMOLO:
-// self.currentData.tremoloEffect.bypass = (sender.on ? [NSNumber numberWithInt:1]:[NSNumber numberWithInt:0]);
-// m_bEffectBypassToggle[m_iCurrentEffectPosition] = (sender.on ? 1:0);
-// break;
-// case EFFECT_DELAY:
-// self.currentData.delayEffect.bypass = (sender.on ? [NSNumber numberWithInt:1]:[NSNumber numberWithInt:0]);
-// m_bEffectBypassToggle[m_iCurrentEffectPosition] = (sender.on ? 1:0);
-// break;
-// case EFFECT_VIBRATO:
-// self.currentData.vibratoEffect.bypass = (sender.on ? [NSNumber numberWithInt:1]:[NSNumber numberWithInt:0]);
-// m_bEffectBypassToggle[m_iCurrentEffectPosition] = (sender.on ? 1:0);
-// break;
-// case EFFECT_WAH:
-// self.currentData.wahEffect.bypass = (sender.on ? [NSNumber numberWithInt:1]:[NSNumber numberWithInt:0]);
-// m_bEffectBypassToggle[m_iCurrentEffectPosition] = (sender.on ? 1:0);
-// break;
-// case EFFECT_GRANULAR:
-// self.currentData.wahEffect.bypass = (sender.on ? [NSNumber numberWithInt:1]:[NSNumber numberWithInt:0]);
-// m_bEffectBypassToggle[m_iCurrentEffectPosition] = (sender.on ? 1:0);
-// break;
-// default:
-// break;
-// }
-
- _backEndInterface->setEffectParameter(_currentData.sampleID.intValue, m_iCurrentEffectPosition, PARAM_BYPASS, sender.on);
-}
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
- m_iCurrentEffectChosen[0] = EFFECT_NONE;
- self.effects = @[@"None", @"Tremolo", @"Delay", @"Vibrato", @"Wah", @"Granularizer"];
-
- // Do any additional setup after loading the view.
-
- //if (m_bEffectBypassToggle[0]) [self.bypassButtonObject setOn:TRUE]; else [self.bypassButtonObject setOn:FALSE];
-}
-
-- (void)didReceiveMemoryWarning
-{
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
-}
-
-- (void)dealloc {
- [_effects release];
- //[_currentData release];
- [_slider1EffectParam release];
- [_slider2EffectParam release];
- [_slider3EffectParam release];
- [_slider1CurrentValue release];
- [_slider2CurrentValue release];
- [_slider3CurrentValue release];
- [_effectBeingModifiedLabel release];
-
- [_slider1Object release];
- [_slider2Object release];
- [_slider3Object release];
- [_bypassButtonObject release];
- [_pickerObject release];
-
-// delete _backEndInterface;
-
- [super dealloc];
-}
-@end
diff --git a/Source/GUI/GestureControllerViewController.h b/Source/GUI/GestureControllerViewController.h
deleted file mode 100644
index cdb3f90..0000000
--- a/Source/GUI/GestureControllerViewController.h
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// GestureControllerViewController.h
-// GestureController
-//
-// Created by Govinda Ram Pingali on 11/10/13.
-// Copyright (c) 2013 GTCMT. All rights reserved.
-//
-
-#import
-#import
-#include "GestureControllerInterface.h"
-
-@interface GestureControllerViewController : UIViewController
-{
- UIColor* blackColour;
- UIColor* redColour;
- UIColor* greenColour;
- UIColor* blueColour;
- UIColor* yellowColour;
-
- GestureControllerInterface* backEndInterface;
-
- bool m_bAudioToggleStatus_1;
- bool m_bAudioToggleStatus_2;
-
- int m_iAudioEffectsStatus_1;
- int m_iAudioEffectsStatus_2;
-}
-
-
-//--- Motion Processing ---//
-
-@property (strong, nonatomic) CMMotionManager *motionManager;
-
-- (void)motionDeviceUpdate: (CMDeviceMotion*) deviceMotion;
-
-- (void)processUserAcceleration: (CMAcceleration) userAcceleration;
-
-
-
-//--- UI Actions ---//
-
-- (UIColor*)colorFromHexString : (NSString*)hexString;
-
-- (IBAction)redButtonDown:(UIButton *)sender;
-- (IBAction)redButtonUp:(UIButton *)sender;
-
-- (IBAction)greenButtonDown:(UIButton *)sender;
-- (IBAction)greenButtonUp:(UIButton *)sender;
-
-- (IBAction)blueButtonDown:(id)sender;
-- (IBAction)blueButtonUp:(UIButton *)sender;
-
-- (IBAction)yellowButtonDown:(UIButton *)sender;
-- (IBAction)yellowButtonUp:(UIButton *)sender;
-
-
-@end
diff --git a/Source/GUI/GestureControllerViewController.mm b/Source/GUI/GestureControllerViewController.mm
deleted file mode 100644
index 85a00bb..0000000
--- a/Source/GUI/GestureControllerViewController.mm
+++ /dev/null
@@ -1,206 +0,0 @@
-//
-// GestureControllerViewController.m
-// GestureController
-//
-// Created by Govinda Ram Pingali on 11/10/13.
-// Copyright (c) 2013 GTCMT. All rights reserved.
-//
-
-#import "GestureControllerViewController.h"
-
-#define SAMPLING_RATE 0.1
-
-@interface GestureControllerViewController ()
-
-@end
-
-@implementation GestureControllerViewController
-
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- backEndInterface = new GestureControllerInterface;
-
-
- self.motionManager = [[CMMotionManager alloc] init];
- self.motionManager.deviceMotionUpdateInterval = SAMPLING_RATE;
-
-
- [self.motionManager startDeviceMotionUpdatesToQueue: [NSOperationQueue currentQueue]
- withHandler:^ (CMDeviceMotion *deviceMotion, NSError *error) {
- [self motionDeviceUpdate:deviceMotion];
- if(error){
- NSLog(@"%@", error);
- }
- }];
-
-
- blackColour = [self colorFromHexString:@"#000000"];
- redColour = [self colorFromHexString:@"#420000"];
- greenColour = [self colorFromHexString:@"#004200"];
- blueColour = [self colorFromHexString:@"#000042"];
- yellowColour = [self colorFromHexString:@"#424200"];
-
-
- m_bAudioToggleStatus_1 = false;
- m_bAudioToggleStatus_2 = false;
- m_iAudioEffectsStatus_1 = 0;
- m_iAudioEffectsStatus_2 = 0;
-}
-
-
-
-//--- Motion Processing Methods ---//
-
-- (void) motionDeviceUpdate: (CMDeviceMotion*) deviceMotion
-{
-
- double attitude[3];
-
- attitude[0] = deviceMotion.attitude.roll;
- attitude[1] = deviceMotion.attitude.pitch;
- attitude[2] = deviceMotion.attitude.yaw;
-// [osc sendFloat:@"/attitude" : attitude : 3];
-
-
- double acceleration[3];
-
- acceleration[0] = deviceMotion.userAcceleration.x;
- acceleration[1] = deviceMotion.userAcceleration.y;
- acceleration[2] = deviceMotion.userAcceleration.z;
- [self processUserAcceleration:deviceMotion.userAcceleration];
-// [osc sendFloat:@"/acceleration" : acceleration : 3];
-
-
- double quaternion[4];
-
- quaternion[0] = deviceMotion.attitude.quaternion.w;
- quaternion[1] = deviceMotion.attitude.quaternion.x;
- quaternion[2] = deviceMotion.attitude.quaternion.y;
- quaternion[3] = deviceMotion.attitude.quaternion.z;
-// [osc sendFloat:@"/quaternion" : quaternion : 4];
-
-
- double rotationRate[3];
- rotationRate[0] = deviceMotion.rotationRate.x;
- rotationRate[1] = deviceMotion.rotationRate.y;
- rotationRate[2] = deviceMotion.rotationRate.z;
-// [osc sendFloat:@"/rotationRate" : rotationRate : 3];
-
-
- double gravity[3];
- gravity[0] = deviceMotion.gravity.x;
- gravity[1] = deviceMotion.gravity.y;
- gravity[2] = deviceMotion.gravity.z;
-// [osc sendFloat:@"/gravity" : gravity : 3];
-
-}
-
-
-- (void)processUserAcceleration: (CMAcceleration) userAcceleration
-{
- double threshold = 10.0f;
-
-
- double amplitude = pow( (pow(userAcceleration.x, 2) + pow(userAcceleration.y, 2) + pow(userAcceleration.z, 2)), 0.5);
-
- if (amplitude > threshold || amplitude < -threshold) {
-// [osc sendBang:@"/trigger"];
- }
-}
-
-
-
-
-
-//--- UI Action Methods ---//
-
-- (UIColor*)colorFromHexString:(NSString *)hexString {
- unsigned rgbValue = 0;
- NSScanner *scanner = [NSScanner scannerWithString:hexString];
- [scanner setScanLocation:1]; // bypass '#' character
- [scanner scanHexInt:&rgbValue];
- return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16)/255.0 green:((rgbValue & 0xFF00) >> 8)/255.0 blue:(rgbValue & 0xFF)/255.0 alpha:1.0];
-
-}
-
-
-- (IBAction)redButtonDown:(UIButton *)sender {
-// self.view.backgroundColor = redColour;
- backEndInterface->startPlayback(0);
-// [osc sendToggle:@"/red" : true];
-}
-
-
-- (IBAction)redButtonUp:(UIButton *)sender {
-// self.view.backgroundColor = blackColour;
- backEndInterface->stopPlayback(0);
-// [osc sendToggle:@"/red" : false];
-}
-
-
-- (IBAction)greenButtonDown:(UIButton *)sender {
-// self.view.backgroundColor = greenColour;
- backEndInterface->startPlayback(1);
-// [osc sendToggle:@"/green" : true];
-}
-
-
-- (IBAction)greenButtonUp:(UIButton *)sender {
-// self.view.backgroundColor = blackColour;
- backEndInterface->stopPlayback(1);
-// [osc sendToggle:@"/green" : false];
-}
-
-
-- (IBAction)blueButtonDown:(id)sender {
-// self.view.backgroundColor = blueColour;
- backEndInterface->startPlayback(2);
-// [osc sendToggle:@"/blue" : true];
-}
-
-
-- (IBAction)blueButtonUp:(UIButton *)sender {
-// self.view.backgroundColor = blackColour;
- backEndInterface->stopPlayback(2);
-// [osc sendToggle:@"/blue" : false];
-}
-
-
-- (IBAction)yellowButtonDown:(UIButton *)sender {
-// self.view.backgroundColor = yellowColour;
- backEndInterface->startPlayback(3);
-// [osc sendToggle:@"/yellow" : true];
-}
-
-
-- (IBAction)yellowButtonUp:(UIButton *)sender {
-// self.view.backgroundColor = blackColour;
- backEndInterface->stopPlayback(3);
-// [osc sendToggle:@"/yellow" : false];
-}
-
-
-
-
-
-- (void)didReceiveMemoryWarning
-{
- [super didReceiveMemoryWarning];
-}
-
-
-
-- (void)dealloc
-{
-
-
- delete backEndInterface;
-
- [super dealloc];
-}
-
-
-@end
diff --git a/Source/GUI/GlobalSettingsViewController.h b/Source/GUI/GlobalSettingsViewController.h
index e143a11..c111f71 100644
--- a/Source/GUI/GlobalSettingsViewController.h
+++ b/Source/GUI/GlobalSettingsViewController.h
@@ -2,7 +2,7 @@
// GlobalSettingsViewController.h
// GestureController
//
-// Created by Govinda Ram Pingali on 4/10/14.
+// Created by Govinda Ram Pingali on 4/28/14.
// Copyright (c) 2014 GTCMT. All rights reserved.
//
diff --git a/Source/GUI/GlobalSettingsViewController.mm b/Source/GUI/GlobalSettingsViewController.mm
new file mode 100644
index 0000000..1cc9357
--- /dev/null
+++ b/Source/GUI/GlobalSettingsViewController.mm
@@ -0,0 +1,50 @@
+//
+// GlobalSettingsViewController.m
+// GestureController
+//
+// Created by Govinda Ram Pingali on 4/28/14.
+// Copyright (c) 2014 GTCMT. All rights reserved.
+//
+
+#import "GlobalSettingsViewController.h"
+
+@interface GlobalSettingsViewController ()
+
+@end
+
+@implementation GlobalSettingsViewController
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+ if (self)
+ {
+ // Custom initialization
+ }
+ return self;
+}
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view.
+}
+
+- (void)didReceiveMemoryWarning
+{
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
+{
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+}
+*/
+
+@end
diff --git a/Source/GUI/SampleSettingsViewController.h b/Source/GUI/SampleSettingsViewController.h
new file mode 100644
index 0000000..0d058dd
--- /dev/null
+++ b/Source/GUI/SampleSettingsViewController.h
@@ -0,0 +1,19 @@
+//
+// SampleSettingsViewController.h
+// GestureController
+//
+// Created by Govinda Ram Pingali on 4/28/14.
+// Copyright (c) 2014 GTCMT. All rights reserved.
+//
+
+#import
+
+@interface SampleSettingsViewController : UIViewController
+{
+
+}
+
+
+@property (nonatomic) int m_iSampleID;
+
+@end
diff --git a/Source/GUI/SampleSettingsViewController.mm b/Source/GUI/SampleSettingsViewController.mm
new file mode 100644
index 0000000..f5cb3a4
--- /dev/null
+++ b/Source/GUI/SampleSettingsViewController.mm
@@ -0,0 +1,74 @@
+//
+// SampleSettingsViewController.m
+// GestureController
+//
+// Created by Govinda Ram Pingali on 4/28/14.
+// Copyright (c) 2014 GTCMT. All rights reserved.
+//
+
+#import "SampleSettingsViewController.h"
+
+@interface SampleSettingsViewController ()
+
+@end
+
+@implementation SampleSettingsViewController
+
+@synthesize m_iSampleID;
+
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+
+ if (self)
+ {
+ // Custom initialization
+ }
+ return self;
+}
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+
+ if (m_iSampleID == 0)
+ {
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.4f green:0.0f blue:0.0f alpha:1.0f]];
+ }
+
+ else if (m_iSampleID == 1)
+ {
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.4f alpha:1.0f]];
+ }
+
+ else if (m_iSampleID == 2)
+ {
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.4f blue:0.0f alpha:1.0f]];
+ }
+
+ else if (m_iSampleID == 3)
+ {
+ [[self view] setBackgroundColor:[UIColor colorWithRed:0.4f green:0.4f blue:0.0f alpha:1.0f]];
+ }
+
+}
+
+- (void)didReceiveMemoryWarning
+{
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
+{
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+}
+*/
+
+@end
diff --git a/Source/GUI/SettingsViewController.h b/Source/GUI/SettingsViewController.h
deleted file mode 100644
index 65f0c6b..0000000
--- a/Source/GUI/SettingsViewController.h
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// SettingsViewController.h
-// GestureController
-//
-// Created by Govinda Ram Pingali on 11/13/13.
-// Copyright (c) 2013 GTCMT. All rights reserved.
-//
-
-#import
-
-@interface SettingsViewController : UIViewController
-{
-
-}
-
-
-- (IBAction)masterGain:(UISlider *)sender;
-//@property (weak, nonatomic) IBOutlet UISlider *masterGainSlider;
-
-
-- (IBAction)audioToggle:(UISwitch *)sender;
-//@property (weak, nonatomic) IBOutlet UISwitch *audioToggleSwitch;
-
-
-
-
-
-
-@end
diff --git a/Source/GUI/SettingsViewController.mm b/Source/GUI/SettingsViewController.mm
deleted file mode 100644
index 2bab2b1..0000000
--- a/Source/GUI/SettingsViewController.mm
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// SettingsViewController.m
-// GestureController
-//
-// Created by Govinda Ram Pingali on 11/13/13.
-// Copyright (c) 2013 GTCMT. All rights reserved.
-//
-
-#import "SettingsViewController.h"
-
-@interface SettingsViewController ()
-
-@end
-
-@implementation SettingsViewController
-
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
-{
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
-
- if (self) {
- // Custom initialization
- }
- return self;
-}
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
-
- // Do any additional setup after loading the view.
-}
-
-- (void)didReceiveMemoryWarning
-{
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
-}
-
-
-- (IBAction)masterGain:(UISlider *)sender
-{
- double gain[] = {sender.value};
-// [osc sendFloat:@"/masterGain" : gain : 1];
-}
-
-
-- (IBAction)audioToggle:(UISwitch *)sender
-{
- if (sender.on)
- {
-// [osc sendToggle:@"/master" :true];
- } else
- {
-// [osc sendToggle:@"/master" :false];
- }
-}
-
-
-
-
-- (void)dealloc
-{
-
- // [_toggleAudioButton release];
-
- // delete backEndInterface;
-
-
- // [_removeEffectButton release];
-
- [super dealloc];
-
-}
-
-
-
-@end
diff --git a/Source/GUI/SharedLibraryViewController.h b/Source/GUI/SharedLibraryViewController.h
deleted file mode 100644
index b1f20f8..0000000
--- a/Source/GUI/SharedLibraryViewController.h
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// SharedLibraryViewController.h
-// SharedLibrary
-//
-// Created by Govinda Ram Pingali on 3/8/14.
-// Copyright (c) 2014 GTCMT. All rights reserved.
-//
-
-#import
-#include "GestureControllerInterface.h"
-#import "UserInterfaceData.h"
-#import "EffectSettingsViewController.h"
-
-#import "Metronome.h"
-#import
-
-@interface SharedLibraryViewController : UIViewController
-{
- GestureControllerInterface* backEndInterface;
-
- bool m_bRedButtonToggleStatus; // is red button pressed
- bool m_bBlueButtonToggleStatus; // is blue button pressed
- bool m_bModeToggleStatus; // if settings mode, segue to effectSettings scene, else start playback
-
- Metronome* metronome;
-
- bool* m_pbRecordToggle;
- bool* m_pbPlaybackToggle;
-}
-
-
-@property (strong, nonatomic) CMMotionManager *motionManager;
-
-- (void)motionDeviceUpdate: (CMDeviceMotion*) deviceMotion;
-
-- (void)processUserAcceleration: (CMAcceleration) userAcceleration;
-
-//@property (retain, nonatomic) IBOutlet UIButton *toggleAudioButton;
-//- (IBAction)toggleAudioButtonClicked:(UIButton *)sender;
-//
-//
-//- (IBAction)addEffectButtonClicked:(UIButton *)sender;
-
-
-- (IBAction)toggleMetronome:(UISwitch *)sender;
-
-- (void) beat: (int) beatNo;
-
-@end
diff --git a/Source/GUI/SharedLibraryViewController.mm b/Source/GUI/SharedLibraryViewController.mm
deleted file mode 100644
index b55052d..0000000
--- a/Source/GUI/SharedLibraryViewController.mm
+++ /dev/null
@@ -1,596 +0,0 @@
-//
-// SharedLibraryViewController.mm
-// SharedLibrary
-//
-// Created by Govinda Ram Pingali on 3/8/14.
-// Copyright (c) 2014 GTCMT. All rights reserved.
-//
-
-# define SAMPLING_RATE 0.05f
-# define LIN_ACC_THRESHOLD 8.0f
-#define NUM_BUTTONS 4
-
-
-#import "SharedLibraryViewController.h"
-
-
-@interface SharedLibraryViewController () {
- SampleInfo *redSample;
- SampleInfo *blueSample;
- SampleInfo *greenSample;
- SampleInfo *yellowSample;
-
-}
-
-@end
-
-@implementation SharedLibraryViewController
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- redSample = [[SampleInfo alloc] init];
- redSample.delayEffect = [[cDelay alloc] init];
- redSample.tremoloEffect = [[cTremolo alloc] init];
- redSample.vibratoEffect = [[cVibrato alloc] init];
- redSample.wahEffect = [[cWah alloc] init];
-
-
- blueSample = [[SampleInfo alloc] init];
- blueSample.delayEffect = [[cDelay alloc] init];
- blueSample.tremoloEffect = [[cTremolo alloc] init];
- blueSample.vibratoEffect = [[cVibrato alloc] init];
- blueSample.wahEffect = [[cWah alloc] init];
-
-
- greenSample = [[SampleInfo alloc] init];
- greenSample.delayEffect = [[cDelay alloc] init];
- greenSample.tremoloEffect = [[cTremolo alloc] init];
- greenSample.vibratoEffect = [[cVibrato alloc] init];
- greenSample.wahEffect = [[cWah alloc] init];
-
-
- yellowSample = [[SampleInfo alloc] init];
- yellowSample.delayEffect = [[cDelay alloc] init];
- yellowSample.tremoloEffect = [[cTremolo alloc] init];
- yellowSample.vibratoEffect = [[cVibrato alloc] init];
- yellowSample.wahEffect = [[cWah alloc] init];
-
-// redSample.sampleID = [NSNumber numberWithFloat:10];
-// redSample.delayEffect.time = [NSNumber numberWithFloat:0.5];
-// redSample.delayEffect.feedback = [NSNumber numberWithFloat:0.75];
-//
-
-
- backEndInterface = new GestureControllerInterface;
-
- m_pbPlaybackToggle = new bool [NUM_BUTTONS];
- m_pbRecordToggle = new bool [NUM_BUTTONS];
-
- for (int i=0; i < NUM_BUTTONS; i++)
- {
- m_pbRecordToggle[i] = false;
- m_pbPlaybackToggle[i] = false;
- }
-
-
- NSString *sample1Path = [[NSBundle mainBundle] pathForResource:@"Playback0" ofType:@"wav"];
- NSString *sample2Path = [[NSBundle mainBundle] pathForResource:@"Playback1" ofType:@"wav"];
- NSString *sample3Path = [[NSBundle mainBundle] pathForResource:@"Playback2" ofType:@"wav"];
- NSString *sample4Path = [[NSBundle mainBundle] pathForResource:@"Playback3" ofType:@"wav"];
- NSString *sample5Path = [[NSBundle mainBundle] pathForResource:@"Playback4" ofType:@"wav"];
-
-
- backEndInterface->loadAudioFile(0, sample1Path);
- backEndInterface->loadAudioFile(1, sample2Path);
- backEndInterface->loadAudioFile(2, sample3Path);
- backEndInterface->loadAudioFile(3, sample4Path);
- backEndInterface->loadAudioFile(4, sample5Path);
-
-
- m_bRedButtonToggleStatus = false;
- m_bBlueButtonToggleStatus = false;
- m_bModeToggleStatus = true; // settings mode by default
-
-
-
-
- metronome = [[Metronome alloc] init];
- [metronome setDelegate:self];
-
-
-
-
- self.motionManager = [[CMMotionManager alloc] init];
- self.motionManager.deviceMotionUpdateInterval = SAMPLING_RATE;
-
-
- [self.motionManager startDeviceMotionUpdatesToQueue: [NSOperationQueue currentQueue]
- withHandler:^ (CMDeviceMotion *deviceMotion, NSError *error) {
- [self motionDeviceUpdate:deviceMotion];
- if(error){
- NSLog(@"%@", error);
- }
- }];
-
-}
-
-- (void)didReceiveMemoryWarning
-{
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
-}
-
-
-
-//- (IBAction)redButtonPressed:(id)sender
-//{
-// NSLog(@"Chain contents %@ %@ %@ %@", [redSample.effectChain objectAtIndex:0], [redSample.effectChain objectAtIndex:1], [redSample.effectChain objectAtIndex:2], [redSample.effectChain objectAtIndex:3]);
-// NSLog(@"Bypass contents %@ %@ %@ %@", redSample.delayEffect.bypass.stringValue,redSample.tremoloEffect.bypass.stringValue,redSample.vibratoEffect.bypass.stringValue,redSample.wahEffect.bypass.stringValue);
-//
-// if (!m_bModeToggleStatus)
-// {
-// if (!m_bRedButtonToggleStatus)
-// {
-// backEndInterface->startPlayback(0);
-// m_bRedButtonToggleStatus = true;
-// }
-//
-// else
-// {
-// backEndInterface->stopPlayback(0);
-// m_bRedButtonToggleStatus = false;
-// }
-//
-// }
-//}
-
-
-- (IBAction)redButtonTouchDown:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->startPlayback(0);
- self.view.backgroundColor = [UIColor redColor];
- }
-}
-
-
-- (IBAction)redButtonTouchUp:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->stopPlayback(0);
- self.view.backgroundColor = [UIColor whiteColor];
- }
-}
-
-
-
-- (IBAction)blueButtonTouchUp:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->stopPlayback(1);
- self.view.backgroundColor = [UIColor whiteColor];
- }
-}
-
-
-- (IBAction)blueButtonTouchDown:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->startPlayback(1);
- self.view.backgroundColor = [UIColor blueColor];
- }
-}
-
-
-
-
-- (IBAction)greenButtonTouchDown:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->startPlayback(2);
- self.view.backgroundColor = [UIColor greenColor];
- }
-}
-
-
-- (IBAction)greenButtonTouchUp:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->stopPlayback(2);
- self.view.backgroundColor = [UIColor whiteColor];
- }
-}
-
-
-
-- (IBAction)yellowButtonTouchDown:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->startPlayback(3);
- self.view.backgroundColor = [UIColor yellowColor];
- }
-}
-
-- (IBAction)yellowButtonTouchUp:(id)sender
-{
- if (!m_bModeToggleStatus)
- {
- backEndInterface->stopPlayback(3);
- self.view.backgroundColor = [UIColor whiteColor];
- }
-}
-
-
-
-
-
-- (IBAction)modeSwitchToggled:(UISwitch *)sender
-{
- if (sender.on)
- {
- m_bModeToggleStatus = true;
-// NSLog(m_bModeToggleStatus?@"Settings mode":@"Playback mode");
- }
-
- else
- {
- m_bModeToggleStatus = false;
-// NSLog(m_bModeToggleStatus?@"Settings mode":@"Playback mode");
- }
-
-}
-
-
-
-// conditional segue - Switch scenes only if we are in settings mode
-- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
-{
- if (([identifier isEqualToString:@"conditionSegue1"]) && m_bModeToggleStatus) {
- return YES;
- }
- if (([identifier isEqualToString:@"conditionSegue2"]) && m_bModeToggleStatus) {
- return YES;
- }
- if (([identifier isEqualToString:@"conditionSegue3"]) && m_bModeToggleStatus) {
- return YES;
- }
- if (([identifier isEqualToString:@"conditionSegue4"]) && m_bModeToggleStatus) {
- return YES;
- }
-
- return NO;
-}
-
-
-- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
-
- EffectSettingsViewController *EffectSettingsVC = segue.destinationViewController;
- if ([segue.identifier isEqualToString:@"conditionSegue1" ]) {
- EffectSettingsVC.view.backgroundColor = [UIColor redColor];
- EffectSettingsVC.currentData = redSample;
- EffectSettingsVC.m_iCurrentSampleID = 0;
- EffectSettingsVC.backEndInterface = backEndInterface;
- }
- else if ([segue.identifier isEqualToString:@"conditionSegue2" ]) {
- EffectSettingsVC.view.backgroundColor = [UIColor blueColor];
- EffectSettingsVC.currentData = blueSample;
- EffectSettingsVC.m_iCurrentSampleID = 1;
- EffectSettingsVC.backEndInterface = backEndInterface;
- }
- else if ([segue.identifier isEqualToString:@"conditionSegue3" ]) {
- EffectSettingsVC.view.backgroundColor = [UIColor greenColor];
- EffectSettingsVC.currentData = greenSample;
- EffectSettingsVC.m_iCurrentSampleID = 2;
- EffectSettingsVC.backEndInterface = backEndInterface;
- }
- else if ([segue.identifier isEqualToString:@"conditionSegue4" ]) {
- EffectSettingsVC.view.backgroundColor = [UIColor yellowColor];
- EffectSettingsVC.currentData = yellowSample;
- EffectSettingsVC.m_iCurrentSampleID = 3;
- EffectSettingsVC.backEndInterface = backEndInterface;
- }
-}
-
-
-
-
-
-
-//--- Motion Processing Methods ---//
-
-- (void) motionDeviceUpdate: (CMDeviceMotion*) deviceMotion
-{
-
-// double attitude[3];
-
-// attitude[0] = deviceMotion.attitude.roll;
-// attitude[1] = deviceMotion.attitude.pitch;
-// attitude[2] = deviceMotion.attitude.yaw;
-// [osc sendFloat:@"/attitude" : attitude : 3];
-// backEndInterface->setEffectParameter(0, 0, PARAM_1, ((deviceMotion.attitude.pitch + M_PI/2) * 2.0f));
-// backEndInterface->setEffectParameter(3, 0, PARAM_2, (deviceMotion.attitude.pitch + M_PI_2) / M_PI);
-// backEndInterface->setEffectParameter(2, 0, PARAM_2, (deviceMotion.attitude.pitch + M_PI_2) / M_PI);
-// backEndInterface->setEffectParameter(1, 0, PARAM_2, (deviceMotion.attitude.pitch + M_PI_2) / M_PI);
-// backEndInterface->setEffectParameter(0, 0, PARAM_2, (deviceMotion.attitude.pitch + M_PI_2) / M_PI);
-
-// backEndInterface->setSampleParameter(2, PARAM_QUANTIZATION, (((deviceMotion.attitude.roll + M_PI_2) / M_PI) * 2.0f) + 4.0f);
-// backEndInterface->setParameter(1, 1, 0, ((attitude[1] + M_PI/2) * 2.0f));
-// backEndInterface->setParameter(int sampleID, int effectPosition, int parameterID, float value
-
-// double acceleration[3];
-
-// acceleration[0] = deviceMotion.userAcceleration.x;
-// acceleration[1] = deviceMotion.userAcceleration.y;
-// acceleration[2] = deviceMotion.userAcceleration.z;
- [self processUserAcceleration:deviceMotion.userAcceleration];
-// [osc sendFloat:@"/acceleration" : acceleration : 3];
-
-
-// double quaternion[4];
-
-// quaternion[0] = deviceMotion.attitude.quaternion.w;
-// quaternion[1] = deviceMotion.attitude.quaternion.x;
-// quaternion[2] = deviceMotion.attitude.quaternion.y;
-// quaternion[3] = deviceMotion.attitude.quaternion.z;
-// [osc sendFloat:@"/quaternion" : quaternion : 4];
-
-
-// double rotationRate[3];
-// rotationRate[0] = deviceMotion.rotationRate.x;
-// rotationRate[1] = deviceMotion.rotationRate.y;
-// rotationRate[2] = deviceMotion.rotationRate.z;
-// [osc sendFloat:@"/rotationRate" : rotationRate : 3];
-
-
-// double gravity[3];
-// gravity[0] = deviceMotion.gravity.x;
-// gravity[1] = deviceMotion.gravity.y;
-// gravity[2] = deviceMotion.gravity.z;
-// [osc sendFloat:@"/gravity" : gravity : 3];
-
-}
-
-
-
-
-- (void)processUserAcceleration: (CMAcceleration) userAcceleration
-{
- double amplitude = pow( (pow(userAcceleration.x, 2) + pow(userAcceleration.y, 2) + pow(userAcceleration.z, 2)), 0.5);
-
- if (amplitude > LIN_ACC_THRESHOLD || amplitude < -(LIN_ACC_THRESHOLD))
- {
-// [osc sendBang:@"/trigger"];
- backEndInterface->startPlayback(4);
- }
-}
-
-
-- (IBAction)redButtonRecordDown:(UIButton *)sender {
-
- sender.alpha = 1.0f;
- backEndInterface->startRecording(0);
-
-}
-
-
-- (IBAction)redButtonRecordUp:(UIButton *)sender {
-
- sender.alpha = 0.2f;
- backEndInterface->stopRecording(0);
-}
-
-
-
-- (IBAction)redButtonPlaybackFileToggle:(UIButton *)sender {
-
- if (m_pbPlaybackToggle[0])
- {
- sender.alpha = 0.2f;
- m_pbPlaybackToggle[0] = false;
- backEndInterface->togglePlaybackRecordingFile(0, true);
- }
-
- else
- {
- sender.alpha = 1.0f;
- m_pbPlaybackToggle[0] = true;
- backEndInterface->togglePlaybackRecordingFile(0, false);
- }
-}
-
-- (IBAction)redButtonMasterRecordDown:(UIButton *)sender {
-
- sender.alpha = 1.0f;
- backEndInterface->startRecordingOutput(0);
-}
-
-- (IBAction)redButtonMasterRecordUp:(UIButton *)sender {
-
- sender.alpha = 0.2f;
- backEndInterface->stopRecordingOutput(0);
-}
-
-
-- (IBAction)blueButtonRecordDown:(UIButton *)sender {
-
- sender.alpha = 1.0f;
- backEndInterface->startRecording(1);
-
-}
-
-- (IBAction)blueButtonRecordUp:(UIButton *)sender {
-
- sender.alpha = 0.2f;
- backEndInterface->stopRecording(1);
-}
-
-
-
-- (IBAction)blueButtonPlaybackFileToggle:(UIButton *)sender {
-
- if (m_pbPlaybackToggle[1])
- {
- sender.alpha = 0.4f;
- m_pbPlaybackToggle[1] = false;
- backEndInterface->togglePlaybackRecordingFile(1, true);
- }
-
- else
- {
- sender.alpha = 1.0f;
- m_pbPlaybackToggle[1] = true;
- backEndInterface->togglePlaybackRecordingFile(1, false);
- }
-
-}
-
-- (IBAction)blueButtonMasterRecordDown:(UIButton *)sender {
-
- sender.alpha = 1.0f;
- backEndInterface->startRecordingOutput(1);
-}
-
-- (IBAction)blueButtonMasterRecordUp:(UIButton *)sender {
-
- sender.alpha = 0.2f;
- backEndInterface->stopRecordingOutput(1);
-}
-
-
-
-- (IBAction)greenButtonRecordDown:(UIButton *)sender {
-
- sender.alpha = 1.0f;
- backEndInterface->startRecording(2);
-}
-
-- (IBAction)greenButtonRecordUp:(UIButton *)sender {
-
- sender.alpha = 0.4f;
- backEndInterface->stopRecording(2);
-}
-
-
-- (IBAction)greenButtonPlaybackFileToggle:(UIButton *)sender {
-
- if (m_pbPlaybackToggle[2])
- {
- sender.alpha = 0.4f;
- m_pbPlaybackToggle[2] = false;
- backEndInterface->togglePlaybackRecordingFile(2, true);
- }
-
- else
- {
- sender.alpha = 1.0f;
- m_pbPlaybackToggle[2] = true;
- backEndInterface->togglePlaybackRecordingFile(2, false);
- }
-
-}
-
-- (IBAction)greenButtonMasterRecordDown:(UIButton *)sender {
-
- sender.alpha = 1.0f;
- backEndInterface->startRecordingOutput(2);
-}
-
-- (IBAction)greenButtonMasterRecordUp:(UIButton *)sender {
-
- sender.alpha = 0.2f;
- backEndInterface->stopRecordingOutput(2);
-}
-
-
-
-- (IBAction)yellowButtonRecordDown:(UIButton *)sender {
- sender.alpha = 2.0f;
- backEndInterface->startRecording(3);
-}
-
-
-- (IBAction)yellowButtonRecordUp:(UIButton *)sender {
- sender.alpha = 0.4f;
- backEndInterface->stopRecording(3);
-}
-
-
-- (IBAction)yellowButtonPlaybackFileToggle:(UIButton *)sender {
-
- if (m_pbPlaybackToggle[3])
- {
- sender.alpha = 0.4f;
- m_pbPlaybackToggle[3] = false;
- backEndInterface->togglePlaybackRecordingFile(3, true);
- }
-
- else
- {
- sender.alpha = 1.0f;
- m_pbPlaybackToggle[3] = true;
- backEndInterface->togglePlaybackRecordingFile(3, false);
- }
-
-}
-
-- (IBAction)yellowButtonMasterRecordDown:(UIButton *)sender {
-
- sender.alpha = 1.0f;
- backEndInterface->startRecordingOutput(3);
-}
-
-- (IBAction)yellowButtonMasterRecordUp:(UIButton *)sender {
-
- sender.alpha = 0.2f;
- backEndInterface->stopRecordingOutput(3);
-}
-
-
-
-
-- (void)dealloc
-{
-
-// [_toggleAudioButton release];
-
- [metronome dealloc];
-
- delete backEndInterface;
- delete [] m_pbPlaybackToggle;
- delete [] m_pbRecordToggle;
-
- [super dealloc];
-}
-
-
-
-- (IBAction)toggleMetronome:(UISwitch *)sender
-{
- if (sender.on)
- {
- [metronome startClock];
- }
-
- else
- {
- [metronome stopClock];
- }
-}
-
-
-- (void) beat:(int)beatNo
-{
- backEndInterface->beat(beatNo);
-}
-
-
-@end
diff --git a/Source/GUI/UserInterfaceData.h b/Source/GUI/UserInterfaceData.h
deleted file mode 100644
index 17539f4..0000000
--- a/Source/GUI/UserInterfaceData.h
+++ /dev/null
@@ -1,107 +0,0 @@
-//
-// UserInterfaceData.h
-// SharedLibrary
-//
-// Created by Anand on 3/9/14.
-// Copyright (c) 2014 GTCMT. All rights reserved.
-//
-
-#ifndef __SharedLibrary__UserInterface__
-#define __SharedLibrary__UserInterface__
-
-#import
-
-@interface cDelay : NSObject
-
-@property (nonatomic,retain) NSNumber *time;
-@property (nonatomic,retain) NSNumber *feedback;
-@property (nonatomic,retain) NSNumber *wetdry;
-@property (nonatomic,retain) NSNumber *bypass;
-
-@end
-
-@interface cTremolo : NSObject
-
-@property (nonatomic,retain) NSNumber *depth;
-@property (nonatomic,retain) NSNumber *frequency;
-@property (nonatomic,retain) NSNumber *signal;
-@property (nonatomic,retain) NSNumber *bypass;
-
-@end
-
-@interface cVibrato : NSObject
-
-@property (nonatomic,retain) NSNumber *width;
-@property (nonatomic,retain) NSNumber *frequency;
-@property (nonatomic,retain) NSNumber *signal;
-@property (nonatomic,retain) NSNumber *bypass;
-
-@end
-
-@interface cWah : NSObject
-
-@property (nonatomic,retain) NSNumber *frequency;
-@property (nonatomic,retain) NSNumber *gain;
-@property (nonatomic,retain) NSNumber *resonance;
-@property (nonatomic,retain) NSNumber *bypass;
-
-@end
-
-@interface UserInterfaceData : NSObject
-@property (nonatomic,retain) cDelay *delayEffect;
-@property (nonatomic,retain) cTremolo *tremoloEffect;
-@property (nonatomic,retain) cVibrato *vibratoEffect;
-@property (nonatomic,retain) cWah *wahEffect;
-@end
-
-@interface SampleInfo : UserInterfaceData
-
-@property (nonatomic,retain) NSNumber *sampleID;
-@property (nonatomic,retain) NSNumber *sampleGain;
-@property (nonatomic,retain) NSString *fileURL;
-@property (nonatomic,retain) NSMutableArray *effectChain;
-@property (nonatomic,retain) NSMutableArray *effectObjects;
-
-
-@end
-
-
-//struct UIDelay {
-// float delay_time;
-// float delay_feedback;
-// float dry_wet;
-// bool bypass;
-//};
-//
-//struct UIVibrato {
-// float mod_width;
-// float mod_freq;
-// float dry_wet;
-// bool bypass;
-//};
-//
-//struct UITremolo {
-// float amp_mod;
-// float mod_freq;
-// float dry_wet;
-// bool bypass;
-//};
-//
-//class UIEffects {
-//public:
-// UIEffects();
-// ~UIEffects();
-// UIDelay delayEffect;
-// UIVibrato vibratoEffect;
-// UITremolo tremoloEffect;
-//
-//};
-//
-//class UISampleInfo : public UIEffects {
-//public:
-// UISampleInfo();
-// ~UISampleInfo();
-// int sampleID;
-// string fileURL;
-//};
-#endif
diff --git a/Source/GUI/UserInterfaceData.mm b/Source/GUI/UserInterfaceData.mm
deleted file mode 100644
index 783bfc1..0000000
--- a/Source/GUI/UserInterfaceData.mm
+++ /dev/null
@@ -1,165 +0,0 @@
-//
-// UserInterfaceData.mm
-// SharedLibrary
-//
-// Created by Anand on 3/9/14.
-// Copyright (c) 2014 GTCMT. All rights reserved.
-//
-
-#include "UserInterfaceData.h"
-
-@implementation UserInterfaceData
-- (void)dealloc
-{
-
- [_delayEffect release];
- [_tremoloEffect release];
- [_vibratoEffect release];
- [_wahEffect release];
-
- [super dealloc];
-}
-@end
-
-@implementation SampleInfo
-- (void)dealloc
-{
-
-
- [_sampleID release];
- [_fileURL release];
- [_sampleGain release];
- [_effectChain release];
- [_effectObjects release];
-// [_Pos1 release];
-// [_Pos2 release];
-// [_Pos3 release];
-// [_Pos4 release];
-
-
- [super dealloc];
-}
-
-- (id)init {
- self = [super init];
- if (self){
- self.effectChain = [[NSMutableArray alloc] initWithCapacity:4];
- [self.effectChain insertObject:[NSNumber numberWithInt:1] atIndex:0];
- [self.effectChain insertObject:[NSNumber numberWithInt:99] atIndex:1];
- [self.effectChain insertObject:[NSNumber numberWithInt:99] atIndex:2];
- [self.effectChain insertObject:[NSNumber numberWithInt:99] atIndex:3];
-
- self.effectObjects = [[NSMutableArray alloc] initWithCapacity:4];
-
- }
- return self;
-}
-@end
-
-@implementation cDelay
-- (void)dealloc
-{
-
- [_time release];
- [_feedback release];
- [_wetdry release];
- [_bypass release];
-
-
- [super dealloc];
-}
-
-- (id)init {
- self = [super init];
- if (self){
- self.bypass = [NSNumber numberWithInt:0];
- }
- return self;
-}
-
-@end
-
-@implementation cTremolo
-- (void)dealloc
-{
-
- [_depth release];
- [_frequency release];
- [_signal release];
- [_bypass release];
-
-
- [super dealloc];
-}
-- (id)init {
- self = [super init];
- if (self){
- self.bypass = [NSNumber numberWithInt:0];
- }
- return self;
-}
-@end
-
-@implementation cVibrato
-- (void)dealloc
-{
-
- [_width release];
- [_frequency release];
- [_signal release];
- [_bypass release];
-
-
- [super dealloc];
-}
-- (id)init {
- self = [super init];
- if (self){
- self.bypass = [NSNumber numberWithInt:0];
- }
- return self;
-}
-@end
-
-@implementation cWah
-- (void)dealloc
-{
-
- [_frequency release];
- [_gain release];
- [_resonance release];
- [_bypass release];
-
-
- [super dealloc];
-}
-- (id)init {
- self = [super init];
- if (self){
- self.bypass = [NSNumber numberWithInt:0];
- }
- return self;
-}
-@end
-
-//UISampleInfo :: UISampleInfo () {
-// sampleID = 0;
-// fileURL = "";
-//}
-//
-//UIEffects :: UIEffects () {
-// delayEffect.delay_time = 0;
-// delayEffect.delay_feedback = 0;
-// delayEffect.dry_wet = 0;
-// delayEffect.bypass = false;
-//
-// tremoloEffect.amp_mod = 0;
-// tremoloEffect.mod_freq = 0;
-// tremoloEffect.dry_wet = 0;
-// tremoloEffect.bypass = false;
-//
-// vibratoEffect.mod_width = 0;
-// vibratoEffect.mod_freq = 0;
-// vibratoEffect.dry_wet = 0;
-// vibratoEffect.bypass = false;
-//}