96 lines
2.4 KiB
C
96 lines
2.4 KiB
C
#include "includes.h"
|
||
#include "ui/ui_api.h"
|
||
#include "led_lyric.h"
|
||
#include "audio_dec.h"
|
||
#include "audio_dec_file.h"
|
||
#include "music/music_player.h"
|
||
#include "ui/lyrics.h"
|
||
|
||
#if TCFG_APP_MUSIC_EN
|
||
|
||
#if (TCFG_UI_ENABLE && (CONFIG_UI_STYLE == STYLE_JL_LED_LYRICS))
|
||
|
||
static void lrc_show_music(void)
|
||
{
|
||
u8 buf[50] = {"MUSIC TASK"};
|
||
lyrics_update_font(buf, strlen(buf), NULL);
|
||
}
|
||
|
||
static void lrc_show_puase(void)
|
||
{
|
||
u8 buf[50] = {"MUSIC PAUSE"};
|
||
lyrics_update_font(buf, strlen(buf), NULL);
|
||
}
|
||
|
||
static void lrc_show_file_name(void)
|
||
{
|
||
u8 music_file_name[256] = {0};
|
||
u8 music_file_name_len = 0;
|
||
music_file_name_len = fget_name(music_player_get_file_hdl(), music_file_name, sizeof(music_file_name));
|
||
if ((music_file_name[0] == '\\') && (music_file_name[1] == 'U')) {
|
||
music_file_name_len -= 2;
|
||
lyrics_update_unicbuf(music_file_name + 2, music_file_name_len);
|
||
} else {
|
||
lyrics_update_gbk_to_utf8(music_file_name, music_file_name_len);
|
||
}
|
||
}
|
||
|
||
static void lyric_ui_music_open(void)
|
||
{
|
||
lyric_ui_set_auto_reflash(500);//设置主页500ms自动刷新
|
||
}
|
||
|
||
static void lyric_ui_close_music(void)
|
||
{
|
||
//lyrics_hide_update();
|
||
}
|
||
|
||
static void lyric_ui_music_main(void) //主界面显示
|
||
{
|
||
static LYRIC_INFO info;
|
||
if (true == file_dec_is_play()) {
|
||
u16 dbtime_gap = lyric_btime_gap_get(file_dec_get_cur_time(), 0);
|
||
u16 total = file_dec_get_total_time();
|
||
u16 curr = file_dec_get_cur_time();
|
||
bool ret = user_lyric_info_get(&info, curr, 0);
|
||
if (ret && info.update) {
|
||
lyrics_update_font(info.buf, info.len, NULL);
|
||
} else if (ret == 0) {
|
||
lrc_show_file_name();
|
||
}
|
||
} else if (file_dec_is_pause()) {
|
||
lrc_show_puase();
|
||
} else {
|
||
printf("!!! %s %d\n", __FUNCTION__, __LINE__);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
static int lyric_ui_music_user(u8 menu, u32 arg)//子界面显示 //返回true不继续传递 ,返回false由common统一处理
|
||
{
|
||
int ret = true;
|
||
switch (menu) {
|
||
case MENU_FILENUM:
|
||
break;
|
||
case MENU_MUSIC_REPEATMODE:
|
||
break;
|
||
default:
|
||
ret = false;
|
||
break;
|
||
}
|
||
return ret;
|
||
|
||
}
|
||
|
||
const struct lyric_ui_dis lyric_music_main = {
|
||
.lyric_ui = LED_LYRICS_MUSIC_MENU_MAIN,
|
||
.lyric_open = lyric_ui_music_open,
|
||
.lyric_ui_main = lyric_ui_music_main,
|
||
.lyric_ui_user = lyric_ui_music_user,
|
||
.lyric_close = lyric_ui_close_music,
|
||
};
|
||
|
||
#endif
|
||
#endif
|