midiops.h

Go to the documentation of this file.
00001 /*
00002     midiops.h:
00003 
00004     Copyright (C) 1995 Barry Vercoe, Gabriel maldonado,
00005                        Istvan Varga, John ffitch
00006 
00007     This file is part of Csound.
00008 
00009     The Csound Library is free software; you can redistribute it
00010     and/or modify it under the terms of the GNU Lesser General Public
00011     License as published by the Free Software Foundation; either
00012     version 2.1 of the License, or (at your option) any later version.
00013 
00014     Csound is distributed in the hope that it will be useful,
00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017     GNU Lesser General Public License for more details.
00018 
00019     You should have received a copy of the GNU Lesser General Public
00020     License along with Csound; if not, write to the Free Software
00021     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00022     02111-1307 USA
00023 */
00024                                 /*                      MIDIOPS.H       */
00025 #ifndef MIDIOPS_H
00026 #define MIDIOPS_H
00027 
00028 #define NOTEOFF_TYPE  0x80
00029 #define NOTEON_TYPE   0x90
00030 #define POLYAFT_TYPE  0xA0
00031 #define CONTROL_TYPE  0xB0
00032 #define PROGRAM_TYPE  0xC0
00033 #define AFTOUCH_TYPE  0xD0
00034 #define PCHBEND_TYPE  0xE0
00035 #define SYSTEM_TYPE   0xF0
00036 
00037 #define DATENTRY        6
00038 #define VOLUME          7
00039 #define SUSTAIN_SW      64
00040 #define NRPNLSB         98
00041 #define NRPNMSB         99
00042 #define RPNLSB          100
00043 #define RPNMSB          101
00044 
00045 #define VIB_RATE        128     /* ROLAND EXTENDED CTRLS */
00046 #define VIB_DEPTH       129     /* in unused ctl_val spc */
00047 #define VIB_DELAY       130
00048 #define TVF_CUTOFF      131
00049 #define TVF_RESON       132
00050 #define TVA_RIS         133
00051 #define TVA_DEC         134
00052 #define TVA_RLS         135
00053 
00054 typedef struct {
00055     OPDS    h;
00056     MYFLT   *chnl, *insno, *iresetctls;
00057 } MASSIGN;
00058 
00059 typedef struct {
00060     OPDS    h;
00061     MYFLT   *chnl, *ctrls[64];
00062 } CTLINIT;
00063 
00064 typedef struct {
00065     OPDS    h;
00066     MYFLT   *r, *imax, *ifn;
00067 } MIDIAMP;
00068 
00069 typedef struct {
00070     OPDS    h;
00071     MYFLT   *r, *ictlno, *ilo, *ihi;
00072     long    ctlno;
00073     MYFLT   scale, lo;
00074 } MIDICTL;
00075 
00076 typedef struct {
00077     OPDS    h;
00078     MYFLT   *r, *ichano, *ictlno, *ilo, *ihi;
00079     long    chano, ctlno;
00080     MYFLT   scale, lo;
00081 } CHANCTL;
00082 
00083 typedef struct {
00084     OPDS    h;
00085     MYFLT   *r, *iscal;
00086     MYFLT   scale, prvbend, prvout;
00087 } MIDIKMB;
00088 
00089 typedef struct {
00090     OPDS    h;
00091     MYFLT   *r, *ilo, *ihi;
00092 } MIDIMAP;
00093 
00094 typedef struct {
00095     OPDS    h;
00096     MYFLT   *r, *ilo, *ihi;
00097     MYFLT   scale, lo;
00098 } MIDIKMAP;
00099 
00100 typedef struct {
00101     OPDS    h;
00102     MYFLT   *olap;
00103 } MIDIOLAP;
00104 
00105 typedef struct {
00106     OPDS    h;
00107     MYFLT   *r;
00108 } MIDIAGE;
00109 
00110 typedef struct {
00111     OPDS    h;
00112     MYFLT   *r, *tablenum;
00113     /* *numgrades, *interval, *basefreq, *basekeymidi; */
00114 } CPSTABLE;
00115 
00116 typedef struct {
00117     OPDS    h;
00118     MYFLT   *ans;
00119 } GTEMPO;
00120 
00121 typedef struct {
00122     OPDS    h;
00123     MYFLT   *ichn;
00124 } MIDICHN;
00125 
00126 typedef struct {
00127     OPDS    h;
00128     MYFLT   *ipgm, *inst, *ichn;
00129 } PGMASSIGN;
00130 
00131 typedef struct {
00132     OPDS    h;
00133     MYFLT   *status, *chan, *data1, *data2;
00134     int     local_buf_index;        /* IV - Nov 30 2002 */
00135 } MIDIIN;
00136 
00137 typedef struct {
00138     OPDS    h;
00139     MYFLT   *pgm, *chn, *ochan;
00140     int     local_buf_index;        /* IV - Nov 30 2002 */
00141     int     watch;
00142 } PGMIN;
00143 
00144 typedef struct {
00145     OPDS    h;
00146     MYFLT   *data, *numb, *chn, *ochan, *onum;
00147     int     local_buf_index;        /* IV - Nov 30 2002 */
00148     int     watch1, watch2;
00149 } CTLIN;
00150 
00151 #endif
00152 

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