cdp_protocol/
web_audio.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: WebAudio
2#[allow(unused_imports)]
3use super::types::*;
4#[allow(unused_imports)]
5use serde::{Deserialize, Serialize};
6#[allow(unused_imports)]
7use serde_json::Value as Json;
8pub type GraphObjectId = String;
9pub type NodeType = String;
10pub type ParamType = String;
11#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
12pub enum ContextType {
13    #[serde(rename = "realtime")]
14    Realtime,
15    #[serde(rename = "offline")]
16    Offline,
17}
18#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
19pub enum ContextState {
20    #[serde(rename = "suspended")]
21    Suspended,
22    #[serde(rename = "running")]
23    Running,
24    #[serde(rename = "closed")]
25    Closed,
26    #[serde(rename = "interrupted")]
27    Interrupted,
28}
29#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
30pub enum ChannelCountMode {
31    #[serde(rename = "clamped-max")]
32    ClampedMax,
33    #[serde(rename = "explicit")]
34    Explicit,
35    #[serde(rename = "max")]
36    Max,
37}
38#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
39pub enum ChannelInterpretation {
40    #[serde(rename = "discrete")]
41    Discrete,
42    #[serde(rename = "speakers")]
43    Speakers,
44}
45#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
46pub enum AutomationRate {
47    #[serde(rename = "a-rate")]
48    ARate,
49    #[serde(rename = "k-rate")]
50    KRate,
51}
52#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
53pub struct ContextRealtimeData {
54    #[serde(default)]
55    #[serde(rename = "currentTime")]
56    pub current_time: JsFloat,
57    #[serde(default)]
58    #[serde(rename = "renderCapacity")]
59    pub render_capacity: JsFloat,
60    #[serde(default)]
61    #[serde(rename = "callbackIntervalMean")]
62    pub callback_interval_mean: JsFloat,
63    #[serde(default)]
64    #[serde(rename = "callbackIntervalVariance")]
65    pub callback_interval_variance: JsFloat,
66}
67#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
68pub struct BaseAudioContext {
69    #[serde(rename = "contextId")]
70    pub context_id: GraphObjectId,
71    #[serde(rename = "contextType")]
72    pub context_type: ContextType,
73    #[serde(rename = "contextState")]
74    pub context_state: ContextState,
75    #[serde(skip_serializing_if = "Option::is_none")]
76    #[serde(rename = "realtimeData")]
77    pub realtime_data: Option<ContextRealtimeData>,
78    #[serde(default)]
79    #[serde(rename = "callbackBufferSize")]
80    pub callback_buffer_size: JsFloat,
81    #[serde(default)]
82    #[serde(rename = "maxOutputChannelCount")]
83    pub max_output_channel_count: JsFloat,
84    #[serde(default)]
85    #[serde(rename = "sampleRate")]
86    pub sample_rate: JsFloat,
87}
88#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
89pub struct AudioListener {
90    #[serde(rename = "listenerId")]
91    pub listener_id: GraphObjectId,
92    #[serde(rename = "contextId")]
93    pub context_id: GraphObjectId,
94}
95#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
96pub struct AudioNode {
97    #[serde(rename = "nodeId")]
98    pub node_id: GraphObjectId,
99    #[serde(rename = "contextId")]
100    pub context_id: GraphObjectId,
101    #[serde(rename = "nodeType")]
102    pub node_type: NodeType,
103    #[serde(default)]
104    #[serde(rename = "numberOfInputs")]
105    pub number_of_inputs: JsFloat,
106    #[serde(default)]
107    #[serde(rename = "numberOfOutputs")]
108    pub number_of_outputs: JsFloat,
109    #[serde(default)]
110    #[serde(rename = "channelCount")]
111    pub channel_count: JsFloat,
112    #[serde(rename = "channelCountMode")]
113    pub channel_count_mode: ChannelCountMode,
114    #[serde(rename = "channelInterpretation")]
115    pub channel_interpretation: ChannelInterpretation,
116}
117#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
118pub struct AudioParam {
119    #[serde(rename = "paramId")]
120    pub param_id: GraphObjectId,
121    #[serde(rename = "nodeId")]
122    pub node_id: GraphObjectId,
123    #[serde(rename = "contextId")]
124    pub context_id: GraphObjectId,
125    #[serde(rename = "paramType")]
126    pub param_type: ParamType,
127    #[serde(rename = "rate")]
128    pub rate: AutomationRate,
129    #[serde(default)]
130    #[serde(rename = "defaultValue")]
131    pub default_value: JsFloat,
132    #[serde(default)]
133    #[serde(rename = "minValue")]
134    pub min_value: JsFloat,
135    #[serde(default)]
136    #[serde(rename = "maxValue")]
137    pub max_value: JsFloat,
138}
139#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
140#[serde(rename_all = "camelCase")]
141pub struct Enable(pub Option<serde_json::Value>);
142#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
143#[serde(rename_all = "camelCase")]
144pub struct Disable(pub Option<serde_json::Value>);
145#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
146pub struct GetRealtimeData {
147    #[serde(rename = "contextId")]
148    pub context_id: GraphObjectId,
149}
150#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
151#[serde(rename_all = "camelCase")]
152pub struct EnableReturnObject {}
153#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
154#[serde(rename_all = "camelCase")]
155pub struct DisableReturnObject {}
156#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
157pub struct GetRealtimeDataReturnObject {
158    #[serde(rename = "realtimeData")]
159    pub realtime_data: ContextRealtimeData,
160}
161impl Method for Enable {
162    const NAME: &'static str = "WebAudio.enable";
163    type ReturnObject = EnableReturnObject;
164}
165impl Method for Disable {
166    const NAME: &'static str = "WebAudio.disable";
167    type ReturnObject = DisableReturnObject;
168}
169impl Method for GetRealtimeData {
170    const NAME: &'static str = "WebAudio.getRealtimeData";
171    type ReturnObject = GetRealtimeDataReturnObject;
172}
173pub mod events {
174    #[allow(unused_imports)]
175    use super::super::types::*;
176    #[allow(unused_imports)]
177    use serde::{Deserialize, Serialize};
178    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
179    pub struct ContextCreatedEvent {
180        pub params: ContextCreatedEventParams,
181    }
182    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
183    pub struct ContextCreatedEventParams {
184        #[serde(rename = "context")]
185        pub context: super::BaseAudioContext,
186    }
187    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
188    pub struct ContextWillBeDestroyedEvent {
189        pub params: ContextWillBeDestroyedEventParams,
190    }
191    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
192    pub struct ContextWillBeDestroyedEventParams {
193        #[serde(rename = "contextId")]
194        pub context_id: super::GraphObjectId,
195    }
196    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
197    pub struct ContextChangedEvent {
198        pub params: ContextChangedEventParams,
199    }
200    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
201    pub struct ContextChangedEventParams {
202        #[serde(rename = "context")]
203        pub context: super::BaseAudioContext,
204    }
205    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
206    pub struct AudioListenerCreatedEvent {
207        pub params: AudioListenerCreatedEventParams,
208    }
209    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
210    pub struct AudioListenerCreatedEventParams {
211        #[serde(rename = "listener")]
212        pub listener: super::AudioListener,
213    }
214    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
215    pub struct AudioListenerWillBeDestroyedEvent {
216        pub params: AudioListenerWillBeDestroyedEventParams,
217    }
218    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
219    pub struct AudioListenerWillBeDestroyedEventParams {
220        #[serde(rename = "contextId")]
221        pub context_id: super::GraphObjectId,
222        #[serde(rename = "listenerId")]
223        pub listener_id: super::GraphObjectId,
224    }
225    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
226    pub struct AudioNodeCreatedEvent {
227        pub params: AudioNodeCreatedEventParams,
228    }
229    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
230    pub struct AudioNodeCreatedEventParams {
231        #[serde(rename = "node")]
232        pub node: super::AudioNode,
233    }
234    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
235    pub struct AudioNodeWillBeDestroyedEvent {
236        pub params: AudioNodeWillBeDestroyedEventParams,
237    }
238    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
239    pub struct AudioNodeWillBeDestroyedEventParams {
240        #[serde(rename = "contextId")]
241        pub context_id: super::GraphObjectId,
242        #[serde(rename = "nodeId")]
243        pub node_id: super::GraphObjectId,
244    }
245    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
246    pub struct AudioParamCreatedEvent {
247        pub params: AudioParamCreatedEventParams,
248    }
249    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
250    pub struct AudioParamCreatedEventParams {
251        #[serde(rename = "param")]
252        pub param: super::AudioParam,
253    }
254    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
255    pub struct AudioParamWillBeDestroyedEvent {
256        pub params: AudioParamWillBeDestroyedEventParams,
257    }
258    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
259    pub struct AudioParamWillBeDestroyedEventParams {
260        #[serde(rename = "contextId")]
261        pub context_id: super::GraphObjectId,
262        #[serde(rename = "nodeId")]
263        pub node_id: super::GraphObjectId,
264        #[serde(rename = "paramId")]
265        pub param_id: super::GraphObjectId,
266    }
267    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
268    pub struct NodesConnectedEvent {
269        pub params: NodesConnectedEventParams,
270    }
271    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
272    pub struct NodesConnectedEventParams {
273        #[serde(rename = "contextId")]
274        pub context_id: super::GraphObjectId,
275        #[serde(rename = "sourceId")]
276        pub source_id: super::GraphObjectId,
277        #[serde(rename = "destinationId")]
278        pub destination_id: super::GraphObjectId,
279        #[serde(skip_serializing_if = "Option::is_none")]
280        #[serde(default)]
281        #[serde(rename = "sourceOutputIndex")]
282        pub source_output_index: Option<JsFloat>,
283        #[serde(skip_serializing_if = "Option::is_none")]
284        #[serde(default)]
285        #[serde(rename = "destinationInputIndex")]
286        pub destination_input_index: Option<JsFloat>,
287    }
288    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
289    pub struct NodesDisconnectedEvent {
290        pub params: NodesDisconnectedEventParams,
291    }
292    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
293    pub struct NodesDisconnectedEventParams {
294        #[serde(rename = "contextId")]
295        pub context_id: super::GraphObjectId,
296        #[serde(rename = "sourceId")]
297        pub source_id: super::GraphObjectId,
298        #[serde(rename = "destinationId")]
299        pub destination_id: super::GraphObjectId,
300        #[serde(skip_serializing_if = "Option::is_none")]
301        #[serde(default)]
302        #[serde(rename = "sourceOutputIndex")]
303        pub source_output_index: Option<JsFloat>,
304        #[serde(skip_serializing_if = "Option::is_none")]
305        #[serde(default)]
306        #[serde(rename = "destinationInputIndex")]
307        pub destination_input_index: Option<JsFloat>,
308    }
309    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
310    pub struct NodeParamConnectedEvent {
311        pub params: NodeParamConnectedEventParams,
312    }
313    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
314    pub struct NodeParamConnectedEventParams {
315        #[serde(rename = "contextId")]
316        pub context_id: super::GraphObjectId,
317        #[serde(rename = "sourceId")]
318        pub source_id: super::GraphObjectId,
319        #[serde(rename = "destinationId")]
320        pub destination_id: super::GraphObjectId,
321        #[serde(skip_serializing_if = "Option::is_none")]
322        #[serde(default)]
323        #[serde(rename = "sourceOutputIndex")]
324        pub source_output_index: Option<JsFloat>,
325    }
326    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
327    pub struct NodeParamDisconnectedEvent {
328        pub params: NodeParamDisconnectedEventParams,
329    }
330    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
331    pub struct NodeParamDisconnectedEventParams {
332        #[serde(rename = "contextId")]
333        pub context_id: super::GraphObjectId,
334        #[serde(rename = "sourceId")]
335        pub source_id: super::GraphObjectId,
336        #[serde(rename = "destinationId")]
337        pub destination_id: super::GraphObjectId,
338        #[serde(skip_serializing_if = "Option::is_none")]
339        #[serde(default)]
340        #[serde(rename = "sourceOutputIndex")]
341        pub source_output_index: Option<JsFloat>,
342    }
343}