add reverse sort order
Merge pull request #35 from CBke/reverse_sort

Allow reverse sort order
Fix add_dir() in the case of symlinks to hidden directories

add_dir() tries to ignore symlinks that point within directory being added
(since those files would be added anyway). Unfortunately, it failed to account
for the case of symlinks that point to *hidden* files within directory being
added.

On Mon, Apr 22, 2013 at 9:37 PM, Markus Rothe <markus@unixforces.net> wrote:
> On Mon, Apr 22, 2013 at 04:13:57PM +0400, Gregory Petrosyan wrote:
>> Can you please simplify the test case — try to repeat adding the
>> music, but e.g. one directory containing one (symlinked) file, and go
>> from there?
>
> You are correct. I also discovered that adding symlinked files works in
> some cases. But here is a minimal testcase, which I cannot add by
> running ":add ~/tmp/music/"; i.e. no files are added.
>
>     % tree ~/tmp/music -aN
>     /home/markus/tmp/music
>     |-- .content
>     |   `-- 01 - Speak To Me - Breathe In The Air.flac
>     `-- Pink Floyd
>         `-- 1973 - The Dark Side Of The Moon
>             `-- 01 - Speak To Me - Breathe In The Air.flac -> ../../.content/01 - Speak To Me - Breathe In The Air.flac
>
>     3 directories, 2 files
>
> [ .content would be .git in my case ]
>
> Note that I *can* add it using ":add ~/tmp/music/Pink Floyd/".

Reported-by: Markus Rothe <markus@unixforces.net>
Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
rewind_offset
Merge pull request #42 from mahkoh/rewind

This is a backward incompatible change — but this is the way iPod works (although with a `rewind_offset` of 3 seconds) and people, me included, generally find useful. Let's try it out.
Added 'Night' colorscheme
Fix crashes caused by a9ad5ee494221b5ba4b59527e4c3535527a23eac

For some reason, I've merged referenced commit without actually testing it.
Sorry.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
handle SIGTERM
rename signal handler for term and hup
Merge pull request #51 from luksen/master

Handle SIGTERM
Make getentry() macro warning-free under Clang

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
ui_curses: optimize fill_track_fopts_track_info() a bit

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Update ffmpeg.c to work with newer versions of FFmpeg

Since ffmpeg 2.0, the macro AVCODEC_MAX_AUDIO_FRAME_SIZE is deprecated
and removed. This commit simply defines the macro if it's not defined
previously, using the same value it used to be in old versions of
libavcodec.

Actually, as my branch has been using swr_convert, where caller specifies
the size of output buffer, even if the current size of 192000 proved to
be not enough in the future, we can simply let swr_convert deal with the
insufficient size by a small modification.

Currently the parameters to swr_convert() still assumes that the size of
192000 samples is always enough for the output buffer.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
comment.c: fix duplicates detection logic in comments_add()

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
id3: allow 3-character frame IDs

This is sometimes encountered in the wild.

Bump cache version to force tags re-reading.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
ReplayGain: default to peak of 1

Following spec:
http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#Clipping_prevention

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
ReplayGain: default to pre-amp gain of 0

Following spec:
http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#Pre-amplification

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
ape: read APE tags at the end of file but before ID3v1 one in fast mode

Otherwise, we ignore valid APE tags in MP3 files which might contain e.g. ReplayGain data.

Bump cache version to force tags re-reading.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Fix a typo
Use CPPFLAGS where appropriate