Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Playlist: pass Database to DatabaseModified() | Max Kellermann | 2014-02-01 | 5 | -13/+9 | |
| | | | | | | | | Don't use global variable. | |||||
* | | Partition: disable DatabaseModified() if not ENABLE_DATABASE | Max Kellermann | 2014-02-01 | 3 | -0/+8 | |
| | | ||||||
* | | Main: don't measure DatabaseGlobalDeinit() time | Max Kellermann | 2014-02-01 | 1 | -4/+0 | |
| | | | | | | | | Useless information. | |||||
* | | Stats: pass Database reference around | Max Kellermann | 2014-02-01 | 1 | -9/+8 | |
| | | | | | | | | Call GetDatabase() only once. | |||||
* | | Stats: remove obsolete "simple" plugin special case | Max Kellermann | 2014-02-01 | 1 | -8/+0 | |
| | | | | | | | | The proxy plugin has now implemented the "idle" event listener. | |||||
* | | Stats: return false if update has failed | Max Kellermann | 2014-02-01 | 1 | -1/+1 | |
| | | ||||||
* | | Mapper: assert that Song::parent is not nullptr | Max Kellermann | 2014-01-31 | 1 | -18/+3 | |
| | | ||||||
* | | db/update/Archive: delete archive from database on error | Max Kellermann | 2014-01-31 | 1 | -0/+2 | |
| | | ||||||
* | | db/update/Editor: add locking method variants | Max Kellermann | 2014-01-31 | 5 | -27/+36 | |
| | | ||||||
* | | db/update: convert runtime check to assertion | Max Kellermann | 2014-01-31 | 1 | -4/+1 | |
| | | ||||||
* | | fs/AllocatedPath: add conversion constructor from Path | Max Kellermann | 2014-01-30 | 1 | -0/+2 | |
| | | ||||||
* | | fs/DirectoryReader: GetEntry() returns Path, not AllocatedPath | Max Kellermann | 2014-01-30 | 1 | -3/+3 | |
| | | | | | | | | Reduce overhead, don't duplicate the string. | |||||
* | | update/Walk: declare std::string at assignment | Max Kellermann | 2014-01-30 | 1 | -4/+2 | |
| | | | | | | | | Reduce overhead. | |||||
* | | PlaylistFile: narrow LoadPlaylistFileInfo() API to accept Path | Max Kellermann | 2014-01-30 | 1 | -2/+2 | |
| | | ||||||
* | | fs/AllocatedPath: add Build() overlays with Path arguments | Max Kellermann | 2014-01-30 | 1 | -0/+10 | |
| | | ||||||
* | | db: add compile-time option to disable database | Max Kellermann | 2014-01-30 | 23 | -17/+222 | |
| | | ||||||
* | | OtherCommands: merge duplicate code from handle_update(), handle_rescan() | Max Kellermann | 2014-01-30 | 1 | -31/+10 | |
| | | ||||||
* | | db/update: convert to OO API | Max Kellermann | 2014-01-30 | 28 | -511/+505 | |
| | | | | | | | | | | Move global variables into the new classes. That may allow multiple update threads for multiple databases one day. | |||||
* | | Main, OutputThread: increase kernel timer slack (Linux) | Max Kellermann | 2014-01-30 | 3 | -0/+61 | |
| | | | | | | | | | | Allows the kernel to combine timer wakeups with other processes, reducing power usage. | |||||
* | | ExcludeList: move to db/update/ | Max Kellermann | 2014-01-30 | 2 | -0/+0 | |
| | | ||||||
* | | InotifyUpdate: pass EventLoop to mpd_inotify_init() | Max Kellermann | 2014-01-29 | 3 | -7/+10 | |
| | | ||||||
* | | Listen: pass EventLoop to listen_global_init() | Max Kellermann | 2014-01-29 | 3 | -8/+7 | |
| | | | | | | | | Don't use global variables. | |||||
* | | db/Directory: move isRootDirectory() to Uri.hxx | Max Kellermann | 2014-01-29 | 5 | -7/+32 | |
| | | | | | | | | Decouple command/OtherCommands.cxx from the "simple" database plugin. | |||||
* | | sticker: don't use classes Directory and Song | Max Kellermann | 2014-01-29 | 3 | -22/+21 | |
| | | | | | | | | | | Don't depend on the "simple" database plugin. This fixes an assertion failure / crash and allows using stickers with other plugins. | |||||
* | | OutputThread: move more functions into the AudioOutput class | Max Kellermann | 2014-01-29 | 2 | -240/+271 | |
| | | ||||||
* | | output: rename "chunk" to "current_chunk" | Max Kellermann | 2014-01-29 | 4 | -28/+30 | |
| | | ||||||
* | | output: move functions into the AudioOutput struct | Max Kellermann | 2014-01-29 | 23 | -328/+281 | |
| | | ||||||
* | | AudioOutput: make "plugin" a reference | Max Kellermann | 2014-01-29 | 5 | -37/+37 | |
| | | ||||||
* | | AudioOutput: pass plugin to constructor | Max Kellermann | 2014-01-29 | 18 | -45/+68 | |
| | | | | | | | | Make it "const". | |||||
* | | CommandLine: remove junk from string literal | Max Kellermann | 2014-01-29 | 1 | -1/+1 | |
| | | ||||||
* | | AudioOutput: add constructor and destructor | Max Kellermann | 2014-01-28 | 19 | -101/+27 | |
| | | ||||||
* | | ConfigTemplates: rename "AudioOutput" back to "audio_output" | Max Kellermann | 2014-01-28 | 1 | -1/+1 | |
| | | | | | | | | sed gone horribly wrong. D'oh! | |||||
* | | output: rename source files | Max Kellermann | 2014-01-28 | 18 | -21/+21 | |
| | | ||||||
* | | output: rename struct audio_output to AudioOutput | Max Kellermann | 2014-01-28 | 35 | -273/+274 | |
| | | ||||||
* | | OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin | Max Kellermann | 2014-01-28 | 39 | -50/+53 | |
| | | ||||||
* | | thread/Name: implementation for Mac OS X | Max Kellermann | 2014-01-28 | 1 | -0/+4 | |
| | | | | | | | | pthread_setname_np() doesn't have the "thread" argument on OS X. | |||||
* | | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 2014-01-28 | 24 | -1001/+905 | |
| | | | | | | | | Another big chunk of code for multi-player support. | |||||
* | | neighbor/smbclient: add splice_after() fallback for gcc 4.6 | Max Kellermann | 2014-01-27 | 1 | -0/+7 | |
| | | ||||||
* | | Playlist{Info,Vector}: move to db/ | Max Kellermann | 2014-01-27 | 10 | -8/+8 | |
| | | ||||||
* | | Merge branch 'v0.18.x' | Max Kellermann | 2014-01-27 | 1 | -21/+70 | |
|\| | ||||||
| * | IcyMetadataParser: more robust tag parser | Max Kellermann | 2014-01-27 | 1 | -21/+71 | |
| | | | | | | | | | | Allow semicolons and single quotes in the stream title. This is not part of any specification, but found in real life. | |||||
* | | neighbor/upnp: UPnP media server discovery | Max Kellermann | 2014-01-26 | 4 | -0/+175 | |
| | | ||||||
* | | db/upnp: remove sleep(2) call | Max Kellermann | 2014-01-26 | 1 | -3/+0 | |
| | | | | | | | | | | This call was unnecessary. It is a bad idea anyway to block the MPD process for some arbitrary amount of time. | |||||
* | | upnp: initialize the client handle only once | Max Kellermann | 2014-01-26 | 3 | -69/+72 | |
| | | | | | | | | | | | | Eliminate class LibUPnP and move the code to ClientInit.cxx. Its initialization function can be called multiple times, but UpnpRegisterClient() is called at most once. | |||||
* | | upnp: move library initialization to Init.cxx | Max Kellermann | 2014-01-26 | 3 | -17/+111 | |
| | | | | | | | | Allow calling UpnpGlobalInit() multiple times. | |||||
* | | upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnP | Max Kellermann | 2014-01-26 | 3 | -9/+7 | |
| | | ||||||
* | | upnp: add class UpnpCallback | Max Kellermann | 2014-01-26 | 5 | -26/+64 | |
| | | | | | | | | | | | | | | Each Upnp*Async() call passes a new cookie pointer, and the cookie passed to UpnpRegisterClient() appears to be ignored. Using this interface is a more elegant approach than having one single "handler" function. | |||||
* | | CueParser: don't "move" the filename | Max Kellermann | 2014-01-26 | 1 | -1/+1 | |
| | | | | | | | | | | This invalidated the std::string instance, and thus broke the CUE parser (commit 322b061632). | |||||
* | | upnp: remove obsolete global variable "theLib" | Max Kellermann | 2014-01-26 | 1 | -6/+0 | |
| | | ||||||
* | | upnp/Discovery: add listener interface | Max Kellermann | 2014-01-26 | 2 | -2/+36 | |
| | |