eas_midi.h revision 56c99cd2c2c1e6ab038dac5fced5b92ccf11ff6c
15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/*---------------------------------------------------------------------------- 25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 3926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * File: 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * eas_midi.h 55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Contents and purpose: 75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Prototypes for MIDI stream parsing functions 85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Copyright Sonic Network Inc. 2005 115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Licensed under the Apache License, Version 2.0 (the "License"); 135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * you may not use this file except in compliance with the License. 145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * You may obtain a copy of the License at 155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * http://www.apache.org/licenses/LICENSE-2.0 175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Unless required by applicable law or agreed to in writing, software 195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * distributed under the License is distributed on an "AS IS" BASIS, 205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * See the License for the specific language governing permissions and 225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * limitations under the License. 235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *---------------------------------------------------------------------------- 255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Revision Control: 265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * $Revision: 82 $ 2753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $ 285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *---------------------------------------------------------------------------- 29197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch*/ 3053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) 315267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#ifndef _EAS_MIDI_H 3253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)#define _EAS_MIDI_H 3309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) 3451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)/*---------------------------------------------------------------------------- 355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * EAS_InitMIDIStream() 36c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) *---------------------------------------------------------------------------- 375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Purpose: 38d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) * Initializes the MIDI stream state for parsing. 395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 40d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) * Inputs: 41d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) * 42926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Outputs: 43926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * returns EAS_RESULT (EAS_SUCCESS is OK) 44926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 45926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Side Effects: 46926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 47d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) *---------------------------------------------------------------------------- 48926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)*/ 49926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void EAS_InitMIDIStream (S_MIDI_STREAM *pMIDIStream); 505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/*---------------------------------------------------------------------------- 52926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * EAS_ParseMIDIStream() 53d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) *---------------------------------------------------------------------------- 54d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) * Purpose: 555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Parses a MIDI input stream character by character. Characters are pushed (rather than pulled) 565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * so the interface works equally well for both file and stream I/O. 57197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch * 585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Inputs: 59d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) * c - character from MIDI stream 60d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) * 61926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Outputs: 62197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch * returns EAS_RESULT (EAS_SUCCESS is OK) 63926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Side Effects: 65197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch * 66926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) *---------------------------------------------------------------------------- 67926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)*/ 68926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)EAS_RESULT EAS_ParseMIDIStream (S_EAS_DATA *pEASData, S_SYNTH *pSynth, S_MIDI_STREAM *pMIDIStream, EAS_U8 c, EAS_INT parserMode); 69d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 70d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#endif /* #define _EAS_MIDI_H */ 715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 72926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)