You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.0 KiB
31 lines
1.0 KiB
5 years ago
|
#pragma once
|
||
4 years ago
|
|
||
5 years ago
|
#include <map>
|
||
4 years ago
|
#include <QSoundEffect>
|
||
5 years ago
|
#include "cereal/gen/cpp/log.capnp.h"
|
||
5 years ago
|
|
||
5 years ago
|
typedef cereal::CarControl::HUDControl::AudibleAlert AudibleAlert;
|
||
5 years ago
|
|
||
5 years ago
|
class Sound {
|
||
|
public:
|
||
4 years ago
|
Sound();
|
||
|
void play(AudibleAlert alert);
|
||
|
void stop();
|
||
|
float volume = 0;
|
||
|
|
||
|
private:
|
||
4 years ago
|
std::map<AudibleAlert, std::pair<QString, int>> sound_map {
|
||
|
// AudibleAlert, (file path, loop count)
|
||
|
{AudibleAlert::CHIME_DISENGAGE, {"../assets/sounds/disengaged.wav", 0}},
|
||
|
{AudibleAlert::CHIME_ENGAGE, {"../assets/sounds/engaged.wav", 0}},
|
||
|
{AudibleAlert::CHIME_WARNING1, {"../assets/sounds/warning_1.wav", 0}},
|
||
|
{AudibleAlert::CHIME_WARNING2, {"../assets/sounds/warning_2.wav", 0}},
|
||
|
{AudibleAlert::CHIME_WARNING2_REPEAT, {"../assets/sounds/warning_2.wav", -1}},
|
||
|
{AudibleAlert::CHIME_WARNING_REPEAT, {"../assets/sounds/warning_repeat.wav", -1}},
|
||
|
{AudibleAlert::CHIME_ERROR, {"../assets/sounds/error.wav", 0}},
|
||
|
{AudibleAlert::CHIME_PROMPT, {"../assets/sounds/error.wav", 0}}
|
||
|
};
|
||
|
|
||
4 years ago
|
std::map<AudibleAlert, QSoundEffect> sounds;
|
||
5 years ago
|
};
|