comparison src/g23m-aci/aci/ati_audio.c @ 563:d648cafa30cf

aci3: implemented AT@E1STOP and AT@E2STOP commands
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 06 Jan 2019 23:37:13 +0000
parents 8473cabf491d
children ade27cd84b97
comparison
equal deleted inserted replaced
562:adae731ae50d 563:d648cafa30cf
212 212
213 return (ATI_CMPL); 213 return (ATI_CMPL);
214 } 214 }
215 #endif 215 #endif
216 216
217 static char melody_E1_name[AUDIO_PATH_NAME_MAX_SIZE];
218
217 /* AT@E1 - play an E1 format melody */ 219 /* AT@E1 - play an E1 format melody */
218 GLOBAL T_ATI_RSLT atAtE1 ( char *cl, UBYTE srcId ) 220 GLOBAL T_ATI_RSLT atAtE1 ( char *cl, UBYTE srcId )
219 { 221 {
220 T_AUDIO_MELODY_E1_PARAMETER e1_param; 222 T_AUDIO_MELODY_E1_PARAMETER e1_param;
221 T_RV_RETURN return_path; 223 T_RV_RETURN return_path;
227 e1_param.loopback = AUDIO_MELODY_NO_LOOPBACK; 229 e1_param.loopback = AUDIO_MELODY_NO_LOOPBACK;
228 e1_param.melody_mode = AUDIO_MELODY_NORMAL_MODE; 230 e1_param.melody_mode = AUDIO_MELODY_NORMAL_MODE;
229 231
230 return_path.addr_id = NULL; 232 return_path.addr_id = NULL;
231 return_path.callback_func = audio_callback; 233 return_path.callback_func = audio_callback;
232 if (audio_melody_E1_start(&e1_param, return_path) == AUDIO_OK) 234 if (audio_melody_E1_start(&e1_param, return_path) == AUDIO_OK) {
233 return (ATI_CMPL); 235 strcpy(melody_E1_name, e1_param.melody_name);
234 else 236 return (ATI_CMPL);
235 return (ATI_FAIL); 237 } else
236 } 238 return (ATI_FAIL);
239 }
240
241 /* AT@E1STOP - stop melody started with AT@E1 */
242 GLOBAL T_ATI_RSLT atAtE1STOP ( char *cl, UBYTE srcId )
243 {
244 T_AUDIO_MELODY_E1_STOP_PARAMETER e1stop_param;
245 T_RV_RETURN return_path;
246
247 if (!melody_E1_name[0])
248 return (ATI_FAIL);
249 strcpy(e1stop_param.melody_name, melody_E1_name);
250
251 return_path.addr_id = NULL;
252 return_path.callback_func = audio_callback;
253 if (audio_melody_E1_stop(&e1stop_param, return_path) == AUDIO_OK)
254 return (ATI_CMPL);
255 else
256 return (ATI_FAIL);
257 }
258
259 static char melody_E2_name[AUDIO_PATH_NAME_MAX_SIZE];
237 260
238 /* AT@E2 - play an E2 format melody */ 261 /* AT@E2 - play an E2 format melody */
239 GLOBAL T_ATI_RSLT atAtE2 ( char *cl, UBYTE srcId ) 262 GLOBAL T_ATI_RSLT atAtE2 ( char *cl, UBYTE srcId )
240 { 263 {
241 T_AUDIO_MELODY_E2_PARAMETER e2_param; 264 T_AUDIO_MELODY_E2_PARAMETER e2_param;
248 e2_param.E2_loopback = AUDIO_MELODY_NO_LOOPBACK; 271 e2_param.E2_loopback = AUDIO_MELODY_NO_LOOPBACK;
249 e2_param.melody_E2_mode = AUDIO_MELODY_NORMAL_MODE; 272 e2_param.melody_E2_mode = AUDIO_MELODY_NORMAL_MODE;
250 273
251 return_path.addr_id = NULL; 274 return_path.addr_id = NULL;
252 return_path.callback_func = audio_callback; 275 return_path.callback_func = audio_callback;
253 if (audio_melody_E2_start(&e2_param, return_path) == AUDIO_OK) 276 if (audio_melody_E2_start(&e2_param, return_path) == AUDIO_OK) {
254 return (ATI_CMPL); 277 strcpy(melody_E2_name, e2_param.melody_E2_name);
255 else 278 return (ATI_CMPL);
279 } else
256 return (ATI_FAIL); 280 return (ATI_FAIL);
257 } 281 }
258 282
259 /* AT@E2LSI - load melody E2 instrument list file */ 283 /* AT@E2LSI - load melody E2 instrument list file */
260 GLOBAL T_ATI_RSLT atAtE2LSI ( char *cl, UBYTE srcId ) 284 GLOBAL T_ATI_RSLT atAtE2LSI ( char *cl, UBYTE srcId )
265 e2_lsi_param.melody_E2_file_name); 289 e2_lsi_param.melody_E2_file_name);
266 if (!cl || !e2_lsi_param.melody_E2_file_name[0]) 290 if (!cl || !e2_lsi_param.melody_E2_file_name[0])
267 return (ATI_FAIL); 291 return (ATI_FAIL);
268 292
269 if (audio_melody_E2_load_file_instruments(&e2_lsi_param) == AUDIO_OK) 293 if (audio_melody_E2_load_file_instruments(&e2_lsi_param) == AUDIO_OK)
294 return (ATI_CMPL);
295 else
296 return (ATI_FAIL);
297 }
298
299 /* AT@E2STOP - stop melody started with AT@E2 */
300 GLOBAL T_ATI_RSLT atAtE2STOP ( char *cl, UBYTE srcId )
301 {
302 T_AUDIO_MELODY_E2_STOP_PARAMETER e2stop_param;
303 T_RV_RETURN return_path;
304
305 if (!melody_E2_name[0])
306 return (ATI_FAIL);
307 strcpy(e2stop_param.melody_E2_name, melody_E2_name);
308
309 return_path.addr_id = NULL;
310 return_path.callback_func = audio_callback;
311 if (audio_melody_E2_stop(&e2stop_param, return_path) == AUDIO_OK)
270 return (ATI_CMPL); 312 return (ATI_CMPL);
271 else 313 else
272 return (ATI_FAIL); 314 return (ATI_FAIL);
273 } 315 }
274 316