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