summaryrefslogtreecommitdiffstats
path: root/apps/plugins/sdl/SDL_mixer/music_modplug.h
blob: 92cbafd0949be6353eafe9bcc6015e3180f6dd8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifdef MODPLUG_MUSIC

#include "modplug.h"
#include "SDL_rwops.h"
#include "SDL_audio.h"
#include "SDL_mixer.h"

typedef struct {
	ModPlugFile *file;
	int playing;
} modplug_data;

int modplug_init(SDL_AudioSpec *mixer);

/* Uninitialize the music players */
void modplug_exit(void);

/* Set the volume for a modplug stream */
void modplug_setvolume(modplug_data *music, int volume);

/* Load a modplug stream from an SDL_RWops object */
modplug_data *modplug_new_RW(SDL_RWops *rw, int freerw);

/* Start playback of a given modplug stream */
void modplug_play(modplug_data *music);

/* Return non-zero if a stream is currently playing */
int modplug_playing(modplug_data *music);

/* Play some of a stream previously started with modplug_play() */
int modplug_playAudio(modplug_data *music, Uint8 *stream, int len);

/* Stop playback of a stream previously started with modplug_play() */
void modplug_stop(modplug_data *music);

/* Close the given modplug stream */
void modplug_delete(modplug_data *music);

/* Jump (seek) to a given position (time is in seconds) */
void modplug_jump_to_time(modplug_data *music, double time);

#endif