1 /*---------------------------------------------------------------------------- 2 * 3 * File: 4 * eas_tcdata.h 5 * 6 * Contents and purpose: 7 * SMF File Parser 8 * 9 * This file contains data declarations for the ToneControl parser. 10 * 11 * Copyright Sonic Network Inc. 2006 12 13 * Licensed under the Apache License, Version 2.0 (the "License"); 14 * you may not use this file except in compliance with the License. 15 * You may obtain a copy of the License at 16 * 17 * http://www.apache.org/licenses/LICENSE-2.0 18 * 19 * Unless required by applicable law or agreed to in writing, software 20 * distributed under the License is distributed on an "AS IS" BASIS, 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 * See the License for the specific language governing permissions and 23 * limitations under the License. 24 * 25 *---------------------------------------------------------------------------- 26 * Revision Control: 27 * $Revision: 82 $ 28 * $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $ 29 *---------------------------------------------------------------------------- 30 */ 31 32 #ifndef EAS_TFDATA_H 33 #define EAS_TCDATA_H 34 35 #include "eas_data.h" 36 37 /*---------------------------------------------------------------------------- 38 * 39 * S_TC_DATA 40 * 41 * This structure contains the state data for the ToneControl parser 42 *---------------------------------------------------------------------------- 43 */ 44 typedef struct 45 { 46 EAS_FILE_HANDLE fileHandle; /* file handle */ 47 S_SYNTH *pSynth; /* synthesizer handle */ 48 EAS_I32 fileOffset; /* offset to start of data */ 49 EAS_I32 time; /* current time in 256ths of a msec */ 50 EAS_I32 tick; /* tick based on current tempo and resolution */ 51 EAS_I32 length; /* length of current note */ 52 EAS_I32 restorePos; /* return to here after block */ 53 EAS_U8 state; /* current state EAS_STATE_XXXX */ 54 EAS_U8 volume; /* volume */ 55 EAS_I8 note; /* current note */ 56 EAS_I8 repeatCount; /* note repeat counter */ 57 EAS_I8 tempo; /* tempo from file (bpm = tempo * 4) */ 58 EAS_I8 resolution; /* resolution from file */ 59 EAS_I8 dataByte; /* storage for characters that are "put back" */ 60 EAS_BOOL8 byteAvail; /* char in "put back" buffer */ 61 } S_TC_DATA; 62 63 #endif 64 65 66