mpdclient: moved browse callback invocation from screen.c
The screen code shouldn't bother to do any callbacks, because screen.c
should only care about the GUI. Move that invocation to the mpdclient
library.
The screen code shouldn't bother to do any callbacks, because screen.c
should only care about the GUI. Move that invocation to the mpdclient
library.
mpdclient: tweak updatingdb in mpdclient.c
The mpdclient library should care about setting the new (temporary)
MPD update status.
The mpdclient library should care about setting the new (temporary)
MPD update status.
screen_search: removed unused macros
Removed SEARCH_TITLE, ...
Removed SEARCH_TITLE, ...
screen: added local "state" variable
Don't check "status != NULL" each time we need the MPD state.
Don't check "status != NULL" each time we need the MPD state.
screen: moved code to get_volume()
screen: removed spaces from the "Volume" strings
Don't let translators bother with whitespace.
Don't let translators bother with whitespace.
po: regenerated ncmpc.pot
po: updated Swedish translation
po: updated Norwegian translation
mpdclient: return from mpdclient_cmd_crop() on error
When the playlist is too small for crop, or when MPD is not playing,
"return" from mpdclient_cmd_crop() instead of stepping over the
command list block. This patch also simplifies the command list, and
frees the mpd_Status object before all checks are done.
When the playlist is too small for crop, or when MPD is not playing,
"return" from mpdclient_cmd_crop() instead of stepping over the
command list block. This patch also simplifies the command list, and
frees the mpd_Status object before all checks are done.
mpdclient: finish the "status" command in mpdclient_cmd_crop()
The crop function calls mpd_getStatus(), but never finishes that
command. There's a mpdclient_finish_command() call at the end of the
function, but that is supposed to finish the delete command list.
The crop function calls mpd_getStatus(), but never finishes that
command. There's a mpdclient_finish_command() call at the end of the
function, but that is supposed to finish the delete command list.
mpdclient: convert MPD_ERROR() to an inline function
mpdclient: include utils.h
Don't import string_list_free() manually.
Don't import string_list_free() manually.
mpdclient: pass const message to error callback
Makefile.am: run sparse once
Makefile.am: install lyrics plugins with automake
Set $(lyrics_SCRIPTS) instead of manually installing those plugins.
This is more consistent with automake, and automake gives us
uninstall.
Set $(lyrics_SCRIPTS) instead of manually installing those plugins.
This is more consistent with automake, and automake gives us
uninstall.
Makefile.am: no recursive Makefile
po: updated Danish translation
screen_play: added CMD_SELECT_PLAYING
This command immediately selects (but doesn't center) the currently
playing song. It is mapped by default to 'l' - there aren't many single
characters left, and this one is at least similar to ctrl-l, which
centers the currently playing song.
This command immediately selects (but doesn't center) the currently
playing song. It is mapped by default to 'l' - there aren't many single
characters left, and this one is at least similar to ctrl-l, which
centers the currently playing song.
Modify version string to post-release version 0.15~git
ncmpc version 0.14
po: updated Danish and Swedish translation
po: updated German translation
po: updated Korean translation
.gitignore: added ncmpc-tiny
screen_play: make center_playing_item aware of scroll offset
When moving the cursor to make sure it is visible after recentering,
move it to the offset position from the edge of the screen.
(Previously, it was placed at the edge, causing the offset to force the
screen to scroll.)
When moving the cursor to make sure it is visible after recentering,
move it to the offset position from the edge of the screen.
(Previously, it was placed at the edge, causing the offset to force the
screen to scroll.)
po: updated Spanish and Galician translation
po: updated Russian translation
po: updated Simplified Chinese translation
screen_help: added translator comment for CMD_INTERRUPT
po: updated Simplified Chinese translation
po: updated Slovak translation
po: updated French translation
po: updated Hungarian translation
AUTHORS: added new translators
updated NEWS file for 0.14
list_window: check range selection
Check if the numbers in selected_start and selected_end are correct in
the function list_window_check_selected().
Check if the numbers in selected_start and selected_end are correct in
the function list_window_check_selected().
po: added Dutch translation
screen_search.c: Fix typo and tweak spacing of search help.
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
Signed-off-by: Max Kellermann <max@duempel.org>
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
Signed-off-by: Max Kellermann <max@duempel.org>
po: updated Ukrainian translation
list_window: removed the unused "xoffset" variable
command: added missing "the" in translatable strings
"Move cursor to top of screen" -> "Move cursor to *the* top of screen".
"Move cursor to top of screen" -> "Move cursor to *the* top of screen".
'Home' & 'End' translation difficult
There are two 'Home' strings in command.c. One of them means button
name, and other means the action. Translators (like me) have only one
in pot-file and can not translate them right. Button name 'Home'
always does not need to be translated, but the action 'Home' must be.
I propose to rename action to something like 'Move cursor Home'. As
result we will have two strings to translate except one.
All of this concerned also 'End'.
There are two 'Home' strings in command.c. One of them means button
name, and other means the action. Translators (like me) have only one
in pot-file and can not translate them right. Button name 'Home'
always does not need to be translated, but the action 'Home' must be.
I propose to rename action to something like 'Move cursor Home'. As
result we will have two strings to translate except one.
All of this concerned also 'End'.
doc: Updated config.sample.
Added new options to config.sample and copied the descriptions from the manpage.
Added new options to config.sample and copied the descriptions from the manpage.
added scroll-offset option; fixed scrolling bug
scroll-offset (default 0) is the number of entries to be displayed on
either side of the cursor; this helps the user avoid overshooting when
moving the cursor to a desired entry past the end of the window. The
exact behavior is copied from Vim, as detailed below.
The interaction with the top/bottom (H/L) commands is the same as in
Vim: they jump to the top+offset/bottom-offset, unless the top/bottom is
the beginning/end of the list, in which case they jump all the way to
the edge.
Large values of the offset (at least half the screen height) also work
the same as in Vim, causing the cursor to always be centered.
Finally, there is some slightly odd behavior when using scrolling
commands while the cursor is in the offset range at the edge of the
list. For example, if the screen is scrolled to the top, and the cursor
is also on the first item, scrolling down by a line causes the cursor to
jump down to the offset position. This is also the same as Vim and I
don't really see a better (but simple) alternative.
The behavior of the scroll down command at the bottom of the list was
also broken; this was fixed here instead of separately since the
relevant code was modified for this update anyway.
scroll-offset (default 0) is the number of entries to be displayed on
either side of the cursor; this helps the user avoid overshooting when
moving the cursor to a desired entry past the end of the window. The
exact behavior is copied from Vim, as detailed below.
The interaction with the top/bottom (H/L) commands is the same as in
Vim: they jump to the top+offset/bottom-offset, unless the top/bottom is
the beginning/end of the list, in which case they jump all the way to
the edge.
Large values of the offset (at least half the screen height) also work
the same as in Vim, causing the cursor to always be centered.
Finally, there is some slightly odd behavior when using scrolling
commands while the cursor is in the offset range at the edge of the
list. For example, if the screen is scrolled to the top, and the cursor
is also on the first item, scrolling down by a line causes the cursor to
jump down to the offset position. This is also the same as Vim and I
don't really see a better (but simple) alternative.
The behavior of the scroll down command at the bottom of the list was
also broken; this was fixed here instead of separately since the
relevant code was modified for this update anyway.
po: added Ukrainian translation
po: updated Danish translation
po: updated Danish, Norwegian and Swedish translation
po: updated Hungarian translation
Added screen swap to help screen
Help text was already present but command hadn't been added to screen_help.c.
Help text was already present but command hadn't been added to screen_help.c.
updated translation
po: updated Slovak translation
screen: explain new MPD modes in translator comments
po: updated Galician and Spanish translation
po: updated Russian translation
po: updated Korean translation
po: updated Czech translation
po: added Czech translation
po: updated ncmpc.pot and *.po
screen: added "mode" in mode message
Print "Single _mode_ is on" instead of just "Single is on". This is
intended to be clearer for both users and translators.
Print "Single _mode_ is on" instead of just "Single is on". This is
intended to be clearer for both users and translators.
Merge branch 'master' of git://git.musicpd.org/patrick/ncmpc
support the 'consume' mode
fix bug which showed only a part of help
Index was incremented twice each iteration.
Index was incremented twice each iteration.
options.c: Fixed compilation with --enable-mini --enable-debug
With NCMPC_MINI we have no configuration file, so we can't dump the keys.
With NCMPC_MINI we have no configuration file, so we can't dump the keys.
screen_help: Fixed an endless-loop-bug.
The cursor of the help screen was placed outside the list_window, so the
list_window_find() went into an endless loop, when wrap was enabled. Now the
cursor is placed on the first item of the list_window, so the find function
should work.
The cursor of the help screen was placed outside the list_window, so the
list_window_find() went into an endless loop, when wrap was enabled. Now the
cursor is placed on the first item of the list_window, so the find function
should work.
man: Added "jump-prefix-only" to the configuration section.
Added a description about the new "jump-prefix" only option the the
configuration section of the manpage.
Added a description about the new "jump-prefix" only option the the
configuration section of the manpage.
conf: Added new "jump-prefix-only" option.
Commit b36fbc3ed8b9ceed41 broke the usecase of jumping
directly to the first entry which begins with a certain letter.
This patch adds a new option, which enables the old behaviour,
which searches for the beginning of a string and not for the first
occurence.
Commit b36fbc3ed8b9ceed41 broke the usecase of jumping
directly to the first entry which begins with a certain letter.
This patch adds a new option, which enables the old behaviour,
which searches for the beginning of a string and not for the first
occurence.
screen_song: Replaced "DB last updated" with "Most recent db update"
screen_utils: Fixed backspace with widecharacters in screen_jump().
Deleting widecharacters with backspace would leave bytes in the buffer
before. Now every byte of a deleted widecharacter is replaced with '\0'.
Deleting widecharacters with backspace would leave bytes in the buffer
before. Now every byte of a deleted widecharacter is replaced with '\0'.
utils: Use singular in time_seconds_to_durationstr() if appropriate.
screen_song: check c->status!=NULL
When the connection to the MPD server is closed, c->status may become
NULL. All of the ncmpc code has to check that, including the song
screen.
When the connection to the MPD server is closed, c->status may become
NULL. All of the ncmpc code has to check that, including the song
screen.
support the new 'single' state feature
support the ^W shortcut in wreadline input
conf: Allow descriptive search modes
Previously only integers were accepted, to be interpreted as indices in
screen_search's list of search types. Now the corresponding mode names
(title, artist, album, filename, artist+title) are accepted.
Previously only integers were accepted, to be interpreted as indices in
screen_search's list of search types. Now the corresponding mode names
(title, artist, album, filename, artist+title) are accepted.
man: configuration section updated
Add undocumented options to the configuration section, and organize it
into subsections - it's getting long!
Add undocumented options to the configuration section, and organize it
into subsections - it's getting long!
conf: screen-list fix, removed unused option
screen-list produced errors due to empty fields between multiple
consecutive delimiters. Check to make sure the field is nonempty before
attempting to parse it.
enable-bell is not used at all (it has been replaced by audible- and
visible-bell).
screen-list produced errors due to empty fields between multiple
consecutive delimiters. Check to make sure the field is nonempty before
attempting to parse it.
enable-bell is not used at all (it has been replaced by audible- and
visible-bell).
NEWS: list commands added since release 0.13
Select range, HML cursor movement, scrolling commands, screen swap.
Select range, HML cursor movement, scrolling commands, screen swap.
command: Changed key for screen swap to `
No need to push shift for a tilde when the backtick isn't taken.
No need to push shift for a tilde when the backtick isn't taken.
updated translation
renamed visual selection to range selection
screen: check if song and lyrics screens are enabled
The patch "screen swap works with song/lyrics screens" broke the
build, because it didn't check whether the song screen and the lyrics
screen were enabled.
The patch "screen swap works with song/lyrics screens" broke the
build, because it didn't check whether the song screen and the lyrics
screen were enabled.
screen_browser: select/add for visual selection
The select (toggle in playlist) and add (append to playlist) commands now work
for visual selections in browser screens. The status output should eventually
be reconsidered - a message is wastefully printed for each item before it is overwritten by one displaying a count of items added.
The "enter" (CMD_PLAY) command has been disabled for multiple selection for
now; this is better than acting just on the item at the end of the selection
range. Eventually it should do something fancy like appending all selected
items (directory, song, or playlist) then playing the first song of the first
item.
The select (toggle in playlist) and add (append to playlist) commands now work
for visual selections in browser screens. The status output should eventually
be reconsidered - a message is wastefully printed for each item before it is overwritten by one displaying a count of items added.
The "enter" (CMD_PLAY) command has been disabled for multiple selection for
now; this is better than acting just on the item at the end of the selection
range. Eventually it should do something fancy like appending all selected
items (directory, song, or playlist) then playing the first song of the first
item.
screen swap works with song/lyrics screens
The screen swap command now gets handled outside of screen.c when
appropriate, to allow passing the currently selected song to the
song/lyrics screens.
The screen swap command now gets handled outside of screen.c when
appropriate, to allow passing the currently selected song to the
song/lyrics screens.
screen_help: keydef screen
Added keydef commands to the help screen. Also updated help text for
CMD_UPDATE_LYRICS (it fetches lyrics for the currently playing song).
Added keydef commands to the help screen. Also updated help text for
CMD_UPDATE_LYRICS (it fetches lyrics for the currently playing song).
screen_keydef: parent directory command
Allow CMD_GO_PARENT_DIRECTORY on the keydef screen (for returning from
subcmd to command list).
Allow CMD_GO_PARENT_DIRECTORY on the keydef screen (for returning from
subcmd to command list).
list_window: search in strings with the "jump" command
This patch extends the jump function. Current jump only searches the
start of the lines, but with this patch it searches through the whole
line for a match. Since this takes more cpu power, I have inlined it
back to the original behavior in MINI.
This patch extends the jump function. Current jump only searches the
start of the lines, but with this patch it searches through the whole
line for a match. Since this takes more cpu power, I have inlined it
back to the original behavior in MINI.
screen_utils: Fixed a minor bug with the jump command.
When pressing delete J was printed in the jump input. Now pressing delete,
removes the last character.
When pressing delete J was printed in the jump input. Now pressing delete,
removes the last character.
de.po: Update the german translation.
Added a german translation for the new strings which were
added to the song screen.
Added a german translation for the new strings which were
added to the song screen.
screen_song: Some clean-up and more comments.
screen_song: Added some statistics about mpd to the song screen.
Make it possible to switch to the song viewer from anywhere.
screen_song: Refactor screen_song, so it can be opened by screen_switch().
screen_song should be more like the other screens as lyrics screens, so we
can switch to the song screen from everywhere in ncmpc.
screen_song should be more like the other screens as lyrics screens, so we
can switch to the song screen from everywhere in ncmpc.
Added status-message-time option
Controls the length of time a status message displays; the previous
setting of 3 seconds from options.c is the default value.
Controls the length of time a status message displays; the previous
setting of 3 seconds from options.c is the default value.
Disabled visual selection in keydef screen
If we someday have a command like "reset to default" we may want this
back, but for now, no commands have multiple-selection meanings on the
keydef screen.
If we someday have a command like "reset to default" we may want this
back, but for now, no commands have multiple-selection meanings on the
keydef screen.
Save lyrics uses CMD_SAVE_PLAYLIST
Much more intuitive than using CMD_ADD.
Much more intuitive than using CMD_ADD.
Center the cursor on a second Ctrl-L
To aid in getting to info/lyrics screen, or in selecting ranges
involving the currently playing song. Ctrl-L followed by M will achieve
the same result as long as the playlist is at least as long as the
screen, but this is faster to type and will work for short playlists
too.
An alternative method would be to center the cursor whenever Ctrl-L will
not cause the screen to move; this could be implemented as an option
perhaps, but would be annoying if you just wanted to repaint the screen.
To aid in getting to info/lyrics screen, or in selecting ranges
involving the currently playing song. Ctrl-L followed by M will achieve
the same result as long as the playlist is at least as long as the
screen, but this is faster to type and will work for short playlists
too.
An alternative method would be to center the cursor whenever Ctrl-L will
not cause the screen to move; this could be implemented as an option
perhaps, but would be annoying if you just wanted to repaint the screen.
Fixed lyricwiki plugin
LyricWiki returns a page with "Not found" in place of the song lyrics if
the song is not found; check for this.
LyricWiki returns a page with "Not found" in place of the song lyrics if
the song is not found; check for this.
Renamed lyrics plugins
Lyrics plugins are tried in alphabetic order by filename. Numeric
prefixes make this clearer, and make it easier to keep hd.sh first.
I've moved LyricWiki ahead of Leo's Lyrics, mostly because it's easier
for a user to fix incorrect lyrics on a wiki, but also because Leo's
Lyrics appears to return partial matches if no full match is found (e.g.
a song with the same name and completely different artist)
Lyrics plugins are tried in alphabetic order by filename. Numeric
prefixes make this clearer, and make it easier to keep hd.sh first.
I've moved LyricWiki ahead of Leo's Lyrics, mostly because it's easier
for a user to fix incorrect lyrics on a wiki, but also because Leo's
Lyrics appears to return partial matches if no full match is found (e.g.
a song with the same name and completely different artist)
Sort plugins by filename
Although previously the plugins appeared to be sorted by filename, that
was only because they were installed in order by filename. Now the
plugins are manually sorted by filename, providing for user modification
(new plugins, reordering of plugins).
Although previously the plugins appeared to be sorted by filename, that
was only because they were installed in order by filename. Now the
plugins are manually sorted by filename, providing for user modification
(new plugins, reordering of plugins).
AUTHORS: added Jeffrey Middleton