sound.hpp 823 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef __SOUND_HPP_
  2. #define __SOUND_HPP_
  3. /* options are passed via command line */
  4. #define SFX_INITIALIZED 1
  5. #define MUSIC_INITIALIZED 2
  6. int sound_init(int argc, char **argv);
  7. void sound_uninit();
  8. void print_sound_options(); // print the options avaible for sound
  9. class sound_effect
  10. {
  11. long size;
  12. void *data;
  13. public :
  14. sound_effect(char *filename);
  15. void play(int volume=127, int pitch=128, int panpot=128);
  16. ~sound_effect();
  17. } ;
  18. class song
  19. {
  20. char *Name;
  21. unsigned char *data;
  22. unsigned long song_id;
  23. public :
  24. char *name() { return Name; }
  25. song(char *filename);
  26. void play(unsigned char volume=127);
  27. void stop(long fadeout_time=0); // time in ms
  28. int playing();
  29. void set_volume(int volume);
  30. ~song();
  31. } ;
  32. #endif