Skip to content

Commit c2913e7

Browse files
update album/title info
1 parent cc3100d commit c2913e7

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

YX5300_AudioPlayer/YX5300_AudioPlayer.cpp

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,21 @@ void YX5300_AudioPlayer::loop() {
131131
* @param tracks
132132
*/
133133
void YX5300_AudioPlayer::setTrackList(std::vector<String> folders, std::vector<String> tracks) {
134+
_originalFolders = folders;
135+
_originalTracks = tracks;
136+
137+
setPlayList();
138+
}
139+
140+
/**
141+
* Set play list title and album data.
142+
*/
143+
void YX5300_AudioPlayer::setPlayList() {
134144
// save track information
135145
for (size_t x = 0; x < _playList.size(); ++x) {
136146
Track item = _playList.at(x);
137-
_playList.at(x).title = tracks.at(item.index - 1);
138-
_playList.at(x).album = folders.at(item.folder - 1);
147+
_playList.at(x).title = _originalTracks.at(item.index - 1);
148+
_playList.at(x).album = _originalFolders.at(item.folder - 1);
139149
/*
140150
Log.info(F("Track %d in folder %d: %s (%s)" CR),
141151
item.index,
@@ -402,6 +412,11 @@ void YX5300_AudioPlayer::createRandomPlayList(uint8_t folder) {
402412
Track YX5300_AudioPlayer::getRandomTrack(uint8_t folder) {
403413
createRandomPlayList(folder);
404414

415+
if (_playListCompleted.size() == 0) {
416+
// update title/album info
417+
setPlayList();
418+
}
419+
405420
// pick first randomized track, remove it from the playlist,
406421
// and add it to the completed playlist.
407422
Track tr = _playList.at(0);

YX5300_AudioPlayer/YX5300_AudioPlayer.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class YX5300_AudioPlayer {
6262
void setTimeout(uint32_t timeout = 200);
6363
void setVolume(uint8_t volume);
6464
void setEqualizerMode(uint8_t mode);
65+
void setPlayList();
6566
void setTrackList(std::vector<String> folders, std::vector<String> tracks);
6667
uint8_t getMaxVolume();
6768
void queryFile();
@@ -87,6 +88,8 @@ class YX5300_AudioPlayer {
8788
bool _shuffleEnabled = false;
8889
bool _shuffleAll = true;
8990

91+
std::vector<String> _originalFolders;
92+
std::vector<String> _originalTracks;
9093
std::vector<int> _folders;
9194
std::vector<Track> _playList;
9295
std::vector<Track> _playListCompleted;

0 commit comments

Comments
 (0)