Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -9/+11 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-09-27 | PlayerThread: convert struct player to a class | Max Kellermann | 1 | -14/+17 | |
2013-09-27 | PlayerThread: use strictly typed enum | Max Kellermann | 1 | -14/+14 | |
2013-09-27 | PlayerControl: use strictly typed enums | Max Kellermann | 1 | -44/+44 | |
2013-09-27 | PlayerThread: move code to player_control::CommandFinished() | Max Kellermann | 1 | -21/+12 | |
2013-09-27 | PlayerThread: use nullptr instead of NULL | Max Kellermann | 1 | -37/+37 | |
2013-09-26 | PlayerThread: unlock/lock in player_task() | Max Kellermann | 1 | -8/+3 | |
2013-09-26 | PlayerThread: move code into the player class | Max Kellermann | 1 | -269/+277 | |
2013-09-26 | PlayerThread: use player references | Max Kellermann | 1 | -116/+115 | |
2013-09-26 | PlayerThread: use {decoder,player}_control references | Max Kellermann | 1 | -214/+214 | |
2013-09-26 | PlayerThread: allocate decoder_control on the stack | Max Kellermann | 1 | -5/+5 | |
2013-09-26 | PlayerThread: move global MusicBuffer variable into the player object | Max Kellermann | 1 | -24/+27 | |
2013-09-26 | PlayerThread: simplify "buffer empty" assertion | Max Kellermann | 1 | -7/+1 | |
2013-09-26 | MusicBuffer: expose the C++ API | Max Kellermann | 1 | -19/+18 | |
2013-09-26 | MusicPipe: expose the C++ API | Max Kellermann | 1 | -25/+24 | |
2013-09-05 | Tag, ...: move to libtag.a | Max Kellermann | 1 | -1/+1 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -21/+19 | |
Replaces GLib's GError. | |||||
2013-08-07 | Makefile.am: move sources to libsystem.a | Max Kellermann | 1 | -1/+1 | |
2013-08-07 | FatalError: new library to replace mpd_error.h | Max Kellermann | 1 | -2/+2 | |
2013-08-04 | *: use gcc.h macros instead of GLib | Max Kellermann | 1 | -1/+1 | |
2013-08-03 | audio_format: convert to C++ | Max Kellermann | 1 | -14/+13 | |
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -12/+12 | |
2013-07-28 | song: convert header to C++ | Max Kellermann | 1 | -21/+21 | |
2013-04-17 | use g_thread_new() if GLib is recent enough | Max Kellermann | 1 | -0/+4 | |
Fixes deprecation warnings. | |||||
2013-01-25 | PlayerControl: add second Cond object | Max Kellermann | 1 | -1/+1 | |
This fixes a deadlock bug introduced by 18076ac9. After all, the second Cond was necessary. The problem: two threads can wait for a signal at the same time. The player thread waits for the output thread to finish playback. The main thread waits for the player thread to complete a command. The output thread finishes playback, and sends a signal, which unfortunately does not wake up the player thread, but the main thread. The main thread sees that the command is still not finished, and waits again. The signal is lost forever, and MPD is deadlocked. | |||||
2013-01-21 | DecoderControl: move functions into the class | Max Kellermann | 1 | -31/+31 | |
2013-01-20 | PlayerControl: move functions into the class | Max Kellermann | 1 | -61/+61 | |
2013-01-10 | PlayerControl: switch to the Mutex/Cond classes | Max Kellermann | 1 | -1/+1 | |
2013-01-10 | PlayerThread: use pc.cond instead of main_cond | Max Kellermann | 1 | -1/+1 | |
The main_cond variable was completely unnecessary. The pc.cond object can be used for both main->pc and pc->main. | |||||
2013-01-10 | DecoderControl: take ownership of client_cond | Max Kellermann | 1 | -1/+1 | |
Don't let the "client" pass its own GCond. This was not used consistently. | |||||
2013-01-09 | EventPipe: rename to GlobalEvents | Max Kellermann | 1 | -5/+5 | |
2013-01-09 | event_pipe.h: convert to C++ | Max Kellermann | 1 | -4/+1 | |
2013-01-09 | idle: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-07 | replay_gain_info, ...: use cmath instead of math.h in C++ mode | Max Kellermann | 1 | -1/+3 | |
Fixes build problems with mingw32. | |||||
2013-01-07 | decoder_api.h, ...: add "extern C" | Max Kellermann | 1 | -1/+1 | |
2013-01-07 | mixer_all: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-04 | player_control.h: convert header to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-04 | MusicChunk: move functions to methods | Max Kellermann | 1 | -2/+2 | |
2013-01-04 | crossfade: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-04 | buffer, pipe: convert to C++ | Max Kellermann | 1 | -3/+3 | |
2013-01-04 | decoder_*: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | {decoder,player}_thread: convert to C++ | Max Kellermann | 1 | -24/+25 | |
2012-09-28 | main: use C++ compiler | Max Kellermann | 1 | -1/+1 | |
2012-08-25 | player_thread: disable cross-fading in "single" mode | Max Kellermann | 1 | -1/+14 | |
This commit reimplements the core of the "single" mode. Instead of doing the detection in the playlist code from the outside, it is moved to the player thread, which gets a new option called "border_pause". It will now pause playback exactly at the beginning of the new song, making the feature more reliable. Now that the player thread knows what will happen, it can suppress cross-fading. Fixes mantis tickets 0003055 and 0003166. | |||||
2012-08-15 | player_control: duplicate the song object | Max Kellermann | 1 | -2/+24 | |
Make sure the player "owns" the next_song object, so nobody else can free it. | |||||
2012-08-15 | decoder_control: duplicate the song object | Max Kellermann | 1 | -1/+1 | |
Make sure the decoder "owns" the song object, so nobody else can free it. | |||||
2012-08-15 | player_thread: add local variable "start_ms" | Max Kellermann | 1 | -1/+3 | |
Just in case "song" becomes invalid at some point. | |||||
2012-08-15 | decoder_control: add function _is_current_song() | Max Kellermann | 1 | -1/+1 | |
Replaces _current_song(). | |||||
2012-08-08 | player_control: add GError attribute | Max Kellermann | 1 | -10/+8 | |
Rewrite of the pc_get_error_message() function, now using a GError object instead of the complicated "errored_song" attribute. | |||||
2012-08-08 | output_all: add basic GError support | Max Kellermann | 1 | -5/+19 | |