aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-03SongLoader: new class that merges duplicate codeMax Kellermann13-169/+235
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files.
2014-02-03FileCommands: use PathTraitsUTF8::IsAbsolute()Max Kellermann1-1/+1
2014-02-03PlaylistSave: remove redundant backslash conversionMax Kellermann1-16/+3
This is already being done by FixSeparators(), called from PathToUTF8().
2014-02-02ClientFile: move client_allow_file() into the Client classMax Kellermann6-51/+18
2014-02-01Playlist: pass Database to DatabaseModified()Max Kellermann5-13/+9
Don't use global variable.
2014-02-01Partition: disable DatabaseModified() if not ENABLE_DATABASEMax Kellermann3-0/+8
2014-02-01Main: don't measure DatabaseGlobalDeinit() timeMax Kellermann1-4/+0
Useless information.
2014-02-01Stats: pass Database reference aroundMax Kellermann1-9/+8
Call GetDatabase() only once.
2014-02-01Stats: remove obsolete "simple" plugin special caseMax Kellermann1-8/+0
The proxy plugin has now implemented the "idle" event listener.
2014-02-01Stats: return false if update has failedMax Kellermann1-1/+1
2014-01-31Mapper: assert that Song::parent is not nullptrMax Kellermann1-18/+3
2014-01-31db/update/Archive: delete archive from database on errorMax Kellermann1-0/+2
2014-01-31db/update/Editor: add locking method variantsMax Kellermann5-27/+36
2014-01-31db/update: convert runtime check to assertionMax Kellermann1-4/+1
2014-01-30fs/AllocatedPath: add conversion constructor from PathMax Kellermann1-0/+2
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.