Esempio n. 1
0
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;
}
Esempio n. 2
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;
}
Esempio n. 3
0
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;
}
Esempio n. 4
0
char* music_getStatus() {
	static char ret[400];
	return music_get(ret, "mpc | sed '2q;d' | awk '{print $1}' | sed 's/\\[\\|\\]//g'");
}
Esempio n. 5
0
char* music_getTime() {
	static char ret[400];
	return music_get(ret, "mpc | sed '2q;d' | awk '{print $3}'");
}