aboutsummaryrefslogtreecommitdiffstats
path: root/examples/altonegen.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/altonegen.c')
-rw-r--r--examples/altonegen.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/examples/altonegen.c b/examples/altonegen.c
index 628e695d..553bc996 100644
--- a/examples/altonegen.c
+++ b/examples/altonegen.c
@@ -82,7 +82,10 @@ static void ApplySin(ALfloat *data, ALdouble g, ALuint srate, ALuint freq)
ALdouble smps_per_cycle = (ALdouble)srate / freq;
ALuint i;
for(i = 0;i < srate;i++)
- data[i] += (ALfloat)(sin(i/smps_per_cycle * 2.0*M_PI) * g);
+ {
+ ALdouble ival;
+ data[i] += (ALfloat)(sin(modf(i/smps_per_cycle, &ival) * 2.0*M_PI) * g);
+ }
}
/* Generates waveforms using additive synthesis. Each waveform is constructed
@@ -91,13 +94,13 @@ static void ApplySin(ALfloat *data, ALdouble g, ALuint srate, ALuint freq)
static ALuint CreateWave(enum WaveType type, ALuint freq, ALuint srate)
{
ALuint seed = 22222;
- ALint data_size;
+ ALuint data_size;
ALfloat *data;
ALuint buffer;
ALenum err;
ALuint i;
- data_size = srate * sizeof(ALfloat);
+ data_size = (ALuint)(srate * sizeof(ALfloat));
data = calloc(1, data_size);
switch(type)
{
@@ -142,7 +145,7 @@ static ALuint CreateWave(enum WaveType type, ALuint freq, ALuint srate)
/* Buffer the audio data into a new buffer object. */
buffer = 0;
alGenBuffers(1, &buffer);
- alBufferData(buffer, AL_FORMAT_MONO_FLOAT32, data, data_size, srate);
+ alBufferData(buffer, AL_FORMAT_MONO_FLOAT32, data, (ALsizei)data_size, (ALsizei)srate);
free(data);
/* Check if an error occured, and clean up if so. */
@@ -257,7 +260,7 @@ int main(int argc, char *argv[])
srate = dev_rate;
/* Load the sound into a buffer. */
- buffer = CreateWave(wavetype, tone_freq, srate);
+ buffer = CreateWave(wavetype, (ALuint)tone_freq, (ALuint)srate);
if(!buffer)
{
CloseAL();
@@ -271,7 +274,7 @@ int main(int argc, char *argv[])
/* Create the source to play the sound with. */
source = 0;
alGenSources(1, &source);
- alSourcei(source, AL_BUFFER, buffer);
+ alSourcei(source, AL_BUFFER, (ALint)buffer);
assert(alGetError()==AL_NO_ERROR && "Failed to setup sound source");
/* Play the sound for a while. */