int music_resume(void) { struct music_file *fl = music_get(g_list.curr_pos); int ret; dbg_printf(d, "%s", __func__); if (fl == NULL) { dbg_printf(d, "%s: Resume failed!", __func__); music_unlock(); return -1; } ret = musicdrv_resume(fl->shortpath->ptr, fl->longpath->ptr); if (ret < 0) { dbg_printf(d, "%s %d: Resume failed!", __func__, __LINE__); music_unlock(); return ret; } g_list.is_list_playing = prev_is_playing; music_unlock(); return 0; }
int music_list_save(const char *path) { FILE *fp; int i; int fid; if (path == NULL) return -EINVAL; fp = fopen(path, "wt"); if (fp == NULL) return -EBADFD; fid = freq_enter_hotzone(); for (i = 0; i < music_maxindex(); i++) { struct music_file *file; file = music_get(i); if (file == NULL) continue; fprintf(fp, "%s\n", file->shortpath->ptr); fprintf(fp, "%s\n", file->longpath->ptr); } fclose(fp); freq_leave(fid); return true; }
int music_load(int i) { struct music_file *file = music_get(i); int ret; char lyricname[PATH_MAX]; char lyricshortname[PATH_MAX]; if (file == NULL) return -EINVAL; ret = music_stop(); if (ret < 0) return ret; ret = music_setupdriver(file->shortpath->ptr, file->longpath->ptr); if (ret < 0) return ret; ret = music_load_config(); if (ret < 0) return ret; ret = musicdrv_load(file->shortpath->ptr, file->longpath->ptr); if (ret < 0) return ret; #ifdef ENABLE_LYRIC lyric_close(&lyric); if (tag_lyric && tag_lyric->used != 0) { lyric_open_raw(&lyric, tag_lyric->ptr, tag_lyric->used); buffer_free(tag_lyric); tag_lyric = NULL; } else { int lsize; strncpy_s(lyricname, NELEMS(lyricname), file->longpath->ptr, PATH_MAX); lsize = strlen(lyricname); lyricname[lsize - 3] = 'l'; lyricname[lsize - 2] = 'r'; lyricname[lsize - 1] = 'c'; if (fat_longnametoshortname(lyricshortname, lyricname, PATH_MAX)) lyric_open(&lyric, lyricshortname); } #endif return ret; }
char* music_getStatus() { static char ret[400]; return music_get(ret, "mpc | sed '2q;d' | awk '{print $1}' | sed 's/\\[\\|\\]//g'"); }
char* music_getTime() { static char ret[400]; return music_get(ret, "mpc | sed '2q;d' | awk '{print $3}'"); }