Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Copyright year 2015 | Max Kellermann | 2015-01-01 | 1 | -1/+1 |
| | |||||
* | PlayerControl: make settings "const" | Max Kellermann | 2014-08-30 | 1 | -2/+2 |
| | |||||
* | PlayerControl: update include guard | Max Kellermann | 2014-08-30 | 1 | -2/+2 |
| | |||||
* | PlayerThread: use SongTime for elapsed_time | Max Kellermann | 2014-08-29 | 1 | -2/+2 |
| | |||||
* | PlayerControl: use SignedSongTime for the song duration | Max Kellermann | 2014-08-29 | 1 | -2/+2 |
| | |||||
* | PlayerControl: use std::chrono::duration for Seek() | Max Kellermann | 2014-08-27 | 1 | -2/+3 |
| | |||||
* | PlayerListener: new interface to replace GlobalEvents access | Max Kellermann | 2014-02-21 | 1 | -3/+7 |
| | |||||
* | output: rename struct audio_output to AudioOutput | Max Kellermann | 2014-01-28 | 1 | -1/+1 |
| | |||||
* | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 2014-01-28 | 1 | -1/+5 |
| | | | | Another big chunk of code for multi-player support. | ||||
* | copyright year 2014 | Max Kellermann | 2014-01-13 | 1 | -1/+1 |
| | |||||
* | DetachedSong: fork of struct Song | Max Kellermann | 2014-01-09 | 1 | -18/+18 |
| | | | | | | From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead. | ||||
* | *: update copyright year to 2013 | Max Kellermann | 2013-10-30 | 1 | -1/+1 |
| | |||||
* | PlayerControl: move attributes to struct CrossFadeSettings | Max Kellermann | 2013-10-29 | 1 | -6/+7 |
| | |||||
* | player_control: rename to PlayerControl | Max Kellermann | 2013-10-28 | 1 | -7/+7 |
| | |||||
* | Playlist: copy stream tags from the PlayerThread | Max Kellermann | 2013-10-22 | 1 | -1/+42 |
| | | | | | | Finally restores an important feature that has been broken for several months when the PlayerThread started working with Song copies instead of pointers to the Queue's Song instances (commit e96779d). | ||||
* | PlayerControl: GetError() returns an Error, not a char* | Max Kellermann | 2013-10-17 | 1 | -5/+23 |
| | |||||
* | Thread/Thread: replacement library for GThread | Max Kellermann | 2013-10-17 | 1 | -8/+8 |
| | |||||
* | PlayerControl: use strictly typed enums | Max Kellermann | 2013-09-27 | 1 | -38/+37 |
| | |||||
* | PlayerControl: convert functions to methods | Max Kellermann | 2013-09-27 | 1 | -0/+55 |
| | |||||
* | PlayerThread: move code to player_control::CommandFinished() | Max Kellermann | 2013-09-27 | 1 | -0/+14 |
| | |||||
* | util/Error: new error passing library | Max Kellermann | 2013-09-04 | 1 | -4/+4 |
| | | | | Replaces GLib's GError. | ||||
* | audio_format: convert to C++ | Max Kellermann | 2013-08-03 | 1 | -3/+3 |
| | |||||
* | song: convert header to C++ | Max Kellermann | 2013-07-28 | 1 | -4/+5 |
| | |||||
* | PlayerControl: add second Cond object | Max Kellermann | 2013-01-25 | 1 | -0/+32 |
| | | | | | | | | | | | | | 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. | ||||
* | PlayerControl: move functions into the class | Max Kellermann | 2013-01-20 | 1 | -167/+121 |
| | |||||
* | PlayerControl: switch to the Mutex/Cond classes | Max Kellermann | 2013-01-10 | 1 | -6/+8 |
| | |||||
* | PlayerControl: add constructor and destructor | Max Kellermann | 2013-01-04 | 1 | -6/+4 |
| | |||||
* | player_control.h: convert header to C++ | Max Kellermann | 2013-01-04 | 1 | -0/+339 |