1*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 2*f81fb7c4SAndroid Build Coastguard Worker * 3*f81fb7c4SAndroid Build Coastguard Worker * File: 4*f81fb7c4SAndroid Build Coastguard Worker * jet.h 5*f81fb7c4SAndroid Build Coastguard Worker * 6*f81fb7c4SAndroid Build Coastguard Worker * Contents and purpose: 7*f81fb7c4SAndroid Build Coastguard Worker * Public interface for JET sound engine 8*f81fb7c4SAndroid Build Coastguard Worker * 9*f81fb7c4SAndroid Build Coastguard Worker * Copyright (c) 2006 Sonic Network Inc. 10*f81fb7c4SAndroid Build Coastguard Worker 11*f81fb7c4SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 12*f81fb7c4SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 13*f81fb7c4SAndroid Build Coastguard Worker * You may obtain a copy of the License at 14*f81fb7c4SAndroid Build Coastguard Worker * 15*f81fb7c4SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 16*f81fb7c4SAndroid Build Coastguard Worker * 17*f81fb7c4SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 18*f81fb7c4SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 19*f81fb7c4SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20*f81fb7c4SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 21*f81fb7c4SAndroid Build Coastguard Worker * limitations under the License. 22*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 23*f81fb7c4SAndroid Build Coastguard Worker * Revision Control: 24*f81fb7c4SAndroid Build Coastguard Worker * $Revision: 554 $ 25*f81fb7c4SAndroid Build Coastguard Worker * $Date: 2007-02-02 11:06:10 -0800 (Fri, 02 Feb 2007) $ 26*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 27*f81fb7c4SAndroid Build Coastguard Worker */ 28*f81fb7c4SAndroid Build Coastguard Worker 29*f81fb7c4SAndroid Build Coastguard Worker #ifndef _JET_H 30*f81fb7c4SAndroid Build Coastguard Worker #define _JET_H 31*f81fb7c4SAndroid Build Coastguard Worker 32*f81fb7c4SAndroid Build Coastguard Worker #include "eas_types.h" 33*f81fb7c4SAndroid Build Coastguard Worker #include "eas.h" 34*f81fb7c4SAndroid Build Coastguard Worker 35*f81fb7c4SAndroid Build Coastguard Worker /* for C++ linkage */ 36*f81fb7c4SAndroid Build Coastguard Worker #ifdef __cplusplus 37*f81fb7c4SAndroid Build Coastguard Worker extern "C" { 38*f81fb7c4SAndroid Build Coastguard Worker #endif 39*f81fb7c4SAndroid Build Coastguard Worker 40*f81fb7c4SAndroid Build Coastguard Worker /* opaque handle types for JET interface */ 41*f81fb7c4SAndroid Build Coastguard Worker typedef struct s_jet_data_tag *JET_DATA_HANDLE; 42*f81fb7c4SAndroid Build Coastguard Worker 43*f81fb7c4SAndroid Build Coastguard Worker typedef struct s_jet_config_tag 44*f81fb7c4SAndroid Build Coastguard Worker { 45*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 appEventRangeLow; 46*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 appEventRangeHigh; 47*f81fb7c4SAndroid Build Coastguard Worker } S_JET_CONFIG; 48*f81fb7c4SAndroid Build Coastguard Worker 49*f81fb7c4SAndroid Build Coastguard Worker typedef struct s_jet_status_tag 50*f81fb7c4SAndroid Build Coastguard Worker { 51*f81fb7c4SAndroid Build Coastguard Worker EAS_INT currentUserID; 52*f81fb7c4SAndroid Build Coastguard Worker EAS_INT segmentRepeatCount; 53*f81fb7c4SAndroid Build Coastguard Worker EAS_INT numQueuedSegments; 54*f81fb7c4SAndroid Build Coastguard Worker EAS_BOOL paused; 55*f81fb7c4SAndroid Build Coastguard Worker EAS_I32 location; 56*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 currentPlayingSegment; 57*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 currentQueuedSegment; 58*f81fb7c4SAndroid Build Coastguard Worker } S_JET_STATUS; 59*f81fb7c4SAndroid Build Coastguard Worker 60*f81fb7c4SAndroid Build Coastguard Worker typedef struct s_jet_event_tag 61*f81fb7c4SAndroid Build Coastguard Worker { 62*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 segment; 63*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 channel; 64*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 track; 65*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 controller; 66*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 value; 67*f81fb7c4SAndroid Build Coastguard Worker } S_JET_EVENT; 68*f81fb7c4SAndroid Build Coastguard Worker 69*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 70*f81fb7c4SAndroid Build Coastguard Worker * JET_Init() 71*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 72*f81fb7c4SAndroid Build Coastguard Worker * Initializes the JET library, allocates memory, etc. Call 73*f81fb7c4SAndroid Build Coastguard Worker * JET_Shutdown to de-allocate memory. Pass NULL for pConfig 74*f81fb7c4SAndroid Build Coastguard Worker * to use defaults. If passing config data, configSize should be 75*f81fb7c4SAndroid Build Coastguard Worker * sizeof(S_JET_CONFIG). This allows for future expansion of the 76*f81fb7c4SAndroid Build Coastguard Worker * config structure while maintaining compatibility. 77*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 78*f81fb7c4SAndroid Build Coastguard Worker */ 79*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_Init (EAS_DATA_HANDLE easHandle, const S_JET_CONFIG *pConfig, EAS_INT configSize); 80*f81fb7c4SAndroid Build Coastguard Worker 81*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 82*f81fb7c4SAndroid Build Coastguard Worker * JET_Shutdown() 83*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 84*f81fb7c4SAndroid Build Coastguard Worker * Frees any memory used by the JET library 85*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 86*f81fb7c4SAndroid Build Coastguard Worker */ 87*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_Shutdown (EAS_DATA_HANDLE easHandle); 88*f81fb7c4SAndroid Build Coastguard Worker 89*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 90*f81fb7c4SAndroid Build Coastguard Worker * JET_OpenFile() 91*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 92*f81fb7c4SAndroid Build Coastguard Worker * Opens a JET content file for playback 93*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 94*f81fb7c4SAndroid Build Coastguard Worker */ 95*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_OpenFile (EAS_DATA_HANDLE easHandle, EAS_FILE_LOCATOR locator); 96*f81fb7c4SAndroid Build Coastguard Worker 97*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 98*f81fb7c4SAndroid Build Coastguard Worker * JET_GetAppData() 99*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 100*f81fb7c4SAndroid Build Coastguard Worker * Returns location and size of application data in the JET file 101*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 102*f81fb7c4SAndroid Build Coastguard Worker */ 103*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT JET_GetAppData (EAS_DATA_HANDLE easHandle, EAS_I32 *pAppDataOffset, EAS_I32 *pAppDataSize); 104*f81fb7c4SAndroid Build Coastguard Worker 105*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 106*f81fb7c4SAndroid Build Coastguard Worker * JET_CloseFile() 107*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 108*f81fb7c4SAndroid Build Coastguard Worker * Closes a JET content file and releases associated resources 109*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 110*f81fb7c4SAndroid Build Coastguard Worker */ 111*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_CloseFile (EAS_DATA_HANDLE easHandle); 112*f81fb7c4SAndroid Build Coastguard Worker 113*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 114*f81fb7c4SAndroid Build Coastguard Worker * JET_Status() 115*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 116*f81fb7c4SAndroid Build Coastguard Worker * Returns current status 117*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 118*f81fb7c4SAndroid Build Coastguard Worker */ 119*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_Status (EAS_DATA_HANDLE easHandle, S_JET_STATUS *pStatus); 120*f81fb7c4SAndroid Build Coastguard Worker 121*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 122*f81fb7c4SAndroid Build Coastguard Worker * JET_GetEvent() 123*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 124*f81fb7c4SAndroid Build Coastguard Worker * Checks for application events 125*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 126*f81fb7c4SAndroid Build Coastguard Worker */ 127*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_BOOL JET_GetEvent (EAS_DATA_HANDLE easHandle, EAS_U32 *pEventRaw, S_JET_EVENT *pEvent); 128*f81fb7c4SAndroid Build Coastguard Worker 129*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 130*f81fb7c4SAndroid Build Coastguard Worker * JET_ParseEvent() 131*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 132*f81fb7c4SAndroid Build Coastguard Worker * Returns current status 133*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 134*f81fb7c4SAndroid Build Coastguard Worker */ 135*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC void JET_ParseEvent (EAS_U32 event, S_JET_EVENT *pEvent); 136*f81fb7c4SAndroid Build Coastguard Worker 137*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 138*f81fb7c4SAndroid Build Coastguard Worker * JET_QueueSegment() 139*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 140*f81fb7c4SAndroid Build Coastguard Worker * Queue a segment for playback 141*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 142*f81fb7c4SAndroid Build Coastguard Worker */ 143*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_QueueSegment (EAS_DATA_HANDLE easHandle, EAS_INT segmentNum, EAS_INT libNum, EAS_INT repeatCount, EAS_INT transpose, EAS_U32 muteFlags, EAS_U8 userID); 144*f81fb7c4SAndroid Build Coastguard Worker 145*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 146*f81fb7c4SAndroid Build Coastguard Worker * JET_Play() 147*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 148*f81fb7c4SAndroid Build Coastguard Worker * Starts playback of the file 149*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 150*f81fb7c4SAndroid Build Coastguard Worker */ 151*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_Play (EAS_DATA_HANDLE easHandle); 152*f81fb7c4SAndroid Build Coastguard Worker 153*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 154*f81fb7c4SAndroid Build Coastguard Worker * JET_Pause() 155*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 156*f81fb7c4SAndroid Build Coastguard Worker * Pauses playback of the file 157*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 158*f81fb7c4SAndroid Build Coastguard Worker */ 159*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_Pause (EAS_DATA_HANDLE easHandle); 160*f81fb7c4SAndroid Build Coastguard Worker 161*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 162*f81fb7c4SAndroid Build Coastguard Worker * JET_SetMuteFlags() 163*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 164*f81fb7c4SAndroid Build Coastguard Worker * Change the state of the mute flags 165*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 166*f81fb7c4SAndroid Build Coastguard Worker */ 167*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_SetMuteFlags (EAS_DATA_HANDLE easHandle, EAS_U32 muteFlags, EAS_BOOL sync); 168*f81fb7c4SAndroid Build Coastguard Worker 169*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 170*f81fb7c4SAndroid Build Coastguard Worker * JET_SetMuteFlag() 171*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 172*f81fb7c4SAndroid Build Coastguard Worker * Change the state of a single mute flag 173*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 174*f81fb7c4SAndroid Build Coastguard Worker */ 175*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_SetMuteFlag (EAS_DATA_HANDLE easHandle, EAS_INT trackNum, EAS_BOOL muteFlag, EAS_BOOL sync); 176*f81fb7c4SAndroid Build Coastguard Worker 177*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 178*f81fb7c4SAndroid Build Coastguard Worker * JET_TriggerClip() 179*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 180*f81fb7c4SAndroid Build Coastguard Worker * Unmute a track and then mute it when it is complete 181*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 182*f81fb7c4SAndroid Build Coastguard Worker */ 183*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_TriggerClip (EAS_DATA_HANDLE easHandle, EAS_INT clipID); 184*f81fb7c4SAndroid Build Coastguard Worker 185*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 186*f81fb7c4SAndroid Build Coastguard Worker * JET_Clear_Queue() 187*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 188*f81fb7c4SAndroid Build Coastguard Worker * Clears all segments in the queue 189*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 190*f81fb7c4SAndroid Build Coastguard Worker */ 191*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT JET_Clear_Queue (EAS_DATA_HANDLE easHandle); 192*f81fb7c4SAndroid Build Coastguard Worker 193*f81fb7c4SAndroid Build Coastguard Worker #ifdef __cplusplus 194*f81fb7c4SAndroid Build Coastguard Worker } /* end extern "C" */ 195*f81fb7c4SAndroid Build Coastguard Worker #endif 196*f81fb7c4SAndroid Build Coastguard Worker 197*f81fb7c4SAndroid Build Coastguard Worker 198*f81fb7c4SAndroid Build Coastguard Worker #endif 199*f81fb7c4SAndroid Build Coastguard Worker 200