Commit Graph

1099 Commits

Author SHA1 Message Date
Andrzej Rybczak
07099d4dc0 clear menu option right before rewriting it, not earlier
when it was cleared earlier, mpd status tracer could refresh window
while ncmpcpp was waiting for new string and empty line was visible.
2009-11-13 19:38:47 +01:00
Andrzej Rybczak
fdb9bfcd4f remove a piece of code that was overwriting statusbar without any checks
maybe it made a difference in the past, but it's redundant now.
2009-11-13 19:34:08 +01:00
Andrzej Rybczak
3365b066c3 window: store strings history in list instead of deque 2009-11-13 18:28:13 +01:00
Andrzej Rybczak
180d71ed28 tag editor: refresh filename parser windows properly 2009-11-13 16:50:52 +01:00
Andrzej Rybczak
9a5a053ec3 improve handling columns in media library a bit
given column should clear only the first column on its right, not all.
2009-11-13 16:39:43 +01:00
Andrzej Rybczak
495ec25a0a simplify Clear() in Window and its derivatives
it removes argument responsible for immediate refreshing.
since after all calls that were refreshing screen there was
call to Refresh() anyway, this switch doesn't make much sense.
2009-11-13 15:59:18 +01:00
Andrzej Rybczak
b83adc01b9 check for errors after calling status updater 2009-11-13 15:30:02 +01:00
Andrzej Rybczak
d4fddf4466 update directory after db update only if current screen is browser 2009-11-13 15:26:17 +01:00
Andrzej Rybczak
3b7f19f095 new feature: support for centered cursor (disabled by default) 2009-11-11 00:50:14 +01:00
Andrzej Rybczak
35a182d79e add support for scrolling the list with mouse wheel by given number of lines 2009-11-11 00:31:52 +01:00
Andrzej Rybczak
c6e26e121f do not ask if one wants to enter password, just ask for password 2009-11-08 19:34:10 +01:00
Andrzej Rybczak
5b2dbe026c do not delete items from playlist if sending command delete failed 2009-11-05 22:16:54 +01:00
Andrzej Rybczak
60d932ef68 fix 'db update' flag not being updated if mpd is stopped 2009-11-02 05:29:49 +01:00
Andrzej Rybczak
0a95aebd7c improve elapsed time handling
this also throws away hack that was used to count elapsed
time locally while polling mpd, it's not needed anymore.
2009-10-30 20:04:47 +01:00
Andrzej Rybczak
b6059e2255 visualizer: set interval between "synchronizations" to sane value
ugh, I set it to 5 seconds for testing purposes and then forgot
to change it back ~~ it should be at least 120 seconds.
2009-10-30 01:05:55 +01:00
Andrzej Rybczak
dfb4653669 fix MPD::Connection::Add() 2009-10-28 19:23:43 +01:00
Andrzej Rybczak
db5efc6eb9 update screen in TraceMpdStatus(), not in the main loop
this makes screen update even if ncmpcpp is in Window::GetString().
2009-10-28 19:21:35 +01:00
Andrzej Rybczak
b9a14e37ab fix screen resize
ncmpcpp was sometimes segfaulting while resizing screen, this commit fixes that.
2009-10-28 15:16:54 +01:00
Andrzej Rybczak
fa9b58627a fix seeking with f/b in visualizer
visualizer specific timeout is too small, so we
need to set it to default value while seeking.
2009-10-27 02:40:40 +01:00
Andrzej Rybczak
23d5601968 fix config option description in man page 2009-10-27 02:34:29 +01:00
Andrzej Rybczak
95ce4065ae add event handler for MPD_IDLE_OUTPUT notification 2009-10-27 02:30:28 +01:00
Andrzej Rybczak
e43ea18d29 provide a way to sync between visualization and sound
workaround for http://musicpd.org/mantis/view.php?id=2503
2009-10-27 02:15:51 +01:00
Andrzej Rybczak
164d32c079 use one global timer instead of several local ones 2009-10-26 18:14:06 +01:00
Andrzej Rybczak
a91d02e181 fix bug that could cause ncmpcpp termination
steps to reproduce it:
- go to local browser
- edit tags of the last item using tiny tag editor
- move item to another directory by renaming it
- save tags

tadam! but it's no more.
2009-10-26 16:24:58 +01:00
Andrzej Rybczak
dd866e9337 fix visualizer 2009-10-25 23:24:12 +01:00
Andrzej Rybczak
b947575528 move code responsible for screen resize to SIGWINCH handler 2009-10-25 22:22:05 +01:00
Andrzej Rybczak
9f5e9e60ff use idle mask to see what changed instead of comparing old and new status 2009-10-25 21:16:21 +01:00
Andrzej Rybczak
dd04406ee5 poll both stdin and mpd using one select()
this allows for immediate reading mpd events
2009-10-25 20:44:07 +01:00
Andrzej Rybczak
08f4459b54 make sure that MaxBeginning in Scrollpad::Refresh() is never negative
this sometimes triggered segfault in pdcurses
while switching to screens, that use scrollpads.
2009-10-25 03:49:02 +01:00
Andrzej Rybczak
e112e0d975 use select() instead of poll() as it's portable 2009-10-25 03:25:26 +01:00
Andrzej Rybczak
3e99bba5b8 use idle notifications instead of polling mpd all the time 2009-10-25 02:25:51 +02:00
Andrzej Rybczak
eff5ebba4e fix locating now playing song in browser (using 'o')
due to change of keybinding for switching to local browser,
the trigger is invoked in SwitchTo() if main screen is already
pointing to browser. since we use 'o' in browser to locate now
playing song, this function was switching browser to wrong mode
and thus requested song couldn't be found.
2009-10-24 01:01:32 +02:00
Andrzej Rybczak
2af8b1f91b change descriptions for mpd statistics since they can be misleading
mpd doesn't report unique albums, it only counts
different album names. same for artists.

different name for number of songs is just cosmetic.
2009-10-23 18:31:05 +02:00
Andrzej Rybczak
1a3e10dab7 new feature: toggle replay gain mode (requires >=mpd-0.16) 2009-10-23 18:20:52 +02:00
Andrzej Rybczak
75c4c791fd clear and refresh statusbar immediately after unlock if mpd is stopped 2009-10-23 02:37:57 +02:00
Andrzej Rybczak
62b7df69f3 new feature: refetch lyrics 2009-10-20 00:35:51 +02:00
Andrzej Rybczak
a98eb5e9ac add range support in NCurses::Menu::Sort() 2009-10-17 17:01:48 +02:00
Andrzej Rybczak
601c8e3ef2 playlist: support for range sort/reverse 2009-10-17 16:59:17 +02:00
Andrzej Rybczak
21dccc83fd fix compilation --without-taglib
caused by 3551057dbb
2009-10-14 15:22:05 +02:00
Andrzej Rybczak
668713c5e7 prepend '0' to track number if it's in format x/xx
this fixes sorting and makes track numbers look more consistent.
2009-10-13 17:48:06 +02:00
Andrzej Rybczak
cb9bf30dac scrollpad: do not reset starting position automatically in Clear()
this allows for scrolling mpd server info screen, since the content
is changing slightly every second and starting position was reset
each time it'd been happening, scrolling was impossible. this also
'fixes' the issue in other screens like lyrics, artist info and help
that was reset if main window has been resized, which sometimes could
be very annoying.
2009-10-11 17:16:19 +02:00
Andrzej Rybczak
03f6fd904f new screen: mpd server info 2009-10-11 17:03:00 +02:00
Andrzej Rybczak
aebc5db0e1 fix segfault that occured if mpd was stopped and window had to be resized
we all love null pointer dereferences, don't we?
some methods from Song class need assertion guards to deal with that.
2009-10-11 01:59:09 +02:00
Andrzej Rybczak
3551057dbb new feature: sort songs in browser by mtime (optional) 2009-10-10 23:32:05 +02:00
Andrzej Rybczak
b48133a743 change keybinding for changing browse mode
I shouldn't do that, but the old one will be much better for
choosing whether songs in browser have to be sorted by names
or modification date. Besides, binding this to browser key
makes browser behaviour more "compatible" with media library.
2009-10-10 22:32:18 +02:00
Andrzej Rybczak
3867b131ef tiny tag editor: fix message about being unable to read the file 2009-10-10 18:50:15 +02:00
Andrzej Rybczak
833f608d60 shorten long names in messages displayed in statusbar 2009-10-10 18:37:53 +02:00
Andrzej Rybczak
89aa68c698 fix typo from f6f7a8a2 2009-10-10 17:13:30 +02:00
Andrzej Rybczak
b979189111 pass to MPD::Connection::AddSong() another parameter - position to add 2009-10-10 16:23:00 +02:00
Andrzej Rybczak
2cbd015ce4 make --now-playing support tabulations and line breakers 2009-10-10 15:44:29 +02:00