Added N to play next song
This commit is contained in:
@ -157,6 +157,25 @@ void Audio::start(){
|
|||||||
playing = true;
|
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::toggleMute(){ muted=!muted; }
|
||||||
void Audio::setMuted(bool m){ muted=m; }
|
void Audio::setMuted(bool m){ muted=m; }
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,7 @@ public:
|
|||||||
int getLoadedTrackCount() const; // get number of tracks loaded so far
|
int getLoadedTrackCount() const; // get number of tracks loaded so far
|
||||||
void shuffle(); // randomize order
|
void shuffle(); // randomize order
|
||||||
void start(); // begin playback
|
void start(); // begin playback
|
||||||
|
void skipToNextTrack(); // advance to the next music track
|
||||||
void toggleMute();
|
void toggleMute();
|
||||||
void setMuted(bool m);
|
void setMuted(bool m);
|
||||||
bool isMuted() const { return muted; }
|
bool isMuted() const { return muted; }
|
||||||
|
|||||||
@ -352,6 +352,16 @@ bool ApplicationManager::initializeManagers() {
|
|||||||
consume = true;
|
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) {
|
if (!consume && sc == SDL_SCANCODE_H) {
|
||||||
AppState currentState = m_stateManager ? m_stateManager->getState() : AppState::Loading;
|
AppState currentState = m_stateManager ? m_stateManager->getState() : AppState::Loading;
|
||||||
if (currentState != AppState::Loading) {
|
if (currentState != AppState::Loading) {
|
||||||
|
|||||||
Reference in New Issue
Block a user