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)