| 244 | }; |
| 245 | |
| 246 | struct audio_stop final : public Command { |
| 247 | CMD_NAME("audio/stop") |
| 248 | CMD_ICON(button_stop) |
| 249 | STR_MENU("Stop playing") |
| 250 | STR_DISP("Stop playing") |
| 251 | STR_HELP("Stop audio and video playback") |
| 252 | CMD_TYPE(COMMAND_VALIDATE) |
| 253 | |
| 254 | bool Validate(const agi::Context *c) override { |
| 255 | return c->audioController->IsPlaying(); |
| 256 | } |
| 257 | |
| 258 | void operator()(agi::Context *c) override { |
| 259 | c->audioController->Stop(); |
| 260 | c->videoController->Stop(); |
| 261 | } |
| 262 | }; |
| 263 | |
| 264 | struct audio_play_before final : public validate_audio_open { |
| 265 | CMD_NAME("audio/play/selection/before") |