Skip to content

Latest commit

 

History

History
69 lines (54 loc) · 2.19 KB

wavestream.h

File metadata and controls

69 lines (54 loc) · 2.19 KB
 
Oct 21, 1999
Oct 21, 1999
1
/*
Dec 31, 2011
Dec 31, 2011
2
SDL_mixer: An audio mixer library based on the SDL library
Jan 2, 2016
Jan 2, 2016
3
Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
Dec 31, 2011
Dec 31, 2011
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Oct 21, 1999
Oct 21, 1999
20
21
*/
Dec 14, 2001
Dec 14, 2001
22
/* $Id$ */
Dec 14, 2001
Dec 14, 2001
23
Jul 7, 2015
Jul 7, 2015
24
/* This file supports streaming WAV files */
Oct 21, 1999
Oct 21, 1999
25
Jul 7, 2015
Jul 7, 2015
26
27
28
29
30
31
32
typedef struct {
SDL_bool active;
Uint32 start;
Uint32 stop;
Uint32 initial_play_count;
Uint32 current_play_count;
} WAVLoopPoint;
Oct 21, 1999
Oct 21, 1999
33
34
typedef struct {
Jun 2, 2013
Jun 2, 2013
35
36
SDL_RWops *src;
SDL_bool freesrc;
Jul 7, 2015
Jul 7, 2015
37
38
39
SDL_AudioSpec spec;
Sint64 start;
Sint64 stop;
May 22, 2013
May 22, 2013
40
SDL_AudioCVT cvt;
Jul 7, 2015
Jul 7, 2015
41
42
int numloops;
WAVLoopPoint *loops;
Oct 21, 1999
Oct 21, 1999
43
44
45
46
47
48
49
50
51
52
} WAVStream;
/* Initialize the WAVStream player, with the given mixer settings
This function returns 0, or -1 if there was an error.
*/
extern int WAVStream_Init(SDL_AudioSpec *mixer);
/* Unimplemented */
extern void WAVStream_SetVolume(int volume);
Feb 26, 2008
Feb 26, 2008
53
/* Load a WAV stream from an SDL_RWops object */
Jun 2, 2013
Jun 2, 2013
54
extern WAVStream *WAVStream_LoadSong_RW(SDL_RWops *src, int freesrc);
Feb 26, 2008
Feb 26, 2008
55
Oct 21, 1999
Oct 21, 1999
56
57
58
59
/* Start playback of a given WAV stream */
extern void WAVStream_Start(WAVStream *wave);
/* Play some of a stream previously started with WAVStream_Start() */
Oct 2, 2009
Oct 2, 2009
60
extern int WAVStream_PlaySome(Uint8 *stream, int len);
Oct 21, 1999
Oct 21, 1999
61
62
63
64
65
66
67
68
/* Stop playback of a stream previously started with WAVStream_Start() */
extern void WAVStream_Stop(void);
/* Close the given WAV stream */
extern void WAVStream_FreeSong(WAVStream *wave);
/* Return non-zero if a stream is currently playing */
Jul 3, 2000
Jul 3, 2000
69
extern int WAVStream_Active(void);