Error code unification.
[ahxm.git] / out_sgi.c
blob17c2aaf63122bfdf6930277a4e72e2b8feadfa3c
1 /*
3 PROGRAM_NAME PROGRAM_VERSION - PROGRAM_DESCRIPTION
5 Copyright (C) 2003 Angel Ortega <angel@triptico.com>
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 http://www.triptico.com
25 #include <stdio.h>
26 #include <dmedia/audio.h>
28 #include "output.h"
30 /*******************
31 Data
32 ********************/
34 extern int _frequency;
36 /* audio configuration */
37 static ALconfig ac;
39 /* audio port */
40 static ALport ap;
43 /*******************
44 Code
45 ********************/
47 int _out_open_sgi(char * file)
49 ac=alNewConfig();
51 if(!ac) return(-100);
53 /* set stereo, 16 bit, signed */
54 alSetChannels(ac, AL_STEREO);
55 alSetWidth(ac, AL_SAMPLE_16);
56 alSetSampFmt(ac, AL_SAMPFMT_TWOSCOMP);
58 alSetDevice(ac, AL_DEFAULT_OUTPUT);
60 ap=alOpenPort("Ann Hell", "w", ac);
62 if(!ap) return(-101);
64 return(0);
68 int _out_write_sgi(int lsample, int rsample)
70 short buf[2];
72 buf[0]=(short) lsample;
73 buf[1]=(short) rsample;
75 alWriteFrames(ap, buf, 2);
77 return(0);
81 int _out_close_sgi(void)
83 alClosePort(ap);
84 alFreeConfig(ac);
86 return(0);