-
Notifications
You must be signed in to change notification settings - Fork 0
/
LaunchPadKeyPadView.m
96 lines (82 loc) · 3.14 KB
/
LaunchPadKeyPadView.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//
// LaunchPadKeyBoardView.m
// iLaunchPad
//
// Created by Max on 11/29/13.
// Copyright (c) 2013 GIST. All rights reserved.
//
#import "LaunchPadKeyPadView.h"
#import "Constants.h"
@implementation LaunchPadKeyPadView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
}
return self;
}
- (void) registerNotifications {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateKeyViews) name:KeyWasAssigned object:nil];
}
- (void) updateKeyViews {
NSArray *initializedTags = [self.launchpadCore getTagsOfInitializedPlayers];
NSLog(@"updatekeyviews initializedtags %@", [initializedTags description]);
for (int i=0; i<12; i++) {
[(LaunchPadKeyView *)[self viewWithTag:100 + i] setKeySoundPlayerInitialized:NO];
}
for (int i=0; i<[initializedTags count]; i++) {
NSInteger tTag = [[initializedTags objectAtIndex:i] integerValue];
[(LaunchPadKeyView *)[self viewWithTag:tTag] setKeySoundPlayerInitialized:YES];
}
}
- (void) enterEditMode:(BOOL) mode animated:(BOOL) animated {
self.editting = mode;
self.multipleTouchEnabled = mode;
NSArray *initializedTags = [self.launchpadCore getTagsOfInitializedPlayers];
NSLog(@"updatekeyviews initializedtags %@", [initializedTags description]);
for (int i=0; i<12; i++) {
[(LaunchPadKeyView *)[self viewWithTag:100+i] setKeySoundPlayerInitialized:NO];
}
for (int i=0; i<[initializedTags count]; i++) {
NSInteger tTag = [[initializedTags objectAtIndex:i] integerValue];
[(LaunchPadKeyView *)[self viewWithTag:tTag] setKeySoundPlayerInitialized:YES];
}
if (!mode) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:.3];
for (int i=0; i<12; i++) {
LaunchPadKeyView *keyView = (LaunchPadKeyView *)[self viewWithTag:100 + i];
keyView.micImageView.alpha = 0;
keyView.downButton.userInteractionEnabled = NO;
keyView.downButton.alpha = 0;
[keyView setEditingMode:mode];
if (!keyView.registeredNotifications) {
[keyView registeredNotifications];
// [keyView registerGestureRecognizer];
}
}
[UIView commitAnimations];
}
else {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:.3];
for (int i=0; i<12; i++) {
LaunchPadKeyView *keyView = (LaunchPadKeyView *)[self viewWithTag:100 + i];
keyView.micImageView.alpha = .2;
keyView.downButton.userInteractionEnabled = YES;
keyView.downButton.alpha = 1;
[keyView setEditingMode:mode];
if (!keyView.registeredNotifications) {
[keyView registeredNotifications];
// [keyView registerGestureRecognizer];
}
}
[UIView commitAnimations];
}
}
- (void) dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
@end