aboutsummaryrefslogtreecommitdiffstats
path: root/src/Main.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-05Main: remove unused global variable "main_thread"Max Kellermann1-3/+0
2014-02-05Instance: add attribute "event_loop"Max Kellermann1-2/+0
Replaces global variable "main_loop".
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-30*: update copyright year to 2013Max Kellermann1-1/+1
2013-10-17Main: use ThreadId instead of GThread*Max Kellermann1-2/+2
2013-09-27DecoderControl: use GLib forward declarationsMax Kellermann1-2/+1
2013-04-17Main: move global variables to struct InstanceMax Kellermann1-3/+2
More preparations for multi-player support.
2013-01-16ClientList: convert to a classMax Kellermann1-0/+2
2013-01-14Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann1-1/+3
2013-01-10PlayerThread: use pc.cond instead of main_condMax Kellermann1-2/+0
The main_cond variable was completely unnecessary. The pc.cond object can be used for both main->pc and pc->main.
2013-01-09EventPipe: rename to GlobalEventsMax Kellermann1-1/+1
2013-01-05Partition: new class, container for Playlist and PlayerControlMax Kellermann1-1/+1
This is the beginning of multi-player support. There will be support for multiple Partition objects in one MPD process.
2012-09-28main: use C++ compilerMax Kellermann1-3/+3
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-10player_control: removed the global variable "pc"Max Kellermann1-0/+2
Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support.
2010-09-23main: Add Windows Service supportDenis Krjuchkov1-0/+41
I've added PIPE_EVENT_SHUTDOWN because calling g_main_loop_quit() do not work when called from another thread. Main thread was sleeping in g_poll() so I needed some way to wake it up. By some strange reason call close(event_pipe[0]) in event_pipe_deinit() hangs. In current implementation that code never reached so that was not a problem :-) I've added a conditional to leave event_pipe[0] open on Win32.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-10-31player_control: protect command, state, error with a mutexMax Kellermann1-1/+1
Use GMutex/GCond instead of the notify library. Manually lock the player_control object before accessing the protected attributes. Use the GCond object to notify the player thread and the main thread.
2009-03-13all: Update copyright header.Avuton Olrich1-4/+5
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-01-03event_pipe: moved variable "main_task" to main.cMax Kellermann1-0/+2
2009-01-02main: include main.h, fix dependenciesMax Kellermann1-0/+2
2009-01-02event_pipe: replaced PIPE_EVENT_SIGNAL with main_notifyMax Kellermann1-0/+2
There is only one location using PIPE_EVENT_SIGNAL: to synchronize player_command() with player_command_finished(). Use the "notify" library instead of the event_pipe here.
2008-12-30main: export the main_loop variableMax Kellermann1-12/+3
Other libraries may need to access the main_loop reference, to add or remove events, or to call g_main_loop_quit().
2008-12-30listen: moved redirect_stdin() to daemon.cMax Kellermann1-0/+6
redirect_stdin() is a daemonization function, and disconnecting from the standard input is always a good idea for MPD.
2008-12-30main: moved daemonize() to daemon.cMax Kellermann1-12/+5
2008-12-27cmdline: use gboolean instead of intMax Kellermann1-4/+6
Prepare for the migration to the GLib option parser, which uses gboolean for flags.
2008-12-27moved command line parser to cmdline.cMax Kellermann1-7/+13
2008-10-31added prefix to header macrosMax Kellermann1-2/+2
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
2008-10-08don't include os_compat.hMax Kellermann1-1/+1
When there are standardized headers, use these instead of the bloated os_compat.h.
2008-09-09output: moved code from audioOutput.c to output_control.cMax Kellermann1-19/+0
Similar to decoder_control.c, output_control.c will provide functions for controlling the output thread (which will be implemented later).
2008-09-09output: removed keepAudioOutputAlive() declarationMax Kellermann1-1/+0
This function is declared, but is neither used nor implemented.
2008-09-08output: static audio_output_plugin list as arrayMax Kellermann1-17/+0
Instead of having to register each output plugin, store them statically in an array. This eliminates the need for the List library here, and saves some small allocations during startup.
2008-09-07output: renamed typedef AudioOutput to struct audio_outputMax Kellermann1-21/+22
Also rename AudioOutputPlugin to struct audio_output_plugin, and use forward declarations to reduce include dependencies.
2008-09-07output: added output_api.hMax Kellermann1-64/+3
Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins.
2008-09-07audio_format: converted typedef AudioFormat to struct audio_formatMax Kellermann1-4/+4
Get rid of CamelCase, and don't use a typedef, so we can forward-declare it, and unclutter the include dependencies.
2008-08-29tag: renamed MpdTag and MpdTagItem to struct tag, struct mpd_tag_itemMax Kellermann1-2/+3
Getting rid of CamelCase; not having typedefs also allows us to forward-declare the structures.
2008-08-29pass constant pointersMax Kellermann1-2/+2
And again, convert arguments to const.
2008-08-26moved struct AudioFormat to audio_format.hMax Kellermann1-1/+1
We want to expose the AudioFormat structure to plugins; remove some clutter by moving its declaration to a separate header file.
2008-04-12const pointers in audioOutput.cMax Kellermann1-1/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@7345 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12use size_t in audioOutput.c internalsMax Kellermann1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@7294 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12use size_t and constant pointer in ao pluginsMax Kellermann1-2/+3
The audio output plugins should get a constant pointer, because they must not modify the buffer. Since the size is a non-negative buffer size in bytes, we should change its type to size_t. git-svn-id: https://svn.musicpd.org/mpd/trunk@7293 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-02-05fix -Wconst warningsMax Kellermann1-3/+3
[ew: cleaned up the dirty union hack a bit] Signed-off-by: Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7180 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26fixed invalid C prototypesMax Kellermann1-1/+1
Signed-off-by: Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7142 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-03Cleanup #includes of standard system headers and put them in one placeEric Wong1-0/+1
This will make refactoring features easier, especially now that pthreads support and larger refactorings are on the horizon. Hopefully, this will make porting to other platforms (even non-UNIX-like ones for masochists) easier, too. os_compat.h will house all the #includes for system headers considered to be the "core" of MPD. Headers for optional features will be left to individual source files. git-svn-id: https://svn.musicpd.org/mpd/trunk@7130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-13Adding FIFO audio output. This is pretty much identical to the old one,J. Alexander Treuman1-0/+1
except that it now uses a timer for throttling. git-svn-id: https://svn.musicpd.org/mpd/trunk@6621 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-12Load shout first instead of last. This makes it more likely to block otherJ. Alexander Treuman1-1/+1
outputs, which is actually desired behaviour. This way if the shout server takes a while to respond, the shout output can block until connected without messing up other audio outputs. git-svn-id: https://svn.musicpd.org/mpd/trunk@6554 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-10Load the shout plugin last. This will make sure it's played to last,J. Alexander Treuman1-1/+1
reducing the likelyhood of it blocking other outputs. git-svn-id: https://svn.musicpd.org/mpd/trunk@6543 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-30Adding a null output plugin.J. Alexander Treuman1-0/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@6393 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24Reverting to the full lsr API. Turns out the simple API needs all of theJ. Alexander Treuman1-0/+2
audio at once, so it won't work for us. The old full API code was still heavily broken, as each call to pcm_convertSampleRate() used the same state, even if it was processing two streams of audio. The new code keeps a separate state for each audio stream that's being converted. git-svn-id: https://svn.musicpd.org/mpd/trunk@6255 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-05The massive copyright updateAvuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f