sound.h 900 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. typedef enum {
  5. SoundGeneratorModePlay,
  6. SoundGeneratorModeStop,
  7. } SoundGeneratorMode;
  8. typedef enum {
  9. SoundGeneratorSoundBeep,
  10. SoundGeneratorSoundTone,
  11. SoundGeneratorSoundNoise,
  12. } SoundGeneratorSound;
  13. typedef struct SoundGenerator SoundGenerator;
  14. SoundGenerator* sound_generator_alloc();
  15. void sound_generator_free(SoundGenerator* sound_generator);
  16. void sound_generator_set_mode(SoundGenerator* sound_generator, SoundGeneratorMode mode);
  17. void sound_generator_start(SoundGenerator* sound_generator);
  18. void sound_generator_stop(SoundGenerator* sound_generator);
  19. void sound_generator_set_sound(SoundGenerator* sound_generator, SoundGeneratorSound sound);
  20. void sound_generator_set_frequency(SoundGenerator* sound_generator, uint16_t frequency);
  21. void sound_generator_set_volume(SoundGenerator* sound_generator, uint8_t volume);