|
From: Martin R. <ru...@us...> - 2004-08-05 18:57:50
|
Update of /cvsroot/foo/foo/elkfoo/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31995 Modified Files: Makefile.am Added Files: elkfoo.h Removed Files: bpf.h context.h module.h pointer.h signals.h snd.h task.h tell.h Log Message: bundled all definitions into one elk extension export header --- signals.h DELETED --- --- tell.h DELETED --- --- module.h DELETED --- Index: Makefile.am =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/include/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 4 Aug 2004 07:15:13 -0000 1.1 --- Makefile.am 5 Aug 2004 18:57:41 -0000 1.2 *************** *** 6,23 **** NULL = extensionsdir = $(pkgincludedir)/extensions # we should have a complete elkfoo.h here extensions_HEADERS = \ $(NULL) ! noinst_HEADERS = \ ! bpf.h \ ! context.h \ ! module.h \ ! pointer.h \ ! signals.h \ ! snd.h \ ! task.h \ ! tell.h \ ! $(NULL) --- 6,25 ---- NULL = + pkgincludedir = @ELK_INC_DIR@ extensionsdir = $(pkgincludedir)/extensions # we should have a complete elkfoo.h here extensions_HEADERS = \ + elkfoo.h $(NULL) ! # noinst_HEADERS = \ ! # bpf.h \ ! # context.h \ ! # module.h \ ! # pointer.h \ ! # signals.h \ ! # snd.h \ ! # task.h \ ! # tell.h \ ! # $(NULL) --- context.h DELETED --- --- NEW FILE: elkfoo.h --- /* * elkfoo.h * * elkfoo extension header * */ /* * foo sound synthesis system * * (C)1993-2004 Gerhard Eckel, Ramon Gonzalez-Arroyo, IRCAM, ZKM * (C)2003-2004 Martin Rumori */ /* * This file is part of foo. * * foo is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * foo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with foo; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* $Id: elkfoo.h,v 1.1 2004/08/05 18:57:41 rumori Exp $ */ #ifndef FOO_ELKFOO_H_INCLUDED #define FOO_ELKFOO_H_INCLUDED /* * bpf */ struct S_Bpf { SchemeObject context; SchemeObject type; double offset; double length; id pointer; char reversed; }; #define BPF_T(x) ((struct S_Bpf *)POINTER(x)) extern int T_Bpf; /* * context */ struct S_Context { SchemeObject times; int channels; id pointer; }; #define CONTEXT_T(x) ((struct S_Context *)POINTER(x)) extern int T_Context; extern SchemeObject V_Context; extern int Write_Context(); extern int Read_Context(); SchemeObject Get_Context(void); /* * module */ struct S_Module { SchemeObject context; SchemeObject type; id pointer; }; #define MODULE_T(x) ((struct S_Module *)POINTER(x)) extern int T_Module; SchemeObject A_Make_Module(id class); /* * pointer */ struct S_Pointer { SchemeObject type; void *pointer; }; #define POINTER_T(x) ((struct S_Pointer *)POINTER(x)) extern int T_Pointer; extern SchemeObject A_Make_Pointer(); extern SchemeObject Null_Pointer; #define C_base 0 #define C_char (C_base + 1) #define C_short (C_base + 2) #define C_int (C_base + 3) #define C_long (C_base + 4) #define C_unsigned_char (C_base + 5) #define C_unsigned_short (C_base + 6) #define C_unsigned_int (C_base + 7) #define C_unsigned_long (C_base + 8) #define C_float (C_base + 9) #define C_double (C_base + 10) #define C_pointers (C_double + 1) #define C_VOID (C_pointers + 0) #define C_CHAR (C_pointers + 1) #define C_SHORT (C_pointers + 2) #define C_INT (C_pointers + 3) #define C_LONG (C_pointers + 4) #define C_UNSIGNED_CHAR (C_pointers + 5) #define C_UNSIGNED_SHORT (C_pointers + 6) #define C_UNSIGNED_INT (C_pointers + 7) #define C_UNSIGNED_LONG (C_pointers + 8) #define C_FLOAT (C_pointers + 9) #define C_DOUBLE (C_pointers + 10) #define C_ID (C_pointers + 11) #define C_CLASS (C_pointers + 12) #define C_SEL (C_pointers + 13) #define C_STRUCT (C_pointers + 14) #define C_UNION (C_pointers + 15) #define C_ARRAY (C_pointers + 16) #define C_undef (C_pointers + 17) #define C_CHARPTR (C_pointers + 18) #define C_UNDEF (C_pointers + 19) #define C_last C_UNDEF /* * signal */ struct S_Signal { SchemeObject vector; double value; char constant; char terminal; }; #define SIGNAL_T(x) ((struct S_Signal *)POINTER(x)) extern int T_Signal; #define FLONUM_FORMAT "%.15g" SchemeObject A_Make_Terminal_Signal(SchemeObject m, int c, double v); SchemeObject A_Make_Signal_Terminal(SchemeObject signal); SchemeObject Signal_Constantp(SchemeObject signal); /* * snd */ struct S_Snd { SchemeObject context; SchemeObject type; SchemeObject name; SchemeObject format; SchemeObject filetype; int channels; int channel; double samplerate; double offset; double length; id pointer; char reversed; }; #define SND_T(x) ((struct S_Snd *)POINTER(x)) extern int T_Snd; #define SND_MIX_FILE_NAME "mixfloat.imx" #define SND_MIX_LOCK_NAME "mixlock" struct symbol { char *name; int val; }; enum { SND_CHAR, SND_SHORT, SND_LONG, SND_FLOAT, SND_DOUBLE, SND_INCREMENTAL }; enum { SND_FILETYPE_WAV, SND_FILETYPE_AIFF, SND_FILETYPE_SND, SND_FILETYPE_PAF, SND_FILETYPE_SVX, SND_FILETYPE_NIST, SND_FILETYPE_VOC, SND_FILETYPE_IRCAM, SND_FILETYPE_WAV64, SND_FILETYPE_MAT4, SND_FILETYPE_MAT5, SND_FILETYPE_PVF, SND_FILETYPE_XI }; extern struct symbol sndTypes[]; extern struct symbol sndFileTypes[]; /* * task */ struct S_Task { SchemeObject context; SchemeObject output; int reference; int offset; int position; double samplingrate; int buffersize; char incremental; char type; }; #define TASK_T(x) ((struct S_Task *)POINTER(x)) extern int T_Task; #define DEFAULT_SAMPLING_RATE 44100 #define DEFAULT_BLOCK_SIZE 1024 /* * tell */ #define MAXFRAMESIZE 1024 typedef union _objc_return { /* 4 bytes on stack */ char c; short s; int i; long l; float f; void *V; char *C; short *S; int *I; long *L; float *F; double *D; /* 8 bytes on stack */ double d; char chars[8]; short shorts[4]; int ints[2]; } objc_return; #endif /* #ifndef FOO_ELKFOO_H_INCLUDED */ --- snd.h DELETED --- --- bpf.h DELETED --- --- pointer.h DELETED --- --- task.h DELETED --- |