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