156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * File:
456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * eas.h
556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Contents and purpose:
756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * The public interface header for the EAS synthesizer.
856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This header only contains declarations that are specific
1056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * to this implementation.
1156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
1256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * DO NOT MODIFY THIS FILE!
1356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
1456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Copyright Sonic Network Inc. 2005, 2006
157df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
167df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
177df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * you may not use this file except in compliance with the License.
187df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * You may obtain a copy of the License at
197df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
207df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
217df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
227df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
237df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
247df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
257df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * See the License for the specific language governing permissions and
267df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * limitations under the License.
2756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
2856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
2956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Revision Control:
3056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *   $Revision: 852 $
3156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *   $Date: 2007-09-04 11:43:49 -0700 (Tue, 04 Sep 2007) $
3256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
3356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
3456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
3556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifndef _EAS_H
3656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define _EAS_H
3756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
3856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#include "eas_types.h"
3956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
4056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* for C++ linkage */
4156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef __cplusplus
4256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern "C" {
4356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif
4456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
4556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* library version macro */
4656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define MAKE_LIB_VERSION(a,b,c,d) (((((((EAS_U32) a <<8) | (EAS_U32) b) << 8) | (EAS_U32) c) << 8) | (EAS_U32) d)
4756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define LIB_VERSION MAKE_LIB_VERSION(3, 6, 10, 14)
4856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
4956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparkstypedef struct
5056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{
5156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_U32     libVersion;
5256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_BOOL    checkedVersion;
5356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_I32     maxVoices;
5456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_I32     numChannels;
5556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_I32     sampleRate;
5656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_I32     mixBufferSize;
5756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_BOOL    filterEnabled;
5856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_U32     buildTimeStamp;
5956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_CHAR    *buildGUID;
6056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} S_EAS_LIB_CONFIG;
6156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
6256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* enumerated effects module numbers for configuration */
6356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparkstypedef enum
6456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{
6556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_ENHANCER = 0,
6656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_COMPRESSOR,
6756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_REVERB,
6856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_CHORUS,
6956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_WIDENER,
7056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_GRAPHIC_EQ,
7156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_WOW,
7256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_MAXIMIZER,
7356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_TONECONTROLEQ,
7456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    NUM_EFFECTS_MODULES
7556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} E_FX_MODULES;
7656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
7756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* enumerated optional module numbers for configuration */
7856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparkstypedef enum
7956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{
8056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_MMAPI_TONE_CONTROL = 0,
8156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_MODULE_METRICS
8256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} E_OPT_MODULES;
8356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define NUM_OPTIONAL_MODULES    2
8456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
8556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* enumerated audio decoders for configuration */
8656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparkstypedef enum
8756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{
8856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_DECODER_PCM = 0,
8956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_DECODER_SMAF_ADPCM,
9056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_DECODER_IMA_ADPCM,
9156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_DECODER_7BIT_SMAF_ADPCM,
9256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_DECODER_NOT_SUPPORTED
9356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} E_DECODER_MODULES;
9456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define NUM_DECODER_MODULES     4
9556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
9656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* defines for EAS_PEOpenStream flags parameter */
9756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define PCM_FLAGS_STEREO        0x00000100  /* stream is stereo */
9856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define PCM_FLAGS_8_BIT         0x00000001  /* 8-bit format */
9956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define PCM_FLAGS_UNSIGNED      0x00000010  /* unsigned format */
10056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define PCM_FLAGS_STREAMING     0x80000000  /* streaming mode */
10156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
10256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* maximum volume setting */
10356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_MAX_VOLUME          100
10456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
10556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
10656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Init()
10756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
10856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
10956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Initialize the synthesizer library
11056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
11156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
11256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  polyphony       - number of voices to play (dynamic memory model only)
11356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  ppLibData       - pointer to data handle variable for this instance
11456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
11556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
11656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
11756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
11856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
11956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_Init (EAS_DATA_HANDLE *ppEASData);
12056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
12156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
12256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Config()
12356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
12456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
12556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns a pointer to a structure containing the configuration options
12656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * in this library build.
12756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
12856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
12956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
13056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
13156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
13256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
13356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
13456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC const S_EAS_LIB_CONFIG *EAS_Config (void);
13556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
13656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
13756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Shutdown()
13856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
13956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
14056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Shuts down the library. Deallocates any memory associated with the
14156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * synthesizer (dynamic memory model only)
14256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
14356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
14456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pEASData        - handle to data for this instance
14556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
14656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
14756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
14856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
14956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
15056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_Shutdown (EAS_DATA_HANDLE pEASData);
15156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
15256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
15356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Render()
15456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
15556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
15656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Parse the Midi data and render PCM audio data.
15756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
15856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
15956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pEASData        - buffer for internal EAS data
16056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pOut            - output buffer pointer
16156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  nNumRequested   - requested num samples to generate
16256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pnNumGenerated  - actual number of samples generated
16356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
16456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
16556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  EAS_SUCCESS if PCM data was successfully rendered
16656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
16756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
16856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
16956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_Render (EAS_DATA_HANDLE pEASData, EAS_PCM *pOut, EAS_I32 numRequested, EAS_I32 *pNumGenerated);
17056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
17156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
17256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetRepeat()
17356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
17456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
17556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the selected stream to repeat.
17656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
17756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
17856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pEASData        - handle to data for this instance
17956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  streamHandle    - handle to stream
18056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  repeatCount     - repeat count (0 = no repeat, -1 = repeat forever)
18156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
18256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
18356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
18456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
18556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
18656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Notes:
18756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  0 = no repeat
18856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  1 = repeat once, i.e. play through twice
18956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  -1 = repeat forever
19056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
19156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
19256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetRepeat (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 repeatCount);
19356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
19456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
19556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetRepeat()
19656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
19756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
19856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Gets the current repeat count for the selected stream.
19956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
20056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
20156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pEASData        - handle to data for this instance
20256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  streamHandle    - handle to stream
20356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pRrepeatCount   - pointer to variable to hold repeat count
20456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
20556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
20656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
20756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
20856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
20956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Notes:
21056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  0 = no repeat
21156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  1 = repeat once, i.e. play through twice
21256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  -1 = repeat forever
21356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
21456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
21556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetRepeat (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pRepeatCount);
21656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
21756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
21856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetPlaybackRate()
21956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
22056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
22156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the playback rate.
22256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
22356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
22456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pEASData        - handle to data for this instance
22556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  streamHandle    - handle to stream
22656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  rate            - rate (28-bit fractional amount)
22756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
22856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
22956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
23056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
23156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
23256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
23356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
23456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetPlaybackRate (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_U32 rate);
23556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define MAX_PLAYBACK_RATE   (EAS_U32)(1L << 29)
23656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define MIN_PLAYBACK_RATE   (EAS_U32)(1L << 27)
23756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
23856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
23956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetTransposition)
24056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
24156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
24256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Sets the key tranposition for the synthesizer. Transposes all
24356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * melodic instruments by the specified amount. Range is limited
24456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * to +/-12 semitones.
24556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
24656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
24756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pEASData        - handle to data for this instance
24856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  streamHandle    - handle to stream
24956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  transposition   - +/-12 semitones
25056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
25156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
25256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
25356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
25456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
25556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
25656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
25756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetTransposition (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 transposition);
25856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define MAX_TRANSPOSE       12
25956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
26056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
26156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetSynthPolyphony()
26256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
26356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
26456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the polyphony of the synthesizer. Value must be >= 1 and <= the
26556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * maximum number of voices. This function will pin the polyphony
26656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * at those limits
26756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
26856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
26956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
27056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * synthNum         - synthesizer number (0 = onboard, 1 = DSP)
27156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * polyphonyCount   - the desired polyphony count
27256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
27356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
27456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
27556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
27656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
27756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
27856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
27956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetSynthPolyphony (EAS_DATA_HANDLE pEASData, EAS_I32 synthNum, EAS_I32 polyphonyCount);
28056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
28156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
28256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetSynthPolyphony()
28356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
28456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
28556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the current polyphony setting of the synthesizer
28656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
28756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
28856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
28956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * synthNum         - synthesizer number (0 = onboard, 1 = DSP)
29056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pPolyphonyCount  - pointer to variable to receive polyphony count
29156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
29256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
29356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
29456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
29556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
29656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
29756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
29856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetSynthPolyphony (EAS_DATA_HANDLE pEASData, EAS_I32 synthNum, EAS_I32 *pPolyphonyCount);
29956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
30056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
30156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetPolyphony()
30256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
30356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
30456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the polyphony of the stream. Value must be >= 1 and <= the
30556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * maximum number of voices. This function will pin the polyphony
30656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * at those limits
30756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
30856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
30956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
31056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - handle returned by EAS_OpenFile
31156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * polyphonyCount   - the desired polyphony count
31256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
31356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
31456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
31556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
31656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
31756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
31856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
31956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetPolyphony (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 polyphonyCount);
32056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
32156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
32256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetPolyphony()
32356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
32456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
32556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the current polyphony setting of the stream
32656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
32756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
32856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
32956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - handle returned by EAS_OpenFile
33056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pPolyphonyCount  - pointer to variable to receive polyphony count
33156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
33256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
33356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
33456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
33556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
33656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
33756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
33856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetPolyphony (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pPolyphonyCount);
33956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
34056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
34156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetPriority()
34256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
34356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
34456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the priority of the stream. Determines which stream's voices
34556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * are stolen when there are insufficient voices for all notes.
34656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Value must be in the range of 1-255, lower values are higher
34756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * priority. The default priority is 50.
34856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
34956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
35056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
35156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - handle returned by EAS_OpenFile
35256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * polyphonyCount   - the desired polyphony count
35356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
35456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
35556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
35656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
35756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
35856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
35956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
36056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetPriority (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 priority);
36156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
36256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
36356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetPriority()
36456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
36556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
36656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the current priority setting of the stream
36756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
36856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
36956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
37056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - handle returned by EAS_OpenFile
37156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pPriority        - pointer to variable to receive priority
37256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
37356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
37456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
37556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
37656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
37756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
37856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
37956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetPriority (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pPriority);
38056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
38156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
38256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetVolume()
38356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
38456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
38556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the master volume for the mixer. The default volume setting is
38656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 90 (-10 dB). The volume range is 0 to 100 in 1dB increments.
38756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
38856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
38956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
39056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * volume           - the desired master volume
39156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
39256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
39356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
39456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
39556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
39656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * overrides any previously set master volume from sysex
39756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
39856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
39956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
40056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetVolume (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 volume);
40156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
40256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
40356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetVolume()
40456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
40556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
40656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the master volume for the mixer in 1dB increments.
40756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
40856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
40956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
41056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * volume           - the desired master volume
41156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
41256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
41356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
41456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
41556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
41656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * overrides any previously set master volume from sysex
41756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
41856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
41956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
42056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_I32 EAS_GetVolume (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
42156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
42256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
42356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetMaxLoad()
42456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
42556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
42656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Sets the maximum workload the parsers will do in a single call to
42756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Render. The units are currently arbitrary, but should correlate
42856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * well to the actual CPU cycles consumed. The primary effect is to
42956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * reduce the occasional peaks in CPU cycles consumed when parsing
43056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * dense parts of a MIDI score. Setting maxWorkLoad to zero disables
43156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * the workload limiting function.
43256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
43356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
43456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  pEASData        - handle to data for this instance
43556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *  maxLoad         - the desired maximum workload
43656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
43756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
43856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
43956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
44056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
44156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
44256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
44356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetMaxLoad (EAS_DATA_HANDLE pEASData, EAS_I32 maxLoad);
44456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
44556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
44656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetMaxPCMStreams()
44756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
44856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Sets the maximum number of PCM streams allowed in parsers that
44956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * use PCM streaming.
45056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
45156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
45256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
45356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - handle returned by EAS_OpenFile
45456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * maxNumStreams    - maximum number of PCM streams
45556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
45656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
45756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetMaxPCMStreams (EAS_DATA_HANDLE pEASData, EAS_HANDLE pStream, EAS_I32 maxNumStreams);
45856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
45956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
46056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_OpenFile()
46156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
46256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
46356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Opens a file for audio playback.
46456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
46556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
46656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
46756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * locator          - pointer to filename or other locating information
46856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pStreamHandle    - pointer to stream handle variable
46956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
47056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
47156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
47256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
47356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
47456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
47556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
47656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
47756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_OpenFile (EAS_DATA_HANDLE pEASData, EAS_FILE_LOCATOR locator, EAS_HANDLE *pStreamHandle);
47856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
47956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef MMAPI_SUPPORT
48056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
48156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_MMAPIToneControl()
48256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
48356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
48456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Opens a ToneControl file for audio playback.
48556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
48656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
48756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
48856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * locator          - pointer to filename or other locating information
48956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pStreamHandle    - pointer to stream handle variable
49056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
49156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
49256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
49356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
49456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
49556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
49656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
49756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
49856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_MMAPIToneControl (EAS_DATA_HANDLE pEASData, EAS_FILE_LOCATOR locator, EAS_HANDLE *pStreamHandle);
49956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
50056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
50156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetWaveFmtChunk
50256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
50356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Helper function to retrieve WAVE file fmt chunk for MMAPI
50456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
50556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to EAS persistent data object
50656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - stream handle
50756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pFmtChunk        - pointer to pointer to FMT chunk data
50856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
50956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
51056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetWaveFmtChunk (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_VOID_PTR *ppFmtChunk);
51156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif
51256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
51356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
51456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetFileType
51556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
51656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the file type (see eas_types.h for enumerations)
51756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
51856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to EAS persistent data object
51956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - stream handle
52056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pFileType        - pointer to variable to receive file type
52156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
52256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
52356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetFileType (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pFileType);
52456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
52556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
52656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_ParseMetaData()
52756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
52856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
52956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
53056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
53156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
53256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
53356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
53456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * playLength       - pointer to variable to store the play length (in msecs)
53556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
53656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
53756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
53856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
53956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
54056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *                  - resets the parser to the start of the file
54156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
54256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
54356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_ParseMetaData (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pPlayLength);
54456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
54556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
54656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Prepare()
54756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
54856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
54956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Prepares the synthesizer to play the file or stream. Parses the first
55056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * frame of data from the file and arms the synthesizer.
55156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
55256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
55356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
55456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
55556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
55656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
55756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
55856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
55956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
56056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
56156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
56256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
56356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_Prepare (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
56456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
56556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
56656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_State()
56756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
56856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
56956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the state of an audio file or stream.
57056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
57156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
57256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
57356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
57456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
57556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
57656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
57756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
57856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
57956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
58056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
58156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
58256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_State (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_STATE *pState);
58356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
58456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
58556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_RegisterMetaDataCallback()
58656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
58756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
58856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Registers a metadata callback function for parsed metadata. To
58956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * de-register the callback, call this function again with parameter
59056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * cbFunc set to NULL.
59156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
59256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
59356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
59456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
59556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * cbFunc           - pointer to host callback function
59656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * metaDataBuffer   - pointer to metadata buffer
59756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * metaDataBufSize  - maximum size of the metadata buffer
59856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
59956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
60056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
60156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
60256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
60356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
60456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
60556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
60656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_RegisterMetaDataCallback (
60756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_DATA_HANDLE pEASData,
60856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_HANDLE streamHandle,
60956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_METADATA_CBFUNC cbFunc,
61056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    char *metaDataBuffer,
61156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_I32 metaDataBufSize,
61256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_VOID_PTR pUserData);
61356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
61456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
61556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetNoteCount ()
61656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
61756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the total number of notes played in this stream
61856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
61956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
62056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
62156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
62256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pNoteCount       - pointer to variable to receive note count
62356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
62456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
62556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetNoteCount (EAS_DATA_HANDLE pEASData, EAS_HANDLE pStream, EAS_I32 *pNoteCount);
62656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
62756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
62856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CloseFile()
62956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
63056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
63156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Closes an audio file or stream. Playback should have either paused or
63256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * completed (EAS_State returns EAS_PAUSED or EAS_STOPPED).
63356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
63456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
63556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
63656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
63756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
63856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
63956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
64056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
64156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
64256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
64356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
64456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
64556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_CloseFile (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
64656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
64756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
64856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_OpenMIDIStream()
64956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
65056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
65156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Opens a raw MIDI stream allowing the host to route MIDI cable data directly to the synthesizer
65256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
65356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
65456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
65556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pStreamHandle    - pointer to variable to hold file or stream handle
65656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - open stream or NULL for new synthesizer instance
65756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
65856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
65956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
66056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
66156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
66256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
66356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
66456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
66556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_OpenMIDIStream (EAS_DATA_HANDLE pEASData, EAS_HANDLE *pStreamHandle, EAS_HANDLE streamHandle);
66656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
66756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
66856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_WriteMIDIStream()
66956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
67056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
67156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Send data to the MIDI stream device
67256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
67356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
67456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
67556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - stream handle
67656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pBuffer          - pointer to buffer
67756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * count            - number of bytes to write
67856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
67956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
68056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
68156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
68256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
68356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
68456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
68556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
68656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_WriteMIDIStream(EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_U8 *pBuffer, EAS_I32 count);
68756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
68856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
68956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CloseMIDIStream()
69056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
69156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
69256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Closes a raw MIDI stream
69356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
69456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
69556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
69656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - stream handle
69756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
69856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
69956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
70056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
70156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
70256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
70356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
70456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
70556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_CloseMIDIStream (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
70656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
70756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
70856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Locate()
70956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
71056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
71156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Locate into the file associated with the handle.
71256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
71356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
71456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
71556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file handle
71656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * milliseconds     - playback offset from start of file in milliseconds
71756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
71856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
71956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
72056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
72156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
72256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * the actual offset will be quantized to the closest update period, typically
72356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * a resolution of 5.9ms. Notes that are started prior to this time will not
72456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * sound. Any notes currently playing will be shut off.
72556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
72656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
72756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
72856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_Locate (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 milliseconds, EAS_BOOL offset);
72956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
73056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
73156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetRenderTime()
73256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
73356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
73456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the current playback offset
73556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
73656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
73756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
73856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
73956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
74056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Gets the render time clock in msecs.
74156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
74256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
74356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
74456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
74556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
74656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetRenderTime (EAS_DATA_HANDLE pEASData, EAS_I32 *pTime);
74756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
74856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
74956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetLocation()
75056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
75156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
75256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the current playback offset
75356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
75456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
75556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
75656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file handle
75756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
75856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
75956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * The offset in milliseconds from the start of the current sequence, quantized
76056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * to the nearest update period. Actual resolution is typically 5.9 ms.
76156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
76256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
76356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
76456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
76556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
76656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetLocation (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pTime);
76756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
76856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
76956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Pause()
77056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
77156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
77256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Pauses the playback of the data associated with this handle. The audio
77356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * is gracefully ramped down to prevent clicks and pops. It may take several
77456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * buffers of audio before the audio is muted.
77556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
77656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
77756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * psEASData        - pointer to overall EAS data structure
77856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
77956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
78056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
78156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
78256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
78356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
78456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
78556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
78656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
78756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
78856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_Pause (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
78956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
79056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
79156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_Resume()
79256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
79356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
79456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Resumes the playback of the data associated with this handle. The audio
79556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * is gracefully ramped up to prevent clicks and pops.
79656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
79756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
79856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * psEASData        - pointer to overall EAS data structure
79956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
80056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
80156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
80256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
80356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
80456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
80556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
80656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
80756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
80856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
80956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_Resume (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
81056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
81156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
81256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetParameter()
81356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
81456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
81556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the parameter of a module. See E_MODULES for a list of modules
81656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * and the header files of the modules for a list of parameters.
81756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
81856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
81956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * psEASData        - pointer to overall EAS data structure
82056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * module           - enumerated module number
82156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * param            - enumerated parameter number
82256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pValue           - pointer to variable to receive parameter value
82356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
82456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
82556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
82656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
82756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
82856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
82956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
83056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
83156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
83256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetParameter (EAS_DATA_HANDLE pEASData, EAS_I32 module, EAS_I32 param, EAS_I32 *pValue);
83356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
83456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
83556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetParameter()
83656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
83756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
83856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Set the parameter of a module. See E_MODULES for a list of modules
83956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * and the header files of the modules for a list of parameters.
84056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
84156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
84256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * psEASData        - pointer to overall EAS data structure
84356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * handle           - file or stream handle
84456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * module           - enumerated module number
84556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * param            - enumerated parameter number
84656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * value            - new parameter value
84756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
84856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
84956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
85056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
85156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
85256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
85356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
85456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
85556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
85656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetParameter (EAS_DATA_HANDLE pEASData, EAS_I32 module, EAS_I32 param, EAS_I32 value);
85756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
85856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _METRICS_ENABLED
85956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
86056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_MetricsReport()
86156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
86256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
86356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Displays the current metrics through the EAS_Report interface.
86456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
86556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
86656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData             - instance data handle
86756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
86856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
86956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
87056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
87156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
87256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
87356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
87456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
87556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_MetricsReport (EAS_DATA_HANDLE pEASData);
87656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
87756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
87856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_MetricsReset()
87956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
88056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
88156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Displays the current metrics through the EAS_Report interface.
88256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
88356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
88456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData             - instance data handle
88556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
88656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
88756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
88856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
88956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
89056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
89156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
89256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
89356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_MetricsReset (EAS_DATA_HANDLE pEASData);
89456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif
89556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
89656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
89756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetSoundLibrary()
89856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
89956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
90056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Sets the location of the sound library.
90156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
90256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
90356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData             - instance data handle
90456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle         - file or stream handle
90556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pSoundLib            - pointer to sound library
90656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
90756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
90856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
90956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
91056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
91156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
91256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
91356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
91456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetSoundLibrary (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_SNDLIB_HANDLE pSndLib);
91556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
91656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
91756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetHeaderSearchFlag()
91856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
91956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * By default, when EAS_OpenFile is called, the parsers check the
92056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * first few bytes of the file looking for a specific header. Some
92156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * mobile devices may add a header to the start of a file, which
92256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * will prevent the parser from recognizing the file. If the
92356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * searchFlag is set to EAS_TRUE, the parser will search the entire
92456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * file looking for the header. This may enable EAS to recognize
92556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * some files that it would ordinarily reject. The negative is that
92656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * it make take slightly longer to process the EAS_OpenFile request.
92756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
92856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
92956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData             - instance data handle
93056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * searchFlag           - search flag (EAS_TRUE or EAS_FALSE)
93156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
93256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
93356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetHeaderSearchFlag (EAS_DATA_HANDLE pEASData, EAS_BOOL searchFlag);
93456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
93556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
93656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetPlayMode()
93756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
93856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Some file formats support special play modes, such as iMode partial
93956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * play mode. This call can be used to change the play mode. The
94056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * default play mode (usually straight playback) is always zero.
94156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
94256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
94356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData             - instance data handle
94456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * handle               - file or stream handle
94556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * playMode             - play mode (see eas_types.h for enumerations)
94656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
94756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
94856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetPlayMode (EAS_DATA_HANDLE pEASData, EAS_HANDLE pStream, EAS_I32 playMode);
94956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
95056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef DLS_SYNTHESIZER
95156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
95256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_LoadDLSCollection()
95356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
95456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
95556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Downloads a DLS collection
95656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
95756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
95856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData             - instance data handle
95956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle         - file or stream handle
96056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * locator              - file locator
96156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
96256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
96356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
96456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
96556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
96656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * May overlay instruments in the GM sound set
96756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
96856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
96956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
97056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_LoadDLSCollection (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_FILE_LOCATOR locator);
97156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif
97256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
97356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
97456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SetFrameBuffer()
97556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
97656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
97756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Sets the frame buffer pointer passed to the IPC communications functions
97856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
97956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
98056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData             - instance data handle
98156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * locator              - file locator
98256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
98356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
98456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
98556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
98656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
98756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * May overlay instruments in the GM sound set
98856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
98956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
99056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
99156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_SetFrameBuffer (EAS_DATA_HANDLE pEASData, EAS_FRAME_BUFFER_HANDLE pFrameBuffer);
99256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
99356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef EXTERNAL_AUDIO
99456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
99556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_RegExtAudioCallback()
99656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
99756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
99856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Registers callback functions for audio events.
99956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
100056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
100156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
100256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
100356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * cbProgChgFunc    - pointer to host callback function for program change
100456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * cbEventFunc      - pointer to host callback functio for note events
100556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
100656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
100756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
100856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
100956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
101056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
101156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
101256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
101356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_RegExtAudioCallback (EAS_DATA_HANDLE pEASData,
101456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_HANDLE streamHandle,
101556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_VOID_PTR pInstData,
101656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_EXT_PRG_CHG_FUNC cbProgChgFunc,
101756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks    EAS_EXT_EVENT_FUNC cbEventFunc);
101856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
101956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
102056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_GetMIDIControllers()
102156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
102256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose:
102356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns the current state of MIDI controllers on the requested channel.
102456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
102556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
102656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to overall EAS data structure
102756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * streamHandle     - file or stream handle
102856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pControl         - pointer to structure to receive data
102956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
103056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs:
103156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
103256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
103356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Side Effects:
103456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
103556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
103656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
103756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_PUBLIC EAS_RESULT EAS_GetMIDIControllers (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_U8 channel, S_MIDI_CONTROLLERS *pControl);
103856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif
103956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
104056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*----------------------------------------------------------------------------
104156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_SearchFile
104256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
104356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Search file for specific sequence starting at current file
104456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * position. Returns offset to start of sequence.
104556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
104656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs:
104756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pEASData         - pointer to EAS persistent data object
104856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * fileHandle       - file handle
104956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * searchString     - pointer to search sequence
105056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * len              - length of search sequence
105156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pOffset          - pointer to variable to store offset to sequence
105256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *
105356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns EAS_EOF if end-of-file is reached
105456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *----------------------------------------------------------------------------
105556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/
105656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_RESULT EAS_SearchFile (EAS_DATA_HANDLE pEASData, EAS_FILE_HANDLE fileHandle, const EAS_U8 *searchString, EAS_I32 len, EAS_I32 *pOffset);
105756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
105856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef __cplusplus
105956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} /* end extern "C" */
106056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif
106156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks
106256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif /* #ifndef _EAS_H */
1063