Boerge1
10. Dezember 2023 um 13:06
4
yeti5:
und im previousTrack war mir die Bedinung mit mp3.getCurrentTrack() > numTracksInFolder unklar und ich habe das zu > 1 angepasst:
void Tonuino::previousTrack(uint8_t tracks) {
LOG(play_log, s_info, F("previousTrack"));
if (activeModifier->handlePrevious())
return;
if (mp3.isPlayingFolder() && (myFolder->mode == pmode_t::hoerbuch || myFolder->mode == pmode_t::hoerbuch_1)) {
const uint8_t trackToSave = (mp3.getCurrentTrack() > 1) ? mp3.getCurrentTrack()-1 : 1;
settings.writeFolderSettingToFlash(myFolder->folder, trackToSave);
}
mp3.playPrevious(tracks);
}
Ja, das ist ein Bug, den ich auch selber schon gefunden hatte. Siehe Issue_147 . Ich arbeite gerade an einem Fix dafür.
yeti5:
Außerdem noch im mp3 kein Stop der Wiedergabe bei erreichen des ersten Tracks:
void Mp3::playPrevious(uint8_t tracks) {
if (playing == play_folder && (current_track > 0 || endless)) {
int current_track_tmp = static_cast<int>(current_track) - tracks;
current_track = endless ? (current_track_tmp%q.size()+q.size()) % q.size() : max(current_track_tmp, 0);
LOG(mp3_log, s_debug, F("playPrevious: "), current_track);
playCurrent();
}
else if(playing == play_folder && current_track == 0) {
}else {
LOG(mp3_log, s_debug, F("playPrevious: stop"));
clearAllQueue();
playing = play_none;
}
}
Das wird gerade in diesem Thread diskutiert und es gibt auch schon ein Issue_148 dazu.
Hmm, ich weiß nicht ob das allgemein so gewollt wird. Für alle, die das für die Lautstärke nehmen, ist 200ms besser. Aber natürlich kann ja jeder selber den Code nach seinen Bedürfnissen anpassen.