| 207 | } |
| 208 | |
| 209 | engine::io::json::Value audio_summary_json(const engine::runtime::AudioBuffer & audio) { |
| 210 | const int64_t channels = std::max<int64_t>(1, audio.channels); |
| 211 | return engine::io::json::Value::make_object({ |
| 212 | {"sample_rate", number(static_cast<double>(audio.sample_rate))}, |
| 213 | {"channels", number(static_cast<double>(audio.channels))}, |
| 214 | {"samples", number(static_cast<double>(audio.samples.size()))}, |
| 215 | {"frames", number(static_cast<double>(audio.samples.size() / static_cast<size_t>(channels)))}, |
| 216 | }); |
| 217 | } |
| 218 | |
| 219 | engine::io::json::Value step_json( |
| 220 | const engine::runtime::TaskResult & result, |