add support for 'replay' function (play current song from the beginning)
This commit is contained in:
2
doc/keys
2
doc/keys
@@ -82,6 +82,8 @@
|
||||
#
|
||||
#key_prev = '<'
|
||||
#
|
||||
#key_replay = 263 127
|
||||
#
|
||||
#key_seek_forward = 'f'
|
||||
#
|
||||
#key_seek_backward = 'b'
|
||||
|
||||
@@ -172,6 +172,7 @@ void Help::GetKeybindings()
|
||||
*w << DisplayKeys(Key.Pause) << "Pause\n";
|
||||
*w << DisplayKeys(Key.Next) << "Next track\n";
|
||||
*w << DisplayKeys(Key.Prev) << "Previous track\n";
|
||||
*w << DisplayKeys(Key.Replay) << "Play current track from the beginning\n";
|
||||
*w << DisplayKeys(Key.SeekForward) << "Seek forward\n";
|
||||
*w << DisplayKeys(Key.SeekBackward) << "Seek backward\n";
|
||||
*w << DisplayKeys(Key.VolumeDown) << "Decrease volume\n";
|
||||
|
||||
@@ -551,7 +551,13 @@ int main(int argc, char *argv[])
|
||||
design_changed = 1;
|
||||
resize_screen();
|
||||
}
|
||||
else if (Keypressed(input, Key.GoToParentDir))
|
||||
else if (Keypressed(input, Key.GoToParentDir)
|
||||
&& (myScreen == myBrowser
|
||||
# ifdef HAVE_TAGLIB_H
|
||||
|| myScreen == myTagEditor
|
||||
# endif // HAVE_TAGLIB_H
|
||||
)
|
||||
)
|
||||
{
|
||||
if (myScreen == myBrowser && myBrowser->CurrentDir() != "/")
|
||||
{
|
||||
@@ -797,6 +803,14 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (Keypressed(input, Key.Replay))
|
||||
{
|
||||
if (Mpd.isPlaying())
|
||||
{
|
||||
Mpd.Seek(0);
|
||||
UpdateStatusImmediately = 1;
|
||||
}
|
||||
}
|
||||
else if (Keypressed(input, Key.Prev))
|
||||
{
|
||||
Mpd.Prev();
|
||||
|
||||
@@ -184,6 +184,7 @@ void NcmpcppKeys::SetDefaults()
|
||||
Pause[0] = 'P';
|
||||
Next[0] = '>';
|
||||
Prev[0] = '<';
|
||||
Replay[0] = KEY_BACKSPACE;
|
||||
SeekForward[0] = 'f';
|
||||
SeekBackward[0] = 'b';
|
||||
ToggleRepeat[0] = 'r';
|
||||
@@ -268,6 +269,7 @@ void NcmpcppKeys::SetDefaults()
|
||||
Pause[1] = NullKey;
|
||||
Next[1] = NullKey;
|
||||
Prev[1] = NullKey;
|
||||
Replay[1] = 127;
|
||||
SeekForward[1] = NullKey;
|
||||
SeekBackward[1] = NullKey;
|
||||
ToggleRepeat[1] = NullKey;
|
||||
@@ -503,6 +505,8 @@ void NcmpcppKeys::Read()
|
||||
GetKeys(key, Next);
|
||||
else if (key.find("key_prev ") != std::string::npos)
|
||||
GetKeys(key, Prev);
|
||||
else if (key.find("key_replay ") != std::string::npos)
|
||||
GetKeys(key, Replay);
|
||||
else if (key.find("key_seek_forward ") != std::string::npos)
|
||||
GetKeys(key, SeekForward);
|
||||
else if (key.find("key_seek_backward ") != std::string::npos)
|
||||
|
||||
@@ -89,6 +89,7 @@ struct NcmpcppKeys
|
||||
int Pause[2];
|
||||
int Next[2];
|
||||
int Prev[2];
|
||||
int Replay[2];
|
||||
int SeekForward[2];
|
||||
int SeekBackward[2];
|
||||
int ToggleRepeat[2];
|
||||
|
||||
Reference in New Issue
Block a user