sdl2dll
Loading...
Searching...
No Matches
sdl_chunk.h
1/*
2 * Clases para manejar Chunk de SDL_mixer
3 * Mix_LoadWAV
4 * Mix_FreeChunk
5 * Mix_PlayChannel
6 */
7
8#ifndef _SDL_CHUNK
9#define _SDL_CHUNK
10
11#include <SDL.h>
12#include <SDL_mixer.h>
13
14namespace sdl {
15
19class Chunk {
20protected:
21 Mix_Chunk *chunk;
22 int channel;
24public:
28 Chunk() { chunk=NULL; }
34 Chunk(const char *file) {
35 chunk = Mix_LoadWAV(file);
36 }
43 Mix_FreeChunk(chunk);
44 }
52 int Play(int ch=-1, int loops=0) {
53 channel = Mix_PlayChannel(ch, chunk, loops);
54 return channel;
55 }
62 int MasterVolumen(int volumen) {
63 return Mix_MasterVolume(volumen);
64 }
71 int Volumen(int volumen) {
72 return Mix_Volume(channel, volumen);
73 }
77 void Pausa() {
78 Mix_Pause(channel);
79 }
83 void Resume() {
84 Mix_Resume(channel);
85 }
91 bool Pausado() {
92 return Mix_Paused(channel);
93 }
99 int Halt() {
100 return Mix_HaltChannel(channel);
101 }
109 int FadeIn(int loops=0, int ms=1000) {
110 return Mix_FadeInChannel(channel, chunk, loops, ms);
111 }
120 int FadeInTimed(int loops=0, int ms=1000, int ticks=-1) {
121 return Mix_FadeInChannelTimed(channel, chunk, loops, ms, ticks);
122 }
129 int FadeOut(int ms) {
130 return Mix_FadeOutChannel(channel, ms);
131 }
137 Mix_Fading Fading() {
138 return Mix_FadingChannel(channel);
139 }
148 int SetPosition(Sint16 angle, Uint8 distance) {
149 return Mix_SetPosition(channel, angle, distance);
150 }
151};
152} // namespace
153
154#endif // _SDL_CHUNK
155
Encapsula un sonido.
Definition sdl_chunk.h:19
~Chunk()
Destructor.
Definition sdl_chunk.h:42
Mix_Fading Fading()
Consulta el estado de desvanecimiento del canal actual.
Definition sdl_chunk.h:137
int FadeInTimed(int loops=0, int ms=1000, int ticks=-1)
Reproduce un fragmento de audio en el canal actual, incrementando el volumen del audio,...
Definition sdl_chunk.h:120
Chunk()
Constructor por defecto.
Definition sdl_chunk.h:28
int MasterVolumen(int volumen)
Valor del volumen maestro a establecer para todos los canales.
Definition sdl_chunk.h:62
int FadeIn(int loops=0, int ms=1000)
Reproduce un nuevo objeto musical, incrementando el volumen del audio.
Definition sdl_chunk.h:109
int FadeOut(int ms)
Detiene el canal actual después de desvanecerlo durante un tiempo especificado.
Definition sdl_chunk.h:129
int SetPosition(Sint16 angle, Uint8 distance)
Establece la posición espacial de un canal.
Definition sdl_chunk.h:148
Mix_Chunk * chunk
Definition sdl_chunk.h:21
int Play(int ch=-1, int loops=0)
Reproduce el sonido.
Definition sdl_chunk.h:52
int channel
Definition sdl_chunk.h:22
int Halt()
Detiene el sonido en el canal actual.
Definition sdl_chunk.h:99
void Pausa()
Detiene la reproducción de un sonido en el canal actual.
Definition sdl_chunk.h:77
bool Pausado()
Averigua si el sonido del canal actual está pausado.
Definition sdl_chunk.h:91
int Volumen(int volumen)
Establece el volumen para la reproducción de sonidos en un canal.
Definition sdl_chunk.h:71
void Resume()
Restablece la reproducción del sonido en el canal actual.
Definition sdl_chunk.h:83
Chunk(const char *file)
Constructor.
Definition sdl_chunk.h:34
Espacio con nombre para el wrapper de SDL2.
Definition sdl_music.h:14