Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-02-03 | SongLoader: new class that merges duplicate code | Max Kellermann | 13 | -169/+235 | |
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files. | |||||
2014-02-03 | FileCommands: use PathTraitsUTF8::IsAbsolute() | Max Kellermann | 1 | -1/+1 | |
2014-02-03 | PlaylistSave: remove redundant backslash conversion | Max Kellermann | 1 | -16/+3 | |
This is already being done by FixSeparators(), called from PathToUTF8(). | |||||
2014-02-02 | ClientFile: move client_allow_file() into the Client class | Max Kellermann | 6 | -51/+18 | |
2014-02-01 | Playlist: pass Database to DatabaseModified() | Max Kellermann | 5 | -13/+9 | |
Don't use global variable. | |||||
2014-02-01 | Partition: disable DatabaseModified() if not ENABLE_DATABASE | Max Kellermann | 3 | -0/+8 | |
2014-02-01 | Main: don't measure DatabaseGlobalDeinit() time | Max Kellermann | 1 | -4/+0 | |
Useless information. | |||||
2014-02-01 | Stats: pass Database reference around | Max Kellermann | 1 | -9/+8 | |
Call GetDatabase() only once. | |||||
2014-02-01 | Stats: remove obsolete "simple" plugin special case | Max Kellermann | 1 | -8/+0 | |
The proxy plugin has now implemented the "idle" event listener. | |||||
2014-02-01 | Stats: return false if update has failed | Max Kellermann | 1 | -1/+1 | |
2014-01-31 | Mapper: assert that Song::parent is not nullptr | Max Kellermann | 1 | -18/+3 | |
2014-01-31 | db/update/Archive: delete archive from database on error | Max Kellermann | 1 | -0/+2 | |
2014-01-31 | db/update/Editor: add locking method variants | Max Kellermann | 5 | -27/+36 | |
2014-01-31 | db/update: convert runtime check to assertion | Max Kellermann | 1 | -4/+1 | |
2014-01-30 | fs/AllocatedPath: add conversion constructor from Path | Max Kellermann | 1 | -0/+2 | |
2014-01-30 | fs/DirectoryReader: GetEntry() returns Path, not AllocatedPath | Max Kellermann | 1 | -3/+3 | |
Reduce overhead, don't duplicate the string. | |||||
2014-01-30 | update/Walk: declare std::string at assignment | Max Kellermann | 1 | -4/+2 | |
Reduce overhead. | |||||
2014-01-30 | PlaylistFile: narrow LoadPlaylistFileInfo() API to accept Path | Max Kellermann | 1 | -2/+2 | |
2014-01-30 | fs/AllocatedPath: add Build() overlays with Path arguments | Max Kellermann | 1 | -0/+10 | |
2014-01-30 | db: add compile-time option to disable database | Max Kellermann | 23 | -17/+222 | |
2014-01-30 | OtherCommands: merge duplicate code from handle_update(), handle_rescan() | Max Kellermann | 1 | -31/+10 | |
2014-01-30 | db/update: convert to OO API | Max Kellermann | 28 | -511/+505 | |
Move global variables into the new classes. That may allow multiple update threads for multiple databases one day. | |||||
2014-01-30 | Main, OutputThread: increase kernel timer slack (Linux) | Max Kellermann | 3 | -0/+61 | |
Allows the kernel to combine timer wakeups with other processes, reducing power usage. | |||||
2014-01-30 | ExcludeList: move to db/update/ | Max Kellermann | 2 | -0/+0 | |
2014-01-29 | InotifyUpdate: pass EventLoop to mpd_inotify_init() | Max Kellermann | 3 | -7/+10 | |
2014-01-29 | Listen: pass EventLoop to listen_global_init() | Max Kellermann | 3 | -8/+7 | |
Don't use global variables. | |||||
2014-01-29 | db/Directory: move isRootDirectory() to Uri.hxx | Max Kellermann | 5 | -7/+32 | |
Decouple command/OtherCommands.cxx from the "simple" database plugin. | |||||
2014-01-29 | sticker: don't use classes Directory and Song | Max Kellermann | 3 | -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-29 | OutputThread: move more functions into the AudioOutput class | Max Kellermann | 2 | -240/+271 | |
2014-01-29 | output: rename "chunk" to "current_chunk" | Max Kellermann | 4 | -28/+30 | |
2014-01-29 | output: move functions into the AudioOutput struct | Max Kellermann | 23 | -328/+281 | |
2014-01-29 | AudioOutput: make "plugin" a reference | Max Kellermann | 5 | -37/+37 | |
2014-01-29 | AudioOutput: pass plugin to constructor | Max Kellermann | 18 | -45/+68 | |
Make it "const". | |||||
2014-01-29 | CommandLine: remove junk from string literal | Max Kellermann | 1 | -1/+1 | |
2014-01-28 | AudioOutput: add constructor and destructor | Max Kellermann | 19 | -101/+27 | |
2014-01-28 | ConfigTemplates: rename "AudioOutput" back to "audio_output" | Max Kellermann | 1 | -1/+1 | |
sed gone horribly wrong. D'oh! | |||||
2014-01-28 | output: rename source files | Max Kellermann | 18 | -21/+21 | |
2014-01-28 | output: rename struct audio_output to AudioOutput | Max Kellermann | 35 | -273/+274 | |
2014-01-28 | OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin | Max Kellermann | 39 | -50/+53 | |
2014-01-28 | thread/Name: implementation for Mac OS X | Max Kellermann | 1 | -0/+4 | |
pthread_setname_np() doesn't have the "thread" argument on OS X. | |||||
2014-01-28 | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 24 | -1001/+905 | |
Another big chunk of code for multi-player support. | |||||
2014-01-27 | neighbor/smbclient: add splice_after() fallback for gcc 4.6 | Max Kellermann | 1 | -0/+7 | |
2014-01-27 | Playlist{Info,Vector}: move to db/ | Max Kellermann | 10 | -8/+8 | |
2014-01-27 | IcyMetadataParser: more robust tag parser | Max Kellermann | 1 | -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-26 | neighbor/upnp: UPnP media server discovery | Max Kellermann | 4 | -0/+175 | |
2014-01-26 | db/upnp: remove sleep(2) call | Max Kellermann | 1 | -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-26 | upnp: initialize the client handle only once | Max Kellermann | 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. | |||||
2014-01-26 | upnp: move library initialization to Init.cxx | Max Kellermann | 3 | -17/+111 | |
Allow calling UpnpGlobalInit() multiple times. | |||||
2014-01-26 | upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnP | Max Kellermann | 3 | -9/+7 | |
2014-01-26 | upnp: add class UpnpCallback | Max Kellermann | 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. |