?? song_task.lst
字號:
227 6 }
228 5 gl_key_press = FALSE; /* ack key usage */
229 5 }
230 4 }
231 3 break;
232 3 }
233 2
234 2
235 2 case SONG_IDLE: /* no file openned */
236 2 {
237 3 if (gl_key_press) /* a key is pressed? */
238 3 {
239 4 switch (gl_key)
C51 COMPILER V7.00 SONG_TASK 04/28/2004 09:31:56 PAGE 5
240 4 {
241 5 case KEY_PLAY:
242 5 if (File_type() == FILE_DIR)
243 5 {
244 6 file_entry_dir(FILE_MP3 | FILE_DIR); /* goto sub-directory */
245 6 print_file_name(); /* display directory name */
246 6 }
247 5 else
248 5 { /* file_type is MP3 */
249 6 song_state = SONG_INIT;
250 6 }
251 5 break;
252 5
253 5 case KEY_NEXT:
254 5 file_seek_next(FILE_MP3 | FILE_DIR, TRUE); /* select next song with loop */
255 5 print_file_name(); /* display file name */
256 5 break;
257 5
258 5 case KEY_PREV:
259 5 file_seek_prev(FILE_MP3 | FILE_DIR, TRUE); /* select previous song */
260 5 print_file_name(); /* display file name */
261 5 break;
262 5
263 5 case KEY_INC:
264 5 song_snd_inc(); /* increment selected control */
265 5 print_sound_level(); /* display new level */
266 5 break;
267 5
268 5 case KEY_DEC:
269 5 song_snd_dec(); /* decrement selected control */
270 5 print_sound_level(); /* display new level */
271 5 break;
272 5
273 5 case KEY_SOUND:
274 5 song_snd_select(); /* select next sound control */
275 5 print_sound(); /* display selected sound icon */
276 5 print_sound_level(); /* display new level */
277 5 break;
278 5
279 5 case KEY_PARENT:
280 5 File_goto_parent(FILE_MP3 | FILE_DIR); /* goto parent directory */
281 5 print_file_name(); /* display first file name */
282 5 break;
283 5
284 5 case KEY_MODE:
285 5 mode_set_init(); /* exit from song task */
286 5 disp_name_stop();
287 5 song_state = SONG_START;
288 5 break;
289 5
290 5 case KEY_MEM:
291 5 mem_select_next(); /* select next memory */
292 5 disp_name_stop();
293 5 song_state = SONG_START;
294 5 break;
295 5
296 5 default:
297 5 break;
298 5 }
299 4 gl_key_press = FALSE; /* ack key usage */
300 4 }
301 3 else
C51 COMPILER V7.00 SONG_TASK 04/28/2004 09:31:56 PAGE 6
302 3 { /* check card presence */
303 4 if (mem_check_card() == KO)
304 4 {
305 5 disp_name_stop();
306 5 mem_select_next();
307 5 song_state = SONG_START; /* card has been unplugged */
308 5 }
309 4 }
310 3 break;
311 3 }
312 2
313 2
314 2 case SONG_INIT:
315 2 {
316 3 disp_clock_reset(); /* reset clock timer */
317 3 if (Fopen(READ) == OK)
318 3 {
319 4 if (song_init() != SONG_NO_ERR) /* init song playing */
320 4 {
321 5 song_stop(); /* stop playing song */
322 5 Fclose();
323 5 loop = song_loop;
324 5 song_state = SONG_NEXT;
325 5 }
326 4 else
327 4 {
328 5 song_state = SONG_PLL;
329 5 }
330 4 }
331 3 else
332 3 {
333 4 song_state = SONG_ERROR;
334 4 }
335 3 break;
336 3 }
337 2
338 2
339 2 case SONG_PLL:
340 2 {
341 3 if (Pll_get_lock()) /* pll locked? */
342 3 {
343 4 song_start(); /* start playing song */
344 4 disp_clock_start(); /* start clock timer */
345 4 print_state_play(); /* display play icon */
346 4 song_state = SONG_PLAY;
347 4 }
348 3 break;
349 3 }
350 2
351 2
352 2 case SONG_PLAY:
353 2 {
354 3 if (Feof() == TRUE)
355 3 { /* end of file reached */
356 4 song_stop(); /* stop playing song */
357 4 Fclose();
358 4 loop = song_loop;
359 4 song_state = SONG_NEXT;
360 4 gl_key_press = FALSE; /* no key usage */
361 4 }
362 3
363 3 if (gl_key_press) /* a key is pressed? */
C51 COMPILER V7.00 SONG_TASK 04/28/2004 09:31:56 PAGE 7
364 3 {
365 4 switch (gl_key)
366 4 {
367 5 case KEY_PAUSE:
368 5 Aud_song_pause(); /* suspend sample request */
369 5 disp_clock_stop(); /* suspend clock timer */
370 5 print_state_pause(); /* display pause icon */
371 5 song_state = SONG_PAUSE;
372 5 break;
373 5
374 5 case KEY_NEXT:
375 5 song_pause(); /* pause playing song */
376 5 disp_clock_stop(); /* suspend clock timer */
377 5 Fclose();
378 5 loop = TRUE; /* keypad action so loop */
379 5 song_state = SONG_NEXT;
380 5 break;
381 5
382 5 case KEY_PREV:
383 5 song_pause(); /* pause playing song */
384 5 disp_clock_stop(); /* suspend clock timer */
385 5 Fclose();
386 5 loop = TRUE;
387 5 song_state = SONG_PREV;
388 5 break;
389 5
390 5 case KEY_INC:
391 5 song_snd_inc(); /* increment selected control */
392 5 print_sound_level(); /* display new level */
393 5 break;
394 5
395 5 case KEY_DEC:
396 5 song_snd_dec(); /* decrement selected control */
397 5 print_sound_level(); /* display new level */
398 5 break;
399 5
400 5 case KEY_SOUND:
401 5 song_snd_select(); /* select next sound control */
402 5 print_sound(); /* display selected sound icon */
403 5 print_sound_level(); /* display new level */
404 5 break;
405 5
406 5 case KEY_REPEAT:
407 5 song_loop = ~song_loop; /* display repeat or not */
408 5 print_repeat(song_loop);
409 5 break;
410 5
411 5 case KEY_STOP:
412 5 song_stop(); /* stop playing song */
413 5 Fclose();
414 5 song_state = SONG_STOP;
415 5 break;
416 5
417 5 default:
418 5 break;
419 5 }
420 4 gl_key_press = FALSE; /* ack key usage */
421 4 }
422 3 break;
423 3 }
424 2
425 2
C51 COMPILER V7.00 SONG_TASK 04/28/2004 09:31:56 PAGE 8
426 2 case SONG_PAUSE: /* one file openned */
427 2 {
428 3 if (gl_key_press) /* a key is pressed? */
429 3 {
430 4 switch (gl_key)
431 4 {
432 5 case KEY_PLAY:
433 5 disp_clock_start(); /* restart clock timer */
434 5 Aud_song_play(); /* restart sample request */
435 5 print_state_play(); /* display play icon */
436 5 song_state = SONG_PLAY;
437 5 break;
438 5
439 5 case KEY_NEXT:
440 5 song_pause(); /* pause playing song */
441 5 Fclose();
442 5 loop = TRUE; /* keypad action so loop */
443 5 song_state = SONG_NEXT;
444 5 break;
445 5
446 5 case KEY_PREV:
447 5 song_pause(); /* pause playing song */
448 5 Fclose();
449 5 loop = TRUE; /* keypad action so loop */
450 5 song_state = SONG_PREV;
451 5 break;
452 5
453 5 case KEY_INC:
454 5 song_snd_inc(); /* increment selected control */
455 5 print_sound_level(); /* display new level */
456 5 break;
457 5
458 5 case KEY_DEC:
459 5 song_snd_dec(); /* decrement selected control */
460 5 print_sound_level(); /* display new level */
461 5 break;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -