bool music_curr_playing() { int ret = musicdrv_get_status(); if (ret == ST_PLAYING) return true; return false; }
int music_ispaused(void) { int ret = musicdrv_get_status(); if (ret == ST_PAUSED) return 1; else return 0; }
static int musicdrv_has_stop(void) { int ret; ret = musicdrv_get_status(); if (ret == ST_STOPPED || ret == ST_UNKNOWN || ret == ST_LOADED) { return true; } return false; }
int music_fbackward(int sec) { int ret; ret = musicdrv_get_status(); if (ret < 0) return ret; if (ret == ST_PLAYING || ret == ST_PAUSED) ret = musicdrv_fbackward(sec); else ret = 0; return ret; }
int music_get_info(struct music_info *info) { int ret; if (info == NULL) return -EINVAL; ret = musicdrv_get_status(); if (ret != ST_UNKNOWN) { return musicdrv_get_info(info); } return -EBUSY; }
int music_stop(void) { int ret; ret = musicdrv_get_status(); if (ret < 0) return ret; if (ret == ST_PLAYING || ret == ST_PAUSED || ret == ST_LOADED || ret == ST_STOPPED || ret == ST_FFORWARD || ret == ST_FBACKWARD) { ret = musicdrv_end(); } else ret = 0; return ret; }
int music_list_playorpause(void) { music_lock(); if (!g_list.is_list_playing) g_list.is_list_playing = true; else { int ret = musicdrv_get_status(); if (ret < 0) { music_unlock(); return ret; } if (ret == ST_PLAYING) musicdrv_pause(); else if (ret == ST_PAUSED) musicdrv_play(); } music_unlock(); return 0; }