-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDCSequenceProvider.h
More file actions
66 lines (40 loc) · 1.45 KB
/
DCSequenceProvider.h
File metadata and controls
66 lines (40 loc) · 1.45 KB
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
class DCSequenceProvider {
public:
// ----------------------------------
Keyframe keyframeBuffer[3];
int keyframeCount = 3;
int accelDuration = 1000;
int deaccelDuration = 1000;
void setup( unsigned long _kickstartDuration, float _kickstartValue ){
}
void setup( unsigned long _kickstartDuration, float _kickstartValue, float _kickstartSustainDuration, float _endDuration ){
}
void generateSequence( ADSRType type, unsigned long duration, float value ) {
switch ( type ) {
case TRIANGLE_FALL:
//generateTriangleFallSequence( duration, value );
//generateSquareSequence( duration, value );
break;
case TRIANGLE_RISE:
//generateTriangleRiseSequence( duration, value );
//generateSquareSequence( duration, value );
break;
case SQUARE:
generateSquareSequence( duration, value );
break;
case SQUARE_2:
//generateSquare2Sequence( duration, value );
break;
case CIRCLE:
//generateCircleSequence( duration, value );
//generateSquareSequence( duration, value );
break;
}
}
void generateSquareSequence( unsigned long duration, float value ){
keyframeBuffer[ 0 ] = { value, accelDuration, Easing::easeInCubic };
keyframeBuffer[ 1 ] = { value, duration, Easing::linearTween };
keyframeBuffer[ 2 ] = { 0.0, deaccelDuration, Easing::easeOutCubic };
keyframeCount = 3;
}
};