Added N to play next song
This commit is contained in:
@ -157,6 +157,25 @@ void Audio::start(){
|
||||
playing = true;
|
||||
}
|
||||
|
||||
void Audio::skipToNextTrack(){
|
||||
if(!ensureStream()) return;
|
||||
|
||||
// If menu music is active, just restart the looped menu track
|
||||
if(isMenuMusic){
|
||||
if(menuTrack.ok){
|
||||
menuTrack.cursor = 0;
|
||||
playing = true;
|
||||
SDL_ResumeAudioStreamDevice(audioStream);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if(tracks.empty()) return;
|
||||
nextTrack();
|
||||
playing = true;
|
||||
SDL_ResumeAudioStreamDevice(audioStream);
|
||||
}
|
||||
|
||||
void Audio::toggleMute(){ muted=!muted; }
|
||||
void Audio::setMuted(bool m){ muted=m; }
|
||||
|
||||
|
||||
@ -42,6 +42,7 @@ public:
|
||||
int getLoadedTrackCount() const; // get number of tracks loaded so far
|
||||
void shuffle(); // randomize order
|
||||
void start(); // begin playback
|
||||
void skipToNextTrack(); // advance to the next music track
|
||||
void toggleMute();
|
||||
void setMuted(bool m);
|
||||
bool isMuted() const { return muted; }
|
||||
|
||||
@ -352,6 +352,16 @@ bool ApplicationManager::initializeManagers() {
|
||||
consume = true;
|
||||
}
|
||||
|
||||
// N: Skip to next song in the playlist (or restart menu track)
|
||||
if (!consume && sc == SDL_SCANCODE_N) {
|
||||
Audio::instance().skipToNextTrack();
|
||||
if (!m_musicStarted && Audio::instance().getLoadedTrackCount() > 0) {
|
||||
m_musicStarted = true;
|
||||
m_musicEnabled = true;
|
||||
}
|
||||
consume = true;
|
||||
}
|
||||
|
||||
if (!consume && sc == SDL_SCANCODE_H) {
|
||||
AppState currentState = m_stateManager ? m_stateManager->getState() : AppState::Loading;
|
||||
if (currentState != AppState::Loading) {
|
||||
|
||||
Reference in New Issue
Block a user