aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fs/DirectoryReader: GetEntry() returns Path, not AllocatedPathMax Kellermann2014-01-301-3/+3
| | | | Reduce overhead, don't duplicate the string.
* update/Walk: declare std::string at assignmentMax Kellermann2014-01-301-4/+2
| | | | Reduce overhead.
* PlaylistFile: narrow LoadPlaylistFileInfo() API to accept PathMax Kellermann2014-01-301-2/+2
|
* fs/AllocatedPath: add Build() overlays with Path argumentsMax Kellermann2014-01-301-0/+10
|
* db: add compile-time option to disable databaseMax Kellermann2014-01-3023-17/+222
|
* OtherCommands: merge duplicate code from handle_update(), handle_rescan()Max Kellermann2014-01-301-31/+10
|
* db/update: convert to OO APIMax Kellermann2014-01-3028-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 Kellermann2014-01-303-0/+61
| | | | | Allows the kernel to combine timer wakeups with other processes, reducing power usage.
* ExcludeList: move to db/update/Max Kellermann2014-01-302-0/+0
|
* InotifyUpdate: pass EventLoop to mpd_inotify_init()Max Kellermann2014-01-293-7/+10
|
* Listen: pass EventLoop to listen_global_init()Max Kellermann2014-01-293-8/+7
| | | | Don't use global variables.
* db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann2014-01-295-7/+32
| | | | Decouple command/OtherCommands.cxx from the "simple" database plugin.
* sticker: don't use classes Directory and SongMax Kellermann2014-01-293-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 classMax Kellermann2014-01-292-240/+271
|
* output: rename "chunk" to "current_chunk"Max Kellermann2014-01-294-28/+30
|
* output: move functions into the AudioOutput structMax Kellermann2014-01-2923-328/+281
|
* AudioOutput: make "plugin" a referenceMax Kellermann2014-01-295-37/+37
|
* AudioOutput: pass plugin to constructorMax Kellermann2014-01-2918-45/+68
| | | | Make it "const".
* CommandLine: remove junk from string literalMax Kellermann2014-01-291-1/+1
|
* AudioOutput: add constructor and destructorMax Kellermann2014-01-2819-101/+27
|
* ConfigTemplates: rename "AudioOutput" back to "audio_output"Max Kellermann2014-01-281-1/+1
| | | | sed gone horribly wrong. D'oh!
* output: rename source filesMax Kellermann2014-01-2818-21/+21
|
* output: rename struct audio_output to AudioOutputMax Kellermann2014-01-2835-273/+274
|
* OutputPlugin: rename struct audio_output_plugin to AudioOutputPluginMax Kellermann2014-01-2839-50/+53
|
* thread/Name: implementation for Mac OS XMax Kellermann2014-01-281-0/+4
| | | | pthread_setname_np() doesn't have the "thread" argument on OS X.
* OutputAll: convert to class, move instance to class PartitionMax Kellermann2014-01-2824-1001/+905
| | | | Another big chunk of code for multi-player support.
* neighbor/smbclient: add splice_after() fallback for gcc 4.6Max Kellermann2014-01-271-0/+7
|
* Playlist{Info,Vector}: move to db/Max Kellermann2014-01-2710-8/+8
|
* Merge branch 'v0.18.x'Max Kellermann2014-01-271-21/+70
|\
| * IcyMetadataParser: more robust tag parserMax Kellermann2014-01-271-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 discoveryMax Kellermann2014-01-264-0/+175
| |
* | db/upnp: remove sleep(2) callMax Kellermann2014-01-261-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 onceMax Kellermann2014-01-263-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.cxxMax Kellermann2014-01-263-17/+111
| | | | | | | | Allow calling UpnpGlobalInit() multiple times.
* | upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnPMax Kellermann2014-01-263-9/+7
| |
* | upnp: add class UpnpCallbackMax Kellermann2014-01-265-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 filenameMax Kellermann2014-01-261-1/+1
| | | | | | | | | | This invalidated the std::string instance, and thus broke the CUE parser (commit 322b061632).
* | upnp: remove obsolete global variable "theLib"Max Kellermann2014-01-261-6/+0
| |
* | upnp/Discovery: add listener interfaceMax Kellermann2014-01-262-2/+36
| |
* | db/upnp: move generic code to lib/upnp/Max Kellermann2014-01-2619-79/+105
| |
* | neighbor/Glue: fix rollback rangeMax Kellermann2014-01-261-1/+1
| |
* | db/upnp: rename variablesMax Kellermann2014-01-261-21/+21
| |
* | neighbor/Info: add constructorMax Kellermann2014-01-262-6/+6
| |
* | NeighborCommands: convert assertion to runtime checkMax Kellermann2014-01-261-1/+5
| |
* | neighbor: new subsystem to detect file servers on the local networkMax Kellermann2014-01-2621-2/+939
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the NeighborPlugin API which can be used to detect nearby file servers that can be used by input plugins. This list of servers is exported using the new "listneighbors" command. The idle even "neighbor" notifies interested clients when a new neighbor is found or an existing one is lost. There's a lot missing currently: protocol&user documentation, and a way to "mount" remote servers into the music database. Obviously, some code from the UPnP database plugin can be moved to a neighbor plugin.
* | lib/smbclient/Init: return empty username/passwordMax Kellermann2014-01-261-2/+2
| | | | | | | | This appears to be the right thing to do when we want anonymous login.
* | input/smbclient: move code to lib/smbclient/Init.cxxMax Kellermann2014-01-253-19/+86
| |
* | ConfigGlobal: add config_find_block()Max Kellermann2014-01-246-122/+38
| | | | | | Merge duplicate code.
* | DespotifyUtils, Expat: move to lib/Max Kellermann2014-01-2411-8/+8
| |
* | Mixer*: move to mixer/Max Kellermann2014-01-2433-24/+24
| |