audio: Load tracks by trackid

Used to select specific tracks to play.

Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
Anna Schumaker 2014-01-26 12:42:13 -05:00 committed by Anna Schumaker
parent d434b7ebbb
commit 6659f18de3
2 changed files with 18 additions and 0 deletions

View File

@ -23,6 +23,7 @@ namespace audio
void stop(); void stop();
void next(); void next();
void previous(); void previous();
void load_trackid(unsigned int);
unsigned int current_trackid(); unsigned int current_trackid();
Playqueue *get_recent_pq(); Playqueue *get_recent_pq();

View File

@ -183,6 +183,23 @@ void audio :: previous()
cur_trackid = id; cur_trackid = id;
} }
void audio :: load_trackid(unsigned int track_id)
{
library :: Song song;
if (track_id == cur_trackid)
return;
track_loaded = false;
library :: lookup(track_id, &song);
load_song(song);
track_loaded = true;
cur_trackid = track_id;
o_recently_played.add_front(track_id);
o_recently_played.reset_cur();
}
unsigned int audio :: current_trackid() unsigned int audio :: current_trackid()
{ {
if (track_loaded == false) if (track_loaded == false)