From a8c89077d78769bf4840fa91609edc51fe2fa02d Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Queru Date: Thu, 12 Nov 2009 18:45:37 -0800 Subject: eclair snapshot --- arm-hybrid-22k/lib_src/eas_miditypes.h | 252 ++++++++++++++++----------------- 1 file changed, 126 insertions(+), 126 deletions(-) (limited to 'arm-hybrid-22k/lib_src/eas_miditypes.h') diff --git a/arm-hybrid-22k/lib_src/eas_miditypes.h b/arm-hybrid-22k/lib_src/eas_miditypes.h index 0b7f96e..015f08b 100644 --- a/arm-hybrid-22k/lib_src/eas_miditypes.h +++ b/arm-hybrid-22k/lib_src/eas_miditypes.h @@ -1,13 +1,13 @@ -/*---------------------------------------------------------------------------- - * - * File: - * eas_miditypes.h - * - * Contents and purpose: - * Contains declarations for the MIDI stream parser. - * - * - * Copyright Sonic Network Inc. 2005 +/*---------------------------------------------------------------------------- + * + * File: + * eas_miditypes.h + * + * Contents and purpose: + * Contains declarations for the MIDI stream parser. + * + * + * Copyright Sonic Network Inc. 2005 * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,119 +20,119 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - * - *---------------------------------------------------------------------------- - * Revision Control: - * $Revision: 778 $ - * $Date: 2007-07-23 16:45:17 -0700 (Mon, 23 Jul 2007) $ - *---------------------------------------------------------------------------- -*/ - -#ifndef _EAS_MIDITYPES_H -#define _EAS_MIDITYPES_H - -#include "eas_data.h" -#include "eas_parser.h" - -/*---------------------------------------------------------------------------- - * S_MIDI_STREAM - * - * Maintains parser state for the MIDI stream parser - * - *---------------------------------------------------------------------------- -*/ - -typedef struct s_midi_stream_tag -{ - EAS_BOOL8 byte3; /* flag indicates 3rd byte expected */ - EAS_BOOL8 pending; /* flag indicates more data expected */ - EAS_U8 sysExState; /* maintains the SysEx state */ - EAS_U8 runningStatus; /* last running status received */ - EAS_U8 status; /* status byte */ - EAS_U8 d1; /* first data byte */ - EAS_U8 d2; /* second data byte */ - EAS_U8 flags; /* flags - see below for definition */ -#ifdef JET_INTERFACE - EAS_U32 jetData; /* JET data */ -#endif -} S_MIDI_STREAM; - -/* flags for S_MIDI_STREAM.flags */ -#define MIDI_FLAG_GM_ON 0x01 /* GM System On message received */ -#define MIDI_FLAG_FIRST_NOTE 0x02 /* first note received */ - -/* flags for S_MIDI_STREAM.jetFlags */ -#define MIDI_FLAGS_JET_MUTE 0x00000001 /* track is muted */ -#define MIDI_FLAGS_JET_CB 0x00000002 /* JET callback enabled */ - -/*---------------------------------------------------------------------------- - * - * S_SMF_STREAM - * - * This structure contains data required to parse an SMF stream. For SMF0 files, there - * will be a single instance of this per file. For SMF1 files, there will be multiple instance, - * one for each separate stream in the file. - * - *---------------------------------------------------------------------------- -*/ - -typedef struct s_smf_stream_tag -{ - EAS_FILE_HANDLE fileHandle; /* host wrapper file handle */ - EAS_U32 ticks; /* time of next event in stream */ - EAS_I32 startFilePos; /* start location of track within file */ - S_MIDI_STREAM midiStream; /* MIDI stream state */ -} S_SMF_STREAM; - -/*---------------------------------------------------------------------------- - * - * S_SMF_DATA - * - * This structure contains the instance data required to parse an SMF stream. - * - *---------------------------------------------------------------------------- -*/ - -typedef struct s_smf_data_tag -{ -#ifdef _CHECKED_BUILD - EAS_U32 handleCheck; /* signature check for checked build */ -#endif - S_SMF_STREAM *streams; /* pointer to individual streams in file */ - S_SMF_STREAM *nextStream; /* pointer to next stream with event */ - S_SYNTH *pSynth; /* pointer to synth */ - EAS_FILE_HANDLE fileHandle; /* file handle */ - S_METADATA_CB metadata; /* metadata callback */ - EAS_I32 fileOffset; /* for embedded files */ - EAS_I32 time; /* current time in milliseconds/256 */ - EAS_U16 numStreams; /* actual number of streams */ - EAS_U16 tickConv; /* current MIDI tick to msec conversion */ - EAS_U16 ppqn; /* ticks per quarter note */ - EAS_U8 state; /* current state EAS_STATE_XXXX */ - EAS_U8 flags; /* flags - see definitions below */ -} S_SMF_DATA; - -#define SMF_FLAGS_CHASE_MODE 0x01 /* chase mode - skip to first note */ -#define SMF_FLAGS_HAS_TIME_SIG 0x02 /* time signature encountered at time 0 */ -#define SMF_FLAGS_HAS_TEMPO 0x04 /* tempo encountered at time 0 */ -#define SMF_FLAGS_HAS_GM_ON 0x08 /* GM System On encountered at time 0 */ -#define SMF_FLAGS_JET_STREAM 0x80 /* JET in use - keep strict timing */ - -/* combo flags indicate setup bar */ -#define SMF_FLAGS_SETUP_BAR (SMF_FLAGS_HAS_TIME_SIG | SMF_FLAGS_HAS_TEMPO | SMF_FLAGS_HAS_GM_ON) - -/*---------------------------------------------------------------------------- - * Interactive MIDI structure - *---------------------------------------------------------------------------- -*/ -typedef struct s_interactive_midi_tag -{ -#ifdef _CHECKED_BUILD - EAS_U32 handleCheck; /* signature check for checked build */ -#endif - S_SYNTH *pSynth; /* pointer to synth */ - S_MIDI_STREAM stream; /* stream data */ -} S_INTERACTIVE_MIDI; - -#endif /* #ifndef _EAS_MIDITYPES_H */ - + * + *---------------------------------------------------------------------------- + * Revision Control: + * $Revision: 778 $ + * $Date: 2007-07-23 16:45:17 -0700 (Mon, 23 Jul 2007) $ + *---------------------------------------------------------------------------- +*/ + +#ifndef _EAS_MIDITYPES_H +#define _EAS_MIDITYPES_H + +#include "eas_data.h" +#include "eas_parser.h" + +/*---------------------------------------------------------------------------- + * S_MIDI_STREAM + * + * Maintains parser state for the MIDI stream parser + * + *---------------------------------------------------------------------------- +*/ + +typedef struct s_midi_stream_tag +{ + EAS_BOOL8 byte3; /* flag indicates 3rd byte expected */ + EAS_BOOL8 pending; /* flag indicates more data expected */ + EAS_U8 sysExState; /* maintains the SysEx state */ + EAS_U8 runningStatus; /* last running status received */ + EAS_U8 status; /* status byte */ + EAS_U8 d1; /* first data byte */ + EAS_U8 d2; /* second data byte */ + EAS_U8 flags; /* flags - see below for definition */ +#ifdef JET_INTERFACE + EAS_U32 jetData; /* JET data */ +#endif +} S_MIDI_STREAM; + +/* flags for S_MIDI_STREAM.flags */ +#define MIDI_FLAG_GM_ON 0x01 /* GM System On message received */ +#define MIDI_FLAG_FIRST_NOTE 0x02 /* first note received */ + +/* flags for S_MIDI_STREAM.jetFlags */ +#define MIDI_FLAGS_JET_MUTE 0x00000001 /* track is muted */ +#define MIDI_FLAGS_JET_CB 0x00000002 /* JET callback enabled */ + +/*---------------------------------------------------------------------------- + * + * S_SMF_STREAM + * + * This structure contains data required to parse an SMF stream. For SMF0 files, there + * will be a single instance of this per file. For SMF1 files, there will be multiple instance, + * one for each separate stream in the file. + * + *---------------------------------------------------------------------------- +*/ + +typedef struct s_smf_stream_tag +{ + EAS_FILE_HANDLE fileHandle; /* host wrapper file handle */ + EAS_U32 ticks; /* time of next event in stream */ + EAS_I32 startFilePos; /* start location of track within file */ + S_MIDI_STREAM midiStream; /* MIDI stream state */ +} S_SMF_STREAM; + +/*---------------------------------------------------------------------------- + * + * S_SMF_DATA + * + * This structure contains the instance data required to parse an SMF stream. + * + *---------------------------------------------------------------------------- +*/ + +typedef struct s_smf_data_tag +{ +#ifdef _CHECKED_BUILD + EAS_U32 handleCheck; /* signature check for checked build */ +#endif + S_SMF_STREAM *streams; /* pointer to individual streams in file */ + S_SMF_STREAM *nextStream; /* pointer to next stream with event */ + S_SYNTH *pSynth; /* pointer to synth */ + EAS_FILE_HANDLE fileHandle; /* file handle */ + S_METADATA_CB metadata; /* metadata callback */ + EAS_I32 fileOffset; /* for embedded files */ + EAS_I32 time; /* current time in milliseconds/256 */ + EAS_U16 numStreams; /* actual number of streams */ + EAS_U16 tickConv; /* current MIDI tick to msec conversion */ + EAS_U16 ppqn; /* ticks per quarter note */ + EAS_U8 state; /* current state EAS_STATE_XXXX */ + EAS_U8 flags; /* flags - see definitions below */ +} S_SMF_DATA; + +#define SMF_FLAGS_CHASE_MODE 0x01 /* chase mode - skip to first note */ +#define SMF_FLAGS_HAS_TIME_SIG 0x02 /* time signature encountered at time 0 */ +#define SMF_FLAGS_HAS_TEMPO 0x04 /* tempo encountered at time 0 */ +#define SMF_FLAGS_HAS_GM_ON 0x08 /* GM System On encountered at time 0 */ +#define SMF_FLAGS_JET_STREAM 0x80 /* JET in use - keep strict timing */ + +/* combo flags indicate setup bar */ +#define SMF_FLAGS_SETUP_BAR (SMF_FLAGS_HAS_TIME_SIG | SMF_FLAGS_HAS_TEMPO | SMF_FLAGS_HAS_GM_ON) + +/*---------------------------------------------------------------------------- + * Interactive MIDI structure + *---------------------------------------------------------------------------- +*/ +typedef struct s_interactive_midi_tag +{ +#ifdef _CHECKED_BUILD + EAS_U32 handleCheck; /* signature check for checked build */ +#endif + S_SYNTH *pSynth; /* pointer to synth */ + S_MIDI_STREAM stream; /* stream data */ +} S_INTERACTIVE_MIDI; + +#endif /* #ifndef _EAS_MIDITYPES_H */ + -- cgit v1.2.3