Mercurial > hg > opencollidoscope
comparison CollidoscopeApp/include/Messages.h @ 0:02467299402e
First import
CollidoscopeApp for Raspberry Pi
JackDevice
Teensy code for Collidoscope
author | Fiore Martin <f.martin@qmul.ac.uk> |
---|---|
date | Thu, 30 Jun 2016 14:50:06 +0200 |
parents | |
children | 7fb593d53361 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:02467299402e |
---|---|
1 #pragma once | |
2 | |
3 | |
4 enum class Command { | |
5 // message carrying info about one chunk of recorder audio. | |
6 WAVE_CHUNK, | |
7 // message sent when a new recording starts. The gui resets the wave upon receiving it. | |
8 WAVE_START, | |
9 | |
10 TRIGGER_UPDATE, | |
11 TRIGGER_END, | |
12 | |
13 NOTE_ON, | |
14 NOTE_OFF, | |
15 | |
16 LOOP_ON, | |
17 LOOP_OFF | |
18 }; | |
19 | |
20 /* Messages sent from the audio thread to the graphic wave. | |
21 This includes the wave chunks when the audio is recorder in the buffer and | |
22 the cursor position when the grains are reset. | |
23 */ | |
24 struct RecordWaveMsg | |
25 { | |
26 Command cmd; | |
27 std::size_t index; | |
28 float arg1; | |
29 float arg2; | |
30 }; | |
31 | |
32 | |
33 inline RecordWaveMsg makeRecordWaveMsg( Command cmd, std::size_t index, float arg1, float arg2 ) | |
34 { | |
35 RecordWaveMsg msg; | |
36 msg.cmd = cmd; | |
37 msg.index = index; | |
38 msg.arg1 = arg1; | |
39 msg.arg2 = arg2; | |
40 | |
41 return msg; | |
42 } | |
43 | |
44 | |
45 struct CursorTriggerMsg | |
46 { | |
47 Command cmd; | |
48 int synthID; | |
49 }; | |
50 | |
51 inline CursorTriggerMsg makeCursorTriggerMsg( Command cmd, std::uint8_t synthID ) | |
52 { | |
53 CursorTriggerMsg msg; | |
54 | |
55 msg.cmd = cmd; | |
56 msg.synthID = synthID; | |
57 | |
58 return msg; | |
59 } | |
60 | |
61 struct NoteMsg | |
62 { | |
63 Command cmd; | |
64 int midiNote; | |
65 double rate; | |
66 }; | |
67 | |
68 inline NoteMsg makeNoteMsg( Command cmd, int midiNote, double rate ) | |
69 { | |
70 NoteMsg msg; | |
71 | |
72 msg.cmd = cmd; | |
73 msg.midiNote = midiNote; | |
74 msg.rate = rate; | |
75 | |
76 return msg; | |
77 } |