aboutsummaryrefslogtreecommitdiffstats
path: root/src/Main.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-09idle: convert to C++Max Kellermann1-1/+1
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-3/+3
2013-01-07mixer_all: convert to C++Max Kellermann1-1/+1
2013-01-07volume: convert to C++Max Kellermann1-1/+1
2013-01-05Partition: new class, container for Playlist and PlayerControlMax Kellermann1-16/+18
This is the beginning of multi-player support. There will be support for multiple Partition objects in one MPD process.
2013-01-05filter/ReplayGain: add method _set_mode()Max Kellermann1-0/+2
Push the new mode to the filter instead of accessing global variables through replay_gain_get_real_mode().
2013-01-04Playlist: pass max_length to playlist_init()Max Kellermann1-1/+2
Move the configuration lookup to Main.cxx.
2013-01-04PlayerControl: add constructor and destructorMax Kellermann1-2/+3
2013-01-04player_control.h: convert header to C++Max Kellermann1-1/+1
2013-01-04playlist: convert to C++Max Kellermann1-1/+1
2013-01-04buffer, pipe: convert to C++Max Kellermann1-1/+1
2013-01-03cmdline: convert to C++Max Kellermann1-1/+1
2013-01-03client: convert to C++Max Kellermann1-3/+3
2013-01-03listen: convert to C++Max Kellermann1-1/+1
2013-01-03Permission: use std::map instead of GHashTableMax Kellermann1-1/+0
2013-01-03permission: convert to C++Max Kellermann1-1/+1
2013-01-03database.h: rename to DatabaseSimple.hxxMax Kellermann1-1/+1
2013-01-03database.h: move prototypes to DatabaseGlue.hxxMax Kellermann1-3/+4
2013-01-02mapper: convert to C++Max Kellermann1-1/+1
2013-01-02sticker: convert to C++Max Kellermann1-4/+2
2013-01-02{decoder,player}_thread: convert to C++Max Kellermann1-1/+1
2013-01-02db_save, state_file: convert to C++Max Kellermann1-1/+1
2013-01-02update: convert to C++Max Kellermann1-5/+5
2012-09-28main: use C++ compilerMax Kellermann1-4/+12
2012-09-28stored_playlist, playlist_save: use C++ compilerMax Kellermann1-1/+1
2012-09-25command.h: move function prototypes to AllCommands.hMax Kellermann1-1/+1
2012-08-14log: store duplicated path stringMax Kellermann1-1/+1
Don't free the string right after calling log_init_file(). Add a new function log_deinit() that frees the string on shutdown. This fixes cycling the log file after SIGHUP (Mantis ticket 0003524).
2012-08-14input_stream, main: remove obsolete GLib version checksMax Kellermann1-2/+0
MPD requires GLib 2.16.
2012-08-08tag_pool: use GStaticMutexMax Kellermann1-3/+0
Eliminates explicit global initialisation.
2012-08-08conf: add a "database" blockMax Kellermann1-6/+18
The new block overrides the "db_file" setting, and allows configuring any database plugin.
2012-08-08DatabaseGlue: pass block to db_init()Max Kellermann1-1/+6
Let the caller take care for legacy conversion.
2012-08-08main: don't call db_init() without databaseMax Kellermann1-1/+0
Useless call.
2012-08-07dbUtils.h: move to DatabaseQueue.hxx, DatabasePlaylist.hxxMax Kellermann1-1/+0
2012-03-26Fix processing of sticker database pathDan McGee1-2/+1
After a previous refactor, the current code fails on paths that need expansion (e.g, '~/.mpd/sticker.db'), because we are not passing the correct path to the sticker database code. Pass the expanded (and previously unused) string instead of the original string. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-02-15main: handle negative strtol return valueJonathan Neuschäfer1-2/+3
size_t is unsigned most of the time, so we can't really use it to check for negative values. Also handle strtol overflow.
2012-01-21db_lock: new unified lock for songvec and dirvecMax Kellermann1-6/+0
2011-10-10audio: rename audio.[ch] to audio_config.[ch]Max Kellermann1-1/+1
2011-10-08pcm_resample: one-time global initializationMax Kellermann1-0/+8
Load the samplerate_converter on MPD startup. Fail if the converter name is invalid.
2011-09-10db_plugin: introducing a plugin API for the song databaseMax Kellermann1-22/+9
First draft, not really pluggable currently - hard-coded to use the "simple" plugin, and calls several of its internal functions. The API is very simple currently, all searches are still performed over the root "directory" object. Future changes to the API will move those search implementations into the plugin, to allow more efficient implementations, or implementations that don't have the whole tree in memory all the time.
2011-09-09database: return GError on failureMax Kellermann1-2/+3
2011-09-09conf: turn config_get_path() into config_dup_path()Max Kellermann1-23/+78
config_get_path() was somewhat flawed, because it pretended to be a function, when it really had a side effect. The second flaw was that it did not return the parser error, instead it aborted the whole process, which is bad style. The new function returns a duplicated (modified) string that must be freed by the caller, and returns a GError on failure.
2011-09-09log: return GError on initialization failureMax Kellermann1-1/+6
2011-08-24io_thread: new thread for non-blocking background I/OMax Kellermann1-0/+9
Try to eliminate the remaining blocking I/O.
2011-01-29client_idle: add header client_idle.hMax Kellermann1-0/+1
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-10player_control: removed the global variable "pc"Max Kellermann1-8/+11
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-25eliminate g_error() usageThomas Jansen1-12/+13
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007.
2010-09-23main: Add Windows Service supportDenis Krjuchkov1-1/+27
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.
2010-04-13inotify: added setting "auto_update_depth"Max Kellermann1-1/+2
Limits the depth of the watched directories. This is useful to keep resource usage down and speed up MPD startup.
2010-01-04replay_gain: moved code to replay_gain_config.cMax Kellermann1-1/+1