func_music.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef _FUNC_MUSIC_H
  2. #define _FUNC_MUSIC_H
  3. typedef struct {
  4. u8 min; //minute
  5. u8 sec; //second
  6. } msc_time_t;
  7. typedef struct {
  8. u32 frame_count; //current frame count
  9. u32 file_ptr; //file ptr of current frame
  10. u16 fname_crc; //file name crc
  11. } msc_breakpiont_t;
  12. typedef struct {
  13. u8 pause : 1,
  14. file_change : 1,
  15. dev_change : 2,
  16. cur_dev : 2,
  17. brkpt_flag : 1,
  18. prev_flag : 1;
  19. u8 rec_type : 1,
  20. rec_scan : 2,
  21. encrypt : 1;
  22. u8 type; //ÒôÀÖ¸ñʽ
  23. u32 bit_rate; //ÒôÀÖÂëÂÊ
  24. char *fname;
  25. msc_time_t alltime; //music file total time
  26. msc_time_t curtime; //music current playing time
  27. u16 file_num;
  28. u16 file_total;
  29. u16 dir_num; //directory current number
  30. u16 dir_total; //directory total number
  31. #if MUSIC_BREAKPOINT_EN
  32. msc_breakpiont_t brkpt; //music breakpoint info
  33. #endif // MUSIC_BREAKPOINT_EN
  34. #if MUSIC_LRC_EN
  35. u8 lrc_sta;
  36. u8 lrc_encoding;
  37. #endif // MUSIC_LRC_EN
  38. } func_msc_t;
  39. extern func_msc_t f_msc;
  40. void func_music_message(u16 msg);
  41. void func_music_switch_file(u8 direction);
  42. void func_music_switch_dir(u8 direction);
  43. void func_music_select_dir(u16 sel_num);
  44. bool func_music_auto_next_device(void);
  45. void func_music_mp3_res_play(u32 addr, u32 len);
  46. bool func_music_filter_switch(u8 rec_type);
  47. void func_music_filter_set(void);
  48. void func_music_insert_device(u8 dev);
  49. void func_music_remove_device(u8 dev);
  50. void func_music_file_navigation(void);
  51. #if (GUI_SELECT != GUI_NO)
  52. void func_music_display(void);
  53. void func_music_enter_display(void);
  54. void func_music_exit_display(void);
  55. void func_music_disp_stauts(void);
  56. void func_music_disp_fname(void);
  57. void func_music_disp_freq_spectrum(void);
  58. void func_music_disp_lrc(void);
  59. #else
  60. #define func_music_display() gui_box_process()
  61. #define func_music_enter_display()
  62. #define func_music_exit_display()
  63. #endif
  64. #endif // _FUNC_MUSIC_H