dynamic_mp3.h
author Sam Lantinga <slouken@libsdl.org>
Sun, 08 Nov 2009 18:40:07 +0000
changeset 474 a2c238c0c4b2
parent 470 5cebd6c5be2d
child 518 8bc9b5fd2aae
permissions -rw-r--r--
Don't break binary compatibility!
     1 /*
     2     SDL_mixer:  An audio mixer library based on the SDL library
     3     Copyright (C) 1997-2009 Sam Lantinga
     4 
     5     This library is free software; you can redistribute it and/or
     6     modify it under the terms of the GNU Library General Public
     7     License as published by the Free Software Foundation; either
     8     version 2 of the License, or (at your option) any later version.
     9 
    10     This library is distributed in the hope that it will be useful,
    11     but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13     Library General Public License for more details.
    14 
    15     You should have received a copy of the GNU Library General Public
    16     License along with this library; if not, write to the Free
    17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    18 
    19     Sam Lantinga
    20     slouken@libsdl.org
    21 */
    22 
    23 #ifdef MP3_MUSIC
    24 #include "smpeg.h"
    25 
    26 typedef struct {
    27 	int loaded;
    28 	void *handle;
    29 	void (*SMPEG_actualSpec)( SMPEG *mpeg, SDL_AudioSpec *spec );
    30 	void (*SMPEG_delete)( SMPEG* mpeg );
    31 	void (*SMPEG_enableaudio)( SMPEG* mpeg, int enable );
    32 	void (*SMPEG_enablevideo)( SMPEG* mpeg, int enable );
    33 	SMPEG* (*SMPEG_new)(const char *file, SMPEG_Info* info, int sdl_audio);
    34 	SMPEG* (*SMPEG_new_rwops)(SDL_RWops *src, SMPEG_Info* info, int sdl_audio);
    35 	void (*SMPEG_play)( SMPEG* mpeg );
    36 	int (*SMPEG_playAudio)( SMPEG *mpeg, Uint8 *stream, int len );
    37 	void (*SMPEG_rewind)( SMPEG* mpeg );
    38 	void (*SMPEG_setvolume)( SMPEG* mpeg, int volume );
    39 	void (*SMPEG_skip)( SMPEG* mpeg, float seconds );
    40 	SMPEGstatus (*SMPEG_status)( SMPEG* mpeg );
    41 	void (*SMPEG_stop)( SMPEG* mpeg );
    42 } smpeg_loader;
    43 
    44 extern smpeg_loader smpeg;
    45 
    46 #endif /* MUSIC_MP3 */
    47 
    48 extern int Mix_InitMP3();
    49 extern void Mix_QuitMP3();