]> git.sesse.net Git - nageru/blob - state.proto
Write 1.4.0 changelog.
[nageru] / state.proto
1 // Used to serialize state between runs. Currently only audio input mappings,
2 // but in theory we could do the entire mix, video inputs, etc.
3
4 syntax = "proto2";
5
6 // Similar to DeviceSpec, but only devices that are used are stored,
7 // and contains additional information that will help us try to map
8 // to the right device even if the devices have moved around.
9 message DeviceSpecProto {
10         // Members from DeviceSpec itself.
11         enum InputSourceType { SILENCE = 0; CAPTURE_CARD = 1; ALSA_INPUT = 2; };
12         optional InputSourceType type = 1;
13         optional int32 index = 2;
14
15         // Additional information.
16         optional string display_name = 3;
17         optional string alsa_name = 4;  // Only for ALSA devices.
18         optional string alsa_info = 5;  // Only for ALSA devices.
19         optional int32 num_channels = 6;  // Only for ALSA devices.
20         optional string address = 7;  // Only for ALSA devices.
21 }
22
23 // Corresponds to InputMapping::Bus.
24 message BusProto {
25         optional string name = 1;
26         optional int32 device_index = 2;  // Index into the "devices" array.
27         optional int32 source_channel_left = 3;
28         optional int32 source_channel_right = 4;
29 }
30
31 // Corresponds to InputMapping.
32 message InputMappingProto {
33         repeated DeviceSpecProto device = 1;
34         repeated BusProto bus = 2;
35 }