tclcsound.h

Go to the documentation of this file.
00001 /*
00002   Copyright (C) 2005 Victor Lazzarini
00003 
00004   This file is part of Csound.
00005 
00006   The Csound Library is free software; you can redistribute it
00007   and/or modify it under the terms of the GNU Lesser General Public
00008   License as published by the Free Software Foundation; either
00009   version 2.1 of the License, or (at your option) any later version.
00010 
00011   Csound is distributed in the hope that it will be useful,
00012   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014   GNU Lesser General Public License for more details.
00015 
00016   You should have received a copy of the GNU Lesser General Public
00017   License along with Csound; if not, write to the Free Software
00018   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00019   02111-1307 USA
00020 */
00021 
00022 #ifndef TCLCSOUND_H
00023 #define TCLCSOUND_H
00024 
00025 #include <stdio.h>
00026 #include <string.h>
00027 #include <csound.h>
00028 #include <string.h>
00029 #include <stdlib.h>
00030 #include <tcl.h>
00031 #include <tk.h>
00032 
00033 /* Csound performance status
00034 
00035 CS_READY: ready for compilation, effectively stopped
00036 CS_COMPILED: ready for performance, but not yet running
00037 CS_RUNNING: running, producing audio
00038 CS_PAUSED: paused, but ready for performance
00039 
00040 Csound will switch from CS_RUNNING to CS_COMPILED once
00041 the loaded score has finished playing.
00042 */
00043 
00044 typedef struct __ctlchn {
00045     char   *name;
00046     double  value;
00047     struct __ctlchn *next;
00048 } ctlchn;
00049 
00050 typedef struct __pvsctlchn {
00051     int n;
00052     PVSDATEXT data;
00053     struct __pvsctlchn *next;
00054 } pvsctlchn;
00055 
00056 typedef struct __csdata {
00057     CSOUND *instance;           /* csound object */
00058     int     result;             /* action result */
00059     void   *threadID;           /* processing thread ID */
00060     int     status;             /* perf status */
00061     ctlchn *inchan;
00062     ctlchn *outchan;
00063     Tcl_Interp *interp;
00064     char *mbuf;                /* message buffer */
00065     char mess[50];             /* message recipient name */
00066     pvsctlchn *pvsinchan;
00067     pvsctlchn *pvsoutchan;
00068     void  *threadlock;
00069   void *messlock;
00070 } csdata;
00071 
00072 extern int tclcsound_initialise(Tcl_Interp * interp);
00073 
00074 #endif
00075 

Generated on Sun Nov 9 00:04:52 2008 for Csound and CsoundAC by  doxygen 1.5.6