source: roaraudio/roarclients/roarsin.c @ 669:90348e6a785f

Last change on this file since 669:90348e6a785f was 669:90348e6a785f, checked in by phi, 16 years ago

added license statements

File size: 1.7 KB
Line 
1//roarsin.c:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008
5 *
6 *  This file is part of roarclients a part of RoarAudio,
7 *  a cross-platform sound system for both, home and professional use.
8 *  See README for details.
9 *
10 *  This file is free software; you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License version 3
12 *  as published by the Free Software Foundation.
13 *
14 *  RoarAudio is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 *
19 *  You should have received a copy of the GNU General Public License
20 *  along with this software; see the file COPYING.  If not, write to
21 *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22 *
23 */
24
25#include <math.h>       /* sin() */
26#include <stdio.h>      /* *printf*() */
27#include <roaraudio.h>  /* libroar */
28
29int main (void) {
30 int rate     = ROAR_RATE_DEFAULT;
31 int bits     = 8;
32 int channels = 1; /* mono */
33 int codec    = ROAR_CODEC_DEFAULT;
34 float freq   = 523.2;            /* middle C */
35 float step   = M_PI*2*freq/rate; /* how much time per sample we have to encode ... */
36 float t      = 0; /* current time */
37 float length = 5; /* 5 sec */
38 int fh;
39 int i;
40 char out[1024];
41
42 if ( (fh = roar_simple_play(rate, channels, bits, codec, NULL, "sine gen")) == -1 ) {
43  fprintf(stderr, "Error: can not open playback!\n");
44  exit(1);
45 }
46
47 while (t < 2*M_PI*freq*length) {
48  for (i = 0; i < 1024; i++) {
49   out[i] = 127*sin(t);
50   t += step;
51  }
52  write(fh, out, 1024);
53 }
54
55 roar_simple_close(fh);
56
57 return 0;
58}
59
60//ll
Note: See TracBrowser for help on using the repository browser.