xref: /aosp_15_r20/external/sonivox/arm-wt-22k/host_src/jet.h (revision f81fb7c475c4b71ff83bdcc517de2a8c174e4e5c)
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