|
|
|
|
@ -331,14 +331,14 @@ void MouseEvent::run() |
|
|
|
|
&& m_mouse_event.y == LINES-(Config.statusbar_visibility ? 2 : 1) |
|
|
|
|
) // progressbar
|
|
|
|
|
{ |
|
|
|
|
if (Status::State::player() == MPD::psStop) |
|
|
|
|
if (Status::get().playerState() == MPD::psStop) |
|
|
|
|
return; |
|
|
|
|
Mpd.Seek(myPlaylist->currentSongPosition(), |
|
|
|
|
myPlaylist->currentSongLength()*m_mouse_event.x/double(COLS)); |
|
|
|
|
Mpd.Seek(Status::get().currentSongPosition(), |
|
|
|
|
Status::get().totalTime()*m_mouse_event.x/double(COLS)); |
|
|
|
|
} |
|
|
|
|
else if (m_mouse_event.bstate & BUTTON1_PRESSED |
|
|
|
|
&& (Config.statusbar_visibility || Config.design == Design::Alternative) |
|
|
|
|
&& Status::State::player() != MPD::psStop |
|
|
|
|
&& Status::get().playerState() != MPD::psStop |
|
|
|
|
&& m_mouse_event.y == (Config.design == Design::Alternative ? 1 : LINES-1) |
|
|
|
|
&& m_mouse_event.x < 9 |
|
|
|
|
) // playing/paused
|
|
|
|
|
@ -616,13 +616,13 @@ void SlaveScreen::run() |
|
|
|
|
|
|
|
|
|
void VolumeUp::run() |
|
|
|
|
{ |
|
|
|
|
int volume = std::min(Status::State::volume()+Config.volume_change_step, 100u); |
|
|
|
|
int volume = std::min(Status::get().volume()+Config.volume_change_step, 100u); |
|
|
|
|
Mpd.SetVolume(volume); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void VolumeDown::run() |
|
|
|
|
{ |
|
|
|
|
int volume = std::max(int(Status::State::volume()-Config.volume_change_step), 0); |
|
|
|
|
int volume = std::max(int(Status::get().volume()-Config.volume_change_step), 0); |
|
|
|
|
Mpd.SetVolume(volume); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -744,8 +744,8 @@ void DeleteStoredPlaylist::run() |
|
|
|
|
|
|
|
|
|
void ReplaySong::run() |
|
|
|
|
{ |
|
|
|
|
if (Status::State::player() != MPD::psStop) |
|
|
|
|
Mpd.Seek(myPlaylist->currentSongPosition(), 0); |
|
|
|
|
if (Status::get().playerState() != MPD::psStop) |
|
|
|
|
Mpd.Seek(Status::get().currentSongPosition(), 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void PreviousSong::run() |
|
|
|
|
@ -979,7 +979,7 @@ void Add::run() |
|
|
|
|
|
|
|
|
|
bool SeekForward::canBeRun() const |
|
|
|
|
{ |
|
|
|
|
return Status::State::player() != MPD::psStop && myPlaylist->currentSongLength() > 0; |
|
|
|
|
return Status::get().playerState() != MPD::psStop && Status::get().totalTime() > 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SeekForward::run() |
|
|
|
|
@ -989,7 +989,7 @@ void SeekForward::run() |
|
|
|
|
|
|
|
|
|
bool SeekBackward::canBeRun() const |
|
|
|
|
{ |
|
|
|
|
return Status::State::player() != MPD::psStop && myPlaylist->currentSongLength() > 0; |
|
|
|
|
return Status::get().playerState() != MPD::psStop && Status::get().totalTime() > 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SeekBackward::run() |
|
|
|
|
@ -1140,9 +1140,9 @@ void TogglePlayingSongCentering::run() |
|
|
|
|
Config.autocenter_mode ? "on" : "off" |
|
|
|
|
); |
|
|
|
|
if (Config.autocenter_mode |
|
|
|
|
&& Status::State::player() != MPD::psStop |
|
|
|
|
&& Status::get().playerState() != MPD::psStop |
|
|
|
|
&& !myPlaylist->main().isFiltered()) |
|
|
|
|
myPlaylist->main().highlight(myPlaylist->currentSongPosition()); |
|
|
|
|
myPlaylist->main().highlight(Status::get().currentSongPosition()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UpdateDatabase::run() |
|
|
|
|
@ -1162,13 +1162,13 @@ bool JumpToPlayingSong::canBeRun() const |
|
|
|
|
return ((myScreen == myPlaylist && !myPlaylist->isFiltered()) |
|
|
|
|
|| myScreen == myBrowser |
|
|
|
|
|| myScreen == myLibrary) |
|
|
|
|
&& Status::State::player() != MPD::psStop; |
|
|
|
|
&& Status::get().playerState() != MPD::psStop; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void JumpToPlayingSong::run() |
|
|
|
|
{ |
|
|
|
|
if (myScreen == myPlaylist) |
|
|
|
|
myPlaylist->main().highlight(myPlaylist->currentSongPosition()); |
|
|
|
|
myPlaylist->main().highlight(Status::get().currentSongPosition()); |
|
|
|
|
else if (myScreen == myBrowser) |
|
|
|
|
{ |
|
|
|
|
myBrowser->LocateSong(myPlaylist->nowPlayingSong()); |
|
|
|
|
@ -1182,7 +1182,7 @@ void JumpToPlayingSong::run() |
|
|
|
|
|
|
|
|
|
void ToggleRepeat::run() |
|
|
|
|
{ |
|
|
|
|
Mpd.SetRepeat(!Status::State::repeat()); |
|
|
|
|
Mpd.SetRepeat(!Status::get().repeat()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void Shuffle::run() |
|
|
|
|
@ -1192,7 +1192,7 @@ void Shuffle::run() |
|
|
|
|
|
|
|
|
|
void ToggleRandom::run() |
|
|
|
|
{ |
|
|
|
|
Mpd.SetRandom(!Status::State::random()); |
|
|
|
|
Mpd.SetRandom(!Status::get().random()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool StartSearching::canBeRun() const |
|
|
|
|
@ -1237,17 +1237,17 @@ void SaveTagChanges::run() |
|
|
|
|
|
|
|
|
|
void ToggleSingle::run() |
|
|
|
|
{ |
|
|
|
|
Mpd.SetSingle(!Status::State::single()); |
|
|
|
|
Mpd.SetSingle(!Status::get().single()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ToggleConsume::run() |
|
|
|
|
{ |
|
|
|
|
Mpd.SetConsume(!Status::State::consume()); |
|
|
|
|
Mpd.SetConsume(!Status::get().consume()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ToggleCrossfade::run() |
|
|
|
|
{ |
|
|
|
|
Mpd.SetCrossfade(Status::State::crossfade() ? 0 : Config.crossfade_time); |
|
|
|
|
Mpd.SetCrossfade(Status::get().crossfade() ? 0 : Config.crossfade_time); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SetCrossfade::run() |
|
|
|
|
@ -1612,7 +1612,7 @@ void JumpToTagEditor::run() |
|
|
|
|
|
|
|
|
|
bool JumpToPositionInSong::canBeRun() const |
|
|
|
|
{ |
|
|
|
|
return Status::State::player() != MPD::psStop && myPlaylist->currentSongLength() > 0; |
|
|
|
|
return Status::get().playerState() != MPD::psStop && Status::get().totalTime() > 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void JumpToPositionInSong::run() |
|
|
|
|
@ -2668,7 +2668,7 @@ void seek() |
|
|
|
|
using Global::Timer; |
|
|
|
|
using Global::SeekingInProgress; |
|
|
|
|
|
|
|
|
|
if (!myPlaylist->currentSongLength()) |
|
|
|
|
if (!Status::get().totalTime()) |
|
|
|
|
{ |
|
|
|
|
Statusbar::print("Unknown item length"); |
|
|
|
|
return; |
|
|
|
|
@ -2676,8 +2676,8 @@ void seek() |
|
|
|
|
|
|
|
|
|
Progressbar::lock(); |
|
|
|
|
Statusbar::lock(); |
|
|
|
|
|
|
|
|
|
unsigned songpos = Status::State::elapsedTime(); |
|
|
|
|
|
|
|
|
|
unsigned songpos = Status::elapsedTime(); |
|
|
|
|
auto t = Timer; |
|
|
|
|
|
|
|
|
|
int old_timeout = wFooter->getTimeout(); |
|
|
|
|
@ -2702,8 +2702,8 @@ void seek() |
|
|
|
|
auto a = k.first->action(); |
|
|
|
|
if (a == seekForward) |
|
|
|
|
{ |
|
|
|
|
if (songpos < myPlaylist->currentSongLength()) |
|
|
|
|
songpos = std::min(songpos + howmuch, myPlaylist->currentSongLength()); |
|
|
|
|
if (songpos < Status::get().totalTime()) |
|
|
|
|
songpos = std::min(songpos + howmuch, Status::get().totalTime()); |
|
|
|
|
} |
|
|
|
|
else if (a == seekBackward) |
|
|
|
|
{ |
|
|
|
|
@ -2727,12 +2727,12 @@ void seek() |
|
|
|
|
if (Config.display_remaining_time) |
|
|
|
|
{ |
|
|
|
|
tracklength += "-"; |
|
|
|
|
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength()-songpos); |
|
|
|
|
tracklength += MPD::Song::ShowTime(Status::get().totalTime()-songpos); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
tracklength += MPD::Song::ShowTime(songpos); |
|
|
|
|
tracklength += "/"; |
|
|
|
|
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength()); |
|
|
|
|
tracklength += MPD::Song::ShowTime(Status::get().totalTime()); |
|
|
|
|
tracklength += "]"; |
|
|
|
|
*wFooter << NC::XY(wFooter->getWidth()-tracklength.length(), 1) << tracklength; |
|
|
|
|
break; |
|
|
|
|
@ -2740,22 +2740,22 @@ void seek() |
|
|
|
|
if (Config.display_remaining_time) |
|
|
|
|
{ |
|
|
|
|
tracklength = "-"; |
|
|
|
|
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength()-songpos); |
|
|
|
|
tracklength += MPD::Song::ShowTime(Status::get().totalTime()-songpos); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
tracklength = MPD::Song::ShowTime(songpos); |
|
|
|
|
tracklength += "/"; |
|
|
|
|
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength()); |
|
|
|
|
tracklength += MPD::Song::ShowTime(Status::get().totalTime()); |
|
|
|
|
*wHeader << NC::XY(0, 0) << tracklength << " "; |
|
|
|
|
wHeader->refresh(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
*wFooter << NC::Format::NoBold; |
|
|
|
|
Progressbar::draw(songpos, myPlaylist->currentSongLength()); |
|
|
|
|
Progressbar::draw(songpos, Status::get().totalTime()); |
|
|
|
|
wFooter->refresh(); |
|
|
|
|
} |
|
|
|
|
SeekingInProgress = false; |
|
|
|
|
Mpd.Seek(myPlaylist->currentSongPosition(), songpos); |
|
|
|
|
Mpd.Seek(Status::get().currentSongPosition(), songpos); |
|
|
|
|
|
|
|
|
|
wFooter->setTimeout(old_timeout); |
|
|
|
|
|
|
|
|
|
|