Commit Graph

7132 Commits

Author SHA1 Message Date
Max Kellermann a31738f6f1 Main, OutputThread: increase kernel timer slack (Linux)
Allows the kernel to combine timer wakeups with other processes,
reducing power usage.
2014-01-30 18:43:40 +01:00
Max Kellermann d5b017407d ExcludeList: move to db/update/ 2014-01-30 10:11:12 +01:00
Max Kellermann 4b044bd8e1 InotifyUpdate: pass EventLoop to mpd_inotify_init() 2014-01-29 18:36:32 +01:00
Max Kellermann aeaf64b467 Listen: pass EventLoop to listen_global_init()
Don't use global variables.
2014-01-29 18:32:28 +01:00
Max Kellermann a137f817f5 db/Directory: move isRootDirectory() to Uri.hxx
Decouple command/OtherCommands.cxx from the "simple" database plugin.
2014-01-29 18:05:33 +01:00
Max Kellermann ff87145537 sticker: don't use classes Directory and Song
Don't depend on the "simple" database plugin.  This fixes an assertion
failure / crash and allows using stickers with other plugins.
2014-01-29 17:45:07 +01:00
Max Kellermann 667481c371 OutputThread: move more functions into the AudioOutput class 2014-01-29 09:26:11 +01:00
Max Kellermann af71605769 output: rename "chunk" to "current_chunk" 2014-01-29 09:23:57 +01:00
Max Kellermann 4657a3bd0f output: move functions into the AudioOutput struct 2014-01-29 08:10:46 +01:00
Max Kellermann cb7366f472 AudioOutput: make "plugin" a reference 2014-01-29 08:10:36 +01:00
Max Kellermann bf803e241f AudioOutput: pass plugin to constructor
Make it "const".
2014-01-29 08:10:18 +01:00
Max Kellermann 5b3aa45e58 CommandLine: remove junk from string literal 2014-01-29 08:09:48 +01:00
Max Kellermann c4403c523f AudioOutput: add constructor and destructor 2014-01-28 12:37:58 +01:00
Max Kellermann 07b89b2bad ConfigTemplates: rename "AudioOutput" back to "audio_output"
sed gone horribly wrong.  D'oh!
2014-01-28 12:37:58 +01:00
Max Kellermann 68b79f97f3 output: rename source files 2014-01-28 11:42:54 +01:00
Max Kellermann 815d72065c output: rename struct audio_output to AudioOutput 2014-01-28 11:34:09 +01:00
Max Kellermann e0dc721324 OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin 2014-01-28 11:33:15 +01:00
Max Kellermann 2f873edc9c thread/Name: implementation for Mac OS X
pthread_setname_np() doesn't have the "thread" argument on OS X.
2014-01-28 11:33:15 +01:00
Max Kellermann f5a923b9d1 OutputAll: convert to class, move instance to class Partition
Another big chunk of code for multi-player support.
2014-01-28 09:20:53 +01:00
Max Kellermann 5273900b0e neighbor/smbclient: add splice_after() fallback for gcc 4.6 2014-01-27 14:59:15 +01:00
Max Kellermann f548a966f5 Playlist{Info,Vector}: move to db/ 2014-01-27 11:05:21 +01:00
Max Kellermann 30fadaed7f Merge branch 'v0.18.x' 2014-01-27 10:33:42 +01:00
Max Kellermann 2b10ecfa37 IcyMetadataParser: more robust tag parser
Allow semicolons and single quotes in the stream title.  This is not
part of any specification, but found in real life.
2014-01-27 10:08:21 +01:00
Max Kellermann 0b3fbdba87 neighbor/upnp: UPnP media server discovery 2014-01-26 15:51:33 +01:00
Max Kellermann 3dad837ca6 db/upnp: remove sleep(2) call
This call was unnecessary.  It is a bad idea anyway to block the MPD
process for some arbitrary amount of time.
2014-01-26 15:50:30 +01:00
Max Kellermann d7e78059b0 upnp: initialize the client handle only once
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 15:43:23 +01:00
Max Kellermann 01f7abfc63 upnp: move library initialization to Init.cxx
Allow calling UpnpGlobalInit() multiple times.
2014-01-26 15:23:26 +01:00
Max Kellermann e57e89b9d5 upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnP 2014-01-26 15:22:33 +01:00
Max Kellermann bcc1f93370 upnp: add class UpnpCallback
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-26 15:04:56 +01:00
Max Kellermann b161d72326 CueParser: don't "move" the filename
This invalidated the std::string instance, and thus broke the CUE
parser (commit 322b061632).
2014-01-26 14:58:23 +01:00
Max Kellermann 66c013682f upnp: remove obsolete global variable "theLib" 2014-01-26 13:54:48 +01:00
Max Kellermann 9f3ba737d6 upnp/Discovery: add listener interface 2014-01-26 13:41:40 +01:00
Max Kellermann f86f5ad224 db/upnp: move generic code to lib/upnp/ 2014-01-26 13:41:40 +01:00
Max Kellermann 8b6b3ff28a neighbor/Glue: fix rollback range 2014-01-26 13:41:40 +01:00
Max Kellermann 4a3dc2cea2 db/upnp: rename variables 2014-01-26 13:08:52 +01:00
Max Kellermann bd0cfffe23 neighbor/Info: add constructor 2014-01-26 13:07:53 +01:00
Max Kellermann 642be502c0 NeighborCommands: convert assertion to runtime check 2014-01-26 01:17:49 +01:00
Max Kellermann 5c4a42caa0 neighbor: new subsystem to detect file servers on the local network
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-26 00:10:05 +01:00
Max Kellermann e847788569 lib/smbclient/Init: return empty username/password
This appears to be the right thing to do when we want anonymous login.
2014-01-26 00:08:50 +01:00
Max Kellermann 86ca5b3f16 input/smbclient: move code to lib/smbclient/Init.cxx 2014-01-25 23:29:42 +01:00
Max Kellermann 9b1fbdbca6 ConfigGlobal: add config_find_block()
Merge duplicate code.
2014-01-24 16:55:17 +01:00
Max Kellermann 97391fd4b9 DespotifyUtils, Expat: move to lib/ 2014-01-24 16:44:36 +01:00
Max Kellermann 68eda78704 Mixer*: move to mixer/ 2014-01-24 16:44:32 +01:00
Max Kellermann 7c52a1c04b Filter*: move to filter/ 2014-01-24 16:43:57 +01:00
Max Kellermann 9d34fc394c Database*: move to db/ 2014-01-24 16:38:44 +01:00
Max Kellermann 973c9872f9 Sticker*: move to sticker/ 2014-01-24 16:38:15 +01:00
Max Kellermann eef7ba48dd Win32Main: move to win32/ 2014-01-24 16:37:32 +01:00
Max Kellermann 299ff2b23f move daemonization code to unix/ 2014-01-24 16:37:21 +01:00
Max Kellermann f8bfea8bae Input*: move to input/ 2014-01-24 16:33:33 +01:00
Max Kellermann e199c33c6e Client*: move to client/ 2014-01-24 00:26:53 +01:00