sdl2dll
Loading...
Searching...
No Matches
sdl_music.h
1/*
2 * Clases para manejar música SDL_mixer
3 * Mix_LoadMUS
4 * Mix_FreeMusic
5 * Mix_PlayMusic
6 */
7
8#ifndef _SDL_MUSIC
9#define _SDL_MUSIC
10
11#include <SDL.h>
12#include <SDL_mixer.h>
13
14namespace sdl {
15
20class Music {
21protected:
22 Mix_Music *music;
24public:
27 Music() { music=NULL; }
33 Music(const char *file) {
34 music = Mix_LoadMUS(file);
35 }
41 Mix_FreeMusic(music);
42 }
50 void Load(const char *file) {
51 if(music) Mix_FreeMusic(music);
52 music = Mix_LoadMUS(file);
53 }
59 void Play(int loops) {
60 Mix_PlayMusic(music, loops);
61 }
68 int Volume(int volume) {
69 return Mix_VolumeMusic(volume);
70 }
74 void Pause() {
75 Mix_PauseMusic();
76 }
80 void Resume() {
81 Mix_ResumeMusic();
82 }
88 bool Paused() {
89 return Mix_PausedMusic();
90 }
95 void Halt() {
96 Mix_HaltMusic();
97 }
105 int FadeIn(int loops=0, int ms=1000) {
106 return Mix_FadeInMusic(music, loops, ms);
107 }
116 int FadeInPos(int loops=0, int ms=1000, double pos=0.0) {
117 return Mix_FadeInMusicPos(music, loops, ms, pos);
118 }
125 int FadeOut(int ms) {
126 return Mix_FadeOutMusic(ms);
127 }
133 Mix_Fading Fading() {
134 return Mix_FadingMusic();
135 }
136};
137} // namespace
138
139#endif // _SDL_MUSIC
Clase para cargar y reproducir archivos de audio con música.
Definition sdl_music.h:20
int FadeInPos(int loops=0, int ms=1000, double pos=0.0)
Reproduce un nuevo objeto musical, incrementando el volumen del audio, desde una posición inicial.
Definition sdl_music.h:116
int Volume(int volume)
Establece el volumen de reproducción.
Definition sdl_music.h:68
void Load(const char *file)
Carga un fichero de audio.
Definition sdl_music.h:50
~Music()
Destructor.
Definition sdl_music.h:40
void Pause()
Detiene la reproducción de la música.
Definition sdl_music.h:74
void Halt()
Detiene la reproducción de la música.
Definition sdl_music.h:95
void Resume()
Reanuda la reproducción de la música previamente pausada.
Definition sdl_music.h:80
Mix_Music * music
Definition sdl_music.h:22
bool Paused()
Consulta si un canal determinado está en pausa.
Definition sdl_music.h:88
int FadeIn(int loops=0, int ms=1000)
Reproduce un nuevo objeto musical, incrementando el volumen del audio.
Definition sdl_music.h:105
Music(const char *file)
Constructor que carga un archivo de audio.
Definition sdl_music.h:33
void Play(int loops)
Reproduce el audio.
Definition sdl_music.h:59
Music()
Constructor por defecto.
Definition sdl_music.h:27
int FadeOut(int ms)
Detiene el flujo de música después de desvanecerlo durante un tiempo especificado.
Definition sdl_music.h:125
Mix_Fading Fading()
Consulta el estado de desvanecimiento del flujo musical.
Definition sdl_music.h:133
Espacio con nombre para el wrapper de SDL2.
Definition sdl_music.h:14