Home | History | Annotate | Download | only in lib_src
      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