#include "AudioDevice.hpp" #include "Color.hpp" #include #include #include static std::function pingButtonHandler; void PingButton() { pingButtonHandler(); } #define GUI_VOLUMECONTROL_IMPLEMENTATION #include "VolumeControl.h" int main() { raylib::Window window(800, 600, "CS381 - Assignment 0"); raylib::AudioDevice audio; auto guiState = InitGuiVolumeControl(); raylib::Sound ping("audio/ping.wav"); raylib::Music music("audio/price-of-freedom.mp3"); raylib::Sound dialog("audio/crowd.wav"); music.Play(); dialog.Play(); // play ping sound when button is pressed auto lambdaPingButton = [&ping]() { ping.Play(); }; pingButtonHandler = lambdaPingButton; InitGuiVolumeControl(); while (!window.ShouldClose()) { window.BeginDrawing(); GuiVolumeControl(&guiState); window.ClearBackground(raylib::Color::RayWhite()); ping.SetVolume(guiState.SFXSliderValue / 100.0f); music.Update(); music.SetVolume(guiState.MusicSliderValue / 100.0f); dialog.SetVolume(guiState.DialogueSliderValue / 100.0f); window.EndDrawing(); } return 0; }