]> git.sesse.net Git - nageru/blob - futatabi/futatabi_midi_mapping.proto
Log a warning when we kill a client that is not keeping up.
[nageru] / futatabi / futatabi_midi_mapping.proto
1 syntax = "proto2";
2
3 import "midi_mapping.proto";
4
5 message CameraMIDIMappingProto {
6         optional MIDIButtonProto button = 1;
7         optional int32 bank = 2;
8         optional MIDILightProto is_current = 3;
9 }
10
11 message MIDIMappingProto {
12         optional int32 num_controller_banks = 1 [default = 0];  // Max 5.
13
14         // Bank switching.
15         optional MIDIButtonProto prev_bank = 2;
16         optional MIDIButtonProto next_bank = 3;
17         optional MIDIButtonProto select_bank_1 = 4;
18         optional MIDIButtonProto select_bank_2 = 5;
19         optional MIDIButtonProto select_bank_3 = 6;
20         optional MIDIButtonProto select_bank_4 = 7;
21         optional MIDIButtonProto select_bank_5 = 8;
22         optional MIDILightProto bank_1_is_selected = 9;
23         optional MIDILightProto bank_2_is_selected = 10;
24         optional MIDILightProto bank_3_is_selected = 11;
25         optional MIDILightProto bank_4_is_selected = 12;
26         optional MIDILightProto bank_5_is_selected = 13;
27
28         // Controllers.
29         optional MIDIControllerProto jog = 16;
30         optional int32 jog_bank = 17;
31
32         optional MIDIControllerProto master_speed = 34;
33         optional int32 master_speed_bank = 35;
34         optional MIDIControllerProto master_speed_light = 42;  // NOTE: Controller, not light.
35         optional int32 master_speed_light_min = 43;
36         optional int32 master_speed_light_max = 44 [default=127];  // Inclusive.
37
38         // Buttons.
39         optional MIDIButtonProto preview = 18;
40         optional int32 preview_bank = 19;
41         optional MIDILightProto preview_playing = 41;
42         optional MIDILightProto preview_ready = 20;
43
44         optional MIDIButtonProto queue = 21;
45         optional int32 queue_bank = 22;
46         optional MIDILightProto queue_enabled = 23;
47
48         optional MIDIButtonProto play = 24;
49         optional int32 play_bank = 25;
50         optional MIDILightProto playing = 26;
51         optional MIDILightProto play_ready = 40;
52
53         optional MIDIButtonProto next = 45;
54         optional int32 next_button_bank = 46;
55         optional MIDILightProto next_ready = 47;
56
57         optional MIDIButtonProto toggle_lock = 36;
58         optional int32 toggle_lock_bank = 37;
59         optional MIDILightProto locked = 38;
60         optional MIDILightProto locked_blinking = 39;
61
62         optional MIDIButtonProto cue_in = 27;
63         optional int32 cue_in_bank = 28;
64         optional MIDILightProto cue_in_enabled = 29;  // In practice always true currently.
65
66         optional MIDIButtonProto cue_out = 30;
67         optional int32 cue_out_bank = 31;
68         optional MIDILightProto cue_out_enabled = 32;  // In practice always true currently.
69
70         // Camera buttons.
71         repeated CameraMIDIMappingProto camera = 33;
72 }