aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-30fs/DirectoryReader: GetEntry() returns Path, not AllocatedPathMax Kellermann1-3/+3
Reduce overhead, don't duplicate the string.
2014-01-30update/Walk: declare std::string at assignmentMax Kellermann1-4/+2
Reduce overhead.
2014-01-30PlaylistFile: narrow LoadPlaylistFileInfo() API to accept PathMax Kellermann1-2/+2
2014-01-30fs/AllocatedPath: add Build() overlays with Path argumentsMax Kellermann1-0/+10
2014-01-30db: add compile-time option to disable databaseMax Kellermann23-17/+222
2014-01-30OtherCommands: merge duplicate code from handle_update(), handle_rescan()Max Kellermann1-31/+10
2014-01-30db/update: convert to OO APIMax Kellermann28-511/+505
Move global variables into the new classes. That may allow multiple update threads for multiple databases one day.
2014-01-30Main, OutputThread: increase kernel timer slack (Linux)Max Kellermann3-0/+61
Allows the kernel to combine timer wakeups with other processes, reducing power usage.
2014-01-30ExcludeList: move to db/update/Max Kellermann2-0/+0
2014-01-29InotifyUpdate: pass EventLoop to mpd_inotify_init()Max Kellermann3-7/+10
2014-01-29Listen: pass EventLoop to listen_global_init()Max Kellermann3-8/+7
Don't use global variables.
2014-01-29db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann5-7/+32
Decouple command/OtherCommands.cxx from the "simple" database plugin.
2014-01-29sticker: don't use classes Directory and SongMax Kellermann3-22/+21
Don't depend on the "simple" database plugin. This fixes an assertion failure / crash and allows using stickers with other plugins.
2014-01-29OutputThread: move more functions into the AudioOutput classMax Kellermann2-240/+271
2014-01-29output: rename "chunk" to "current_chunk"Max Kellermann4-28/+30
2014-01-29output: move functions into the AudioOutput structMax Kellermann23-328/+281
2014-01-29AudioOutput: make "plugin" a referenceMax Kellermann5-37/+37
2014-01-29AudioOutput: pass plugin to constructorMax Kellermann18-45/+68
Make it "const".
2014-01-29CommandLine: remove junk from string literalMax Kellermann1-1/+1
2014-01-28AudioOutput: add constructor and destructorMax Kellermann19-101/+27
2014-01-28ConfigTemplates: rename "AudioOutput" back to "audio_output"Max Kellermann1-1/+1
sed gone horribly wrong. D'oh!
2014-01-28output: rename source filesMax Kellermann18-21/+21
2014-01-28output: rename struct audio_output to AudioOutputMax Kellermann35-273/+274
2014-01-28OutputPlugin: rename struct audio_output_plugin to AudioOutputPluginMax Kellermann39-50/+53
2014-01-28thread/Name: implementation for Mac OS XMax Kellermann1-0/+4
pthread_setname_np() doesn't have the "thread" argument on OS X.
2014-01-28OutputAll: convert to class, move instance to class PartitionMax Kellermann24-1001/+905
Another big chunk of code for multi-player support.
2014-01-27neighbor/smbclient: add splice_after() fallback for gcc 4.6Max Kellermann1-0/+7
2014-01-27Playlist{Info,Vector}: move to db/Max Kellermann10-8/+8
2014-01-27IcyMetadataParser: more robust tag parserMax Kellermann1-21/+71
Allow semicolons and single quotes in the stream title. This is not part of any specification, but found in real life.
2014-01-26neighbor/upnp: UPnP media server discoveryMax Kellermann4-0/+175
2014-01-26db/upnp: remove sleep(2) callMax Kellermann1-3/+0
This call was unnecessary. It is a bad idea anyway to block the MPD process for some arbitrary amount of time.
2014-01-26upnp: initialize the client handle only onceMax Kellermann3-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.
2014-01-26upnp: move library initialization to Init.cxxMax Kellermann3-17/+111
Allow calling UpnpGlobalInit() multiple times.
2014-01-26upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnPMax Kellermann3-9/+7
2014-01-26upnp: add class UpnpCallbackMax Kellermann5-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.
2014-01-26CueParser: don't "move" the filenameMax Kellermann1-1/+1
This invalidated the std::string instance, and thus broke the CUE parser (commit 322b061632).
2014-01-26upnp: remove obsolete global variable "theLib"Max Kellermann1-6/+0
2014-01-26upnp/Discovery: add listener interfaceMax Kellermann2-2/+36
2014-01-26db/upnp: move generic code to lib/upnp/Max Kellermann19-79/+105
2014-01-26neighbor/Glue: fix rollback rangeMax Kellermann1-1/+1
2014-01-26db/upnp: rename variablesMax Kellermann1-21/+21
2014-01-26neighbor/Info: add constructorMax Kellermann2-6/+6
2014-01-26NeighborCommands: convert assertion to runtime checkMax Kellermann1-1/+5
2014-01-26neighbor: new subsystem to detect file servers on the local networkMax Kellermann21-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.
2014-01-26lib/smbclient/Init: return empty username/passwordMax Kellermann1-2/+2
This appears to be the right thing to do when we want anonymous login.
2014-01-25input/smbclient: move code to lib/smbclient/Init.cxxMax Kellermann3-19/+86
2014-01-24ConfigGlobal: add config_find_block()Max Kellermann6-122/+38
Merge duplicate code.
2014-01-24DespotifyUtils, Expat: move to lib/Max Kellermann11-8/+8
2014-01-24Mixer*: move to mixer/Max Kellermann33-24/+24
2014-01-24Filter*: move to filter/Max Kellermann25-40/+40