midiout.h

Go to the documentation of this file.
00001 /*
00002     midiout.h:
00003 
00004     Copyright (C) 1997 Gabriel Maldonado, John ffitch
00005 
00006     This file is part of Csound.
00007 
00008     The Csound Library is free software; you can redistribute it
00009     and/or modify it under the terms of the GNU Lesser General Public
00010     License as published by the Free Software Foundation; either
00011     version 2.1 of the License, or (at your option) any later version.
00012 
00013     Csound is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU Lesser General Public License for more details.
00017 
00018     You should have received a copy of the GNU Lesser General Public
00019     License along with Csound; if not, write to the Free Software
00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00021     02111-1307 USA
00022 */
00023 
00024 /****************************************/
00026 /****************************************/
00027 
00028 typedef int BOOL;
00029 #ifndef TRUE
00030 #   define TRUE (1)
00031 #endif
00032 #ifndef FALSE
00033 #   define FALSE (0)
00034 #endif
00035 
00036 typedef struct {
00037     OPDS   h;
00038     MYFLT  *r;
00039 } REL;
00040 
00041 typedef struct {
00042     OPDS   h;
00043     MYFLT  *extradur;
00044 } XTRADUR;
00045 
00046 typedef struct {
00047     OPDS        h;
00048     MYFLT       *freq;
00049     MYFLT       period, clock_tics;
00050     int         beginning_flag;
00051 } MCLOCK;
00052 
00053 typedef struct {
00054     OPDS        h;
00055     MYFLT       *message;
00056 } MRT;
00057 
00058 typedef struct {
00059     OPDS   h;
00060     MYFLT  *ichn,*inum,*ivel;
00061 } OUT_ON;
00062 
00063 typedef struct {
00064     OPDS   h;
00065     MYFLT  *ichn,*inum,*ivel,*idur;
00066     MYFLT  istart_time;
00067     int    chn, num, vel;
00068     BOOL   fl_expired, fl_extra_dur;
00069 } OUT_ON_DUR;
00070 
00071 typedef struct {
00072     OPDS   h;
00073     MYFLT  *kchn,*knum,*kvel,*kdur,*kpause;
00074     MYFLT  istart_time;
00075     int    last_chn, last_num, last_vel;
00076     MYFLT  last_dur, last_pause;
00077     BOOL   fl_note_expired, fl_first_note, fl_end_note;
00078 } MOSCIL;
00079 
00080 typedef struct {
00081     OPDS   h;
00082     MYFLT  *kchn,*knum,*kvel;
00083     int    last_chn, last_num, last_vel;
00084     BOOL   fl_note_expired, fl_first_note;
00085 } KOUT_ON;
00086 
00087 typedef struct {
00088     OPDS   h;
00089     MYFLT  *chn,*num, *value, *min, *max;
00090     int    last_value;
00091 } OUT_CONTR;
00092 
00093 typedef struct {
00094     OPDS   h;
00095     MYFLT  *chn, *msb_num, *lsb_num, *value, *min, *max;
00096     int    last_value;
00097 } OUT_CONTR14;
00098 
00099 typedef struct {
00100     OPDS   h;
00101     MYFLT  *chn, *value, *min, *max;
00102     int    last_value;
00103 } OUT_PB;
00104 
00105 typedef struct {
00106     OPDS   h;
00107     MYFLT  *chn, *value, *min, *max;
00108     int    last_value;
00109 } OUT_ATOUCH;
00110 
00111 typedef struct {
00112     OPDS   h;
00113     MYFLT  *chn, *prog_num, *min, *max;
00114     int    last_prog_num;
00115 } OUT_PCHG;
00116 
00117 typedef struct {
00118     OPDS   h;
00119     MYFLT  *chn, *num, *value, *min, *max;
00120     int    last_value;
00121 } OUT_POLYATOUCH;
00122 
00123 typedef struct {
00124     OPDS   h;
00125     MYFLT  *kchn,*knum,*kvel,*ktrig;
00126         int     last_chn, last_num, last_vel;
00127         BOOL fl_note_expired/*, fl_first_note*/;
00128 } KON2;
00129 
00130 typedef struct {
00131     OPDS   h;
00132     MYFLT  *in_type, *in_chan, *in_dat1, *in_dat2;
00133 } MIDIOUT;
00134 
00135 typedef struct {
00136     OPDS   h;
00137     MYFLT  *chan, *parm_num, *parm_value;
00138     int old_chan, old_parm, old_value;
00139 } NRPN;
00140 
00141 typedef struct {
00142     unsigned char status;
00143     unsigned char dat1;
00144     unsigned char dat2;
00145     MYFLT   delay;
00146 } DELTAB;
00147 
00148 #define DELTAB_LENGTH 1000
00149 
00150 typedef struct {
00151     OPDS   h;
00152     MYFLT  *in_status, *in_chan, *in_dat1, *in_dat2, *kdelay;
00153     unsigned char status[DELTAB_LENGTH];
00154     unsigned char chan[DELTAB_LENGTH];
00155     unsigned char dat1[DELTAB_LENGTH];
00156     unsigned char dat2[DELTAB_LENGTH];
00157     MYFLT             time[DELTAB_LENGTH];
00158     unsigned int  write_index, read_index;
00159 } MDELAY;

Generated on Tue Apr 14 11:00:49 2009 for Csound and CsoundAC by  doxygen 1.5.8