Commit Graph

953 Commits

Author SHA1 Message Date
Max Kellermann 17c6db6c33 replay_gain_*.h: rename to *.hxx 2013-10-02 12:22:12 +02:00
Max Kellermann ec883e1901 Stats: rename stats.h to Stats.hxx 2013-10-02 12:14:07 +02:00
Max Kellermann 060814daa8 Log: new logging library API
Prepare to migrate away from GLib.  Currently, we're still using GLib
as a backend.
2013-10-02 08:57:55 +02:00
Max Kellermann 36f712b949 tag/{riff,aiff}: convert to C++ 2013-09-28 14:14:13 +02:00
Max Kellermann a446775d80 playlist/lastfm: remove defunct Last.fm support
This plugin has been defunct ever since Last.fm changed their
protocol.  Since there is no volunteer willing to fix the plugin, I'm
removing it now.
2013-09-28 14:01:51 +02:00
Max Kellermann 0b3e1c4706 TagBuilder: new class for constructing Tag objects
Obsoletes Tag::BeginAdd() and the complicated "bulk add" code.
2013-09-05 18:41:49 +02:00
Max Kellermann 5d5f21bfc5 Tag: compile-time initialisation of ignore_tag_items
Move to TagSettings.c and use C99 initializers.
2013-09-05 18:34:12 +02:00
Max Kellermann fcccedc588 Tag: move struct TagItem to TagItem.hxx 2013-09-05 18:28:07 +02:00
Max Kellermann 0d73a49327 Tag: move fix_tag_value() to TagString.cxx 2013-09-05 18:27:40 +02:00
Max Kellermann 2b676dc5fc Tag: move configuration code to TagConfig.cxx
Allow using the Tag.cxx library without the Config library.
2013-09-05 18:27:08 +02:00
Max Kellermann 3f267b1795 Tag, ...: move to libtag.a 2013-09-05 18:26:56 +02:00
Max Kellermann 7a4c9f5f4c mpd_error.h: remove obsolete header
Migrate the remaining callers to FatalError().
2013-09-05 18:26:46 +02:00
Max Kellermann 8929f88e6d PlaylistPlugin: add interface SongEnumerator
Replaces struct playlist_provider.
2013-09-05 09:40:55 +02:00
Max Kellermann 26d92c80ed conf.h: remove obsolete header
Use only ConfigData.hxx in plugin sources to reduce header
dependencies.
2013-09-05 08:47:10 +02:00
Max Kellermann 9605e24655 conf.h: move constants to ConfigDefaults.hxx 2013-09-05 08:42:08 +02:00
Max Kellermann 7d0269d2ce InputLegacy: move functions to the input_stream class 2013-09-05 00:23:14 +02:00
Max Kellermann 681d6bbdc5 TagTable: un-inline the two functions
Reduce header dependencies.
2013-09-04 23:57:30 +02:00
Max Kellermann 867b82b6de Tag*: move TagTable.hxx to libtag.a 2013-09-04 23:54:37 +02:00
Max Kellermann 5101ef4b02 Tag*: move libtag.a sources to src/tag/ 2013-09-04 23:46:20 +02:00
Max Kellermann 29030b54c9 util/Error: new error passing library
Replaces GLib's GError.
2013-09-04 18:14:22 +02:00
Max Kellermann c9fcc7f148 system/resolver: convert to C++ 2013-09-04 18:02:09 +02:00
Max Kellermann 8d36367fe2 input_stream.h: rename to InputLegacy.hxx 2013-09-03 09:18:30 +02:00
Max Kellermann 3deca8fccd db_error: convert to C++ 2013-08-10 19:43:27 +02:00
Max Kellermann 7af24c4d3a playlist_error: convert to C++ 2013-08-10 19:40:45 +02:00
Max Kellermann 7f0ce4e94e ack.h: move to protocol/ 2013-08-10 19:32:41 +02:00
Max Kellermann cc511e7b60 event/IdleMonitor: new monitor class 2013-08-10 11:52:31 +02:00
Max Kellermann 25e338a098 ConfigData: use FatalError() instead of MPD_ERROR() 2013-08-10 11:52:31 +02:00
Max Kellermann d23c907a94 thread/Id: new class replacing GThread pointers
Remove a GLib dependencies from class EventLoop and DatabaseLock.
2013-08-10 09:00:04 +02:00
Max Kellermann 018f4155eb event: add function BlockingCall()
Replaces io_thread_call().  This approach is more generic and easier
to use due to std::function.
2013-08-08 23:04:07 +02:00
Max Kellermann c043b337b1 EventLoop: un-inline Run() and others
Prepare for adding more code.
2013-08-08 23:03:49 +02:00
Max Kellermann dff05c71e6 event/EPollFD: basic support for Linux epoll 2013-08-07 19:44:43 +02:00
Max Kellermann 355dd5cb24 event/DeferredMonitor: new class wrapping g_idle_add() 2013-08-07 18:59:42 +02:00
Max Kellermann 953e3190ca encoder/lame: use ReusableBuffer instead of AllocatedArray 2013-08-07 18:53:24 +02:00
Max Kellermann 44a0e21795 PcmBuffer: move code to new class ReusableBuffer
ReusableBuffer is more generic.
2013-08-07 18:51:21 +02:00
Max Kellermann fafaf567f9 Makefile: fix "distcheck" errors 2013-08-07 18:49:05 +02:00
Max Kellermann f2ce8c3b62 event/EventFD: move to libsystem 2013-08-07 11:52:26 +02:00
Max Kellermann 4223657ab8 event/SignalMonitor: use signalfd() if available 2013-08-07 11:03:47 +02:00
Max Kellermann 930128a7ea SignalHandlers: move code to new class SignalMonitor 2013-08-07 10:56:33 +02:00
Max Kellermann b70d38dc10 Makefile.am: move sources to libsystem.a 2013-08-07 10:31:31 +02:00
Max Kellermann a27d105dcd FatalError: new library to replace mpd_error.h 2013-08-07 10:08:36 +02:00
Max Kellermann 67e44b0f2c daemon: convert to C++ 2013-08-07 09:53:33 +02:00
Max Kellermann 47e16dbee3 configure.ac: add option --enable-eventfd
Remove the runtime check for eventfd(), hard-code the feature once
it's been selected at compile time.  The class WakeFD is splitted into
EventFD and EventPipe, using WakeFD as a macro diversion.
2013-08-06 23:32:21 +02:00
Max Kellermann 3f04a4d635 encoder/lame: dynamic output buffer 2013-08-06 09:13:28 +02:00
Max Kellermann d1e7b4e381 audio_format: convert to C++ 2013-08-03 21:37:56 +02:00
Max Kellermann 06f898cc12 tag: convert to C++ 2013-07-30 20:19:53 +02:00
Max Kellermann 6a9ab8bc0e tag: move enum tag_type to TagType.h 2013-07-30 20:10:24 +02:00
Max Kellermann 9a0061c511 encoder_api: convert to C++ 2013-07-30 09:04:05 +02:00
Max Kellermann 7a3aac1843 encoder/lame,twolame: convert to C++ 2013-07-30 08:52:47 +02:00
Max Kellermann da1f4b3ede encoder/wave: convert to C++ 2013-07-30 08:48:53 +02:00
Max Kellermann dac740ee17 encoder/null: convert to C++ 2013-07-30 08:43:19 +02:00
Max Kellermann 648196319f output_api: convert to C++ 2013-07-30 08:34:10 +02:00
Max Kellermann c75cb67c44 pcm_buffer: convert to C++ 2013-07-30 08:31:02 +02:00
Max Kellermann a9d2dc6144 pcm_resample: convert to C++ 2013-07-30 00:04:16 +02:00
Max Kellermann a1a97d663e encoder/flac: convert to C++ 2013-07-29 08:04:34 +02:00
Max Kellermann cac3c159bc pcm_dsd: convert to C++ 2013-07-29 07:56:40 +02:00
Max Kellermann 43166130b5 audio_check: convert to C++ 2013-07-29 07:50:08 +02:00
Max Kellermann 14f21378e3 tag_table: convert to C++ 2013-07-29 07:45:58 +02:00
Max Kellermann bd42aeab46 XiphTags: convert to C++ 2013-07-29 07:42:50 +02:00
Max Kellermann cde6a3a00c tag_handler: convert to C++ 2013-07-29 07:39:58 +02:00
Max Kellermann 96b763067e ape: convert to C++ 2013-07-29 07:39:36 +02:00
Max Kellermann dd5ba062cc tag_id3: convert to C++ 2013-07-28 20:25:45 +02:00
Max Kellermann ba161ec572 song: convert header to C++ 2013-07-28 13:25:12 +02:00
Max Kellermann 43f613d9be decoder_api: convert to C++ 2013-07-28 13:18:48 +02:00
Max Kellermann 2277d143fa decoder/fluidsynth: convert to C++ 2013-07-28 13:16:27 +02:00
Max Kellermann 6b6d9e64bd decoder/pcm: convert to C++ 2013-07-28 13:10:05 +02:00
Max Kellermann f016a99f24 decoder/mpcdec: convert to C++ 2013-07-28 13:04:12 +02:00
Max Kellermann 2eed9d64ce decoder/modplug: convert to C++ 2013-07-28 13:03:04 +02:00
Max Kellermann 1688b6dda9 decoder/mikmod: convert to C++ 2013-07-28 13:03:04 +02:00
Max Kellermann 33aedc887a decoder/wildmidi: convert to C++ 2013-07-28 13:03:04 +02:00
Max Kellermann 258d0ea97e decoder/mpg123: convert to C++ 2013-07-28 13:03:04 +02:00
Max Kellermann d3641766a5 decoder/sndfile: convert to C++ 2013-07-28 12:48:26 +02:00
Max Kellermann b25d5c5d33 decoder/audiofile: convert to C++ 2013-07-28 12:48:26 +02:00
Max Kellermann 352d7f477e decoder/{dsf,dsdiff}: convert to C++ 2013-07-28 12:20:50 +02:00
Max Kellermann 1fcf35ad3b tag_rva2: convert to C++ 2013-07-26 12:52:51 +02:00
Max Kellermann c8054e569a decoder/mad: convert to C++ 2013-07-26 11:59:17 +02:00
Denis Krjuchkov e9e55b0812 text_input_stream: convert to class 2013-05-12 20:02:27 +06:00
Denis Krjuchkov 49a3845135 timer: convert to class 2013-05-12 19:03:42 +06:00
Denis Krjuchkov 21dac6c05d decoder/FLAC*: rename files and symbols to Flac* 2013-05-06 23:36:47 +06:00
Max Kellermann b2d3d15e97 Main: move global variables to struct Instance
More preparations for multi-player support.
2013-04-17 23:52:58 +02:00
Max Kellermann abaabe92d6 decoder_buffer: convert to C++ 2013-04-17 22:45:10 +02:00
Max Kellermann 257b42b87f decoder/faad: convert to C++ 2013-04-17 22:33:59 +02:00
Max Kellermann 31bc94160a song_sort: convert to C++ 2013-04-17 22:25:57 +02:00
Max Kellermann 9e5d2c5bb7 encoder_list: convert to C++ 2013-04-17 22:22:37 +02:00
Max Kellermann 2df2a989af input/soup: plugin removed
This plugin is cumbersome to support, now that MPD is migrating away
from GLib and the GLib event loop.  It has no practical advantages
over the CURL plugin.  Soup requires the bloated GType library.
2013-04-17 21:46:16 +02:00
Max Kellermann 3a2254c91f output: convert to C++ 2013-04-17 01:12:05 +02:00
Max Kellermann 4aeec4bb60 output/solaris: convert to C++ 2013-04-17 01:08:35 +02:00
Max Kellermann 750b2ad6a8 output/openal: convert to C++ 2013-04-17 01:04:27 +02:00
Max Kellermann 86c276f538 output/ao: convert to C++ 2013-04-17 00:56:09 +02:00
Max Kellermann 166569200a output/shout: convert to C++ 2013-04-17 00:47:20 +02:00
Max Kellermann e903d00968 output/ffado: remove broken plugin
This plugin has been in MPD for three years, and it has never worked.
Enough!
2013-04-17 00:44:02 +02:00
Max Kellermann cc6c452854 output/mvp: remove obsolete plugin
The hardware is obsolete, and the product does not exist anymore on
the Hauppauge web site.  Let's see if anybody complains about the
removal.
2013-04-17 00:37:30 +02:00
Max Kellermann f492c78e2e output/jack: convert to C++ 2013-04-17 00:37:30 +02:00
Max Kellermann 6b83d08228 output/fifo: convert to C++ 2013-04-17 00:37:30 +02:00
Max Kellermann dc415b761e output/pipe: convert to C++ 2013-04-17 00:37:30 +02:00
Max Kellermann f1034eb657 output/recorder: convert to C++ 2013-04-17 00:37:30 +02:00
Max Kellermann cb8449a66d MixerInternal: convert to class 2013-04-16 21:33:25 +02:00
Max Kellermann e63420a8c2 output/Pulse: convert to C++ 2013-04-16 20:51:21 +02:00
Max Kellermann 1729388634 pcm_export: convert to C++ 2013-04-09 01:31:05 +02:00
Max Kellermann c654c7630a pcm_*: move to src/pcm/ 2013-04-09 01:24:52 +02:00
Max Kellermann 3f3b26fb0e utils: convert to C++ 2013-04-09 01:17:47 +02:00
Max Kellermann 0921180b90 string_util: convert to C++ 2013-04-09 01:08:20 +02:00
Max Kellermann 2090911363 cue_parser: convert to C++ 2013-04-09 00:38:03 +02:00
Max Kellermann 6728b8c1a3 decoder_plugin: convert to C++ 2013-04-09 00:20:49 +02:00
Max Kellermann 450c26c471 tokenizer: convert to C++ 2013-04-08 23:51:39 +02:00
Max Kellermann 7ec1121cc8 uri: convert to C++ 2013-04-08 23:45:31 +02:00
Max Kellermann 8e31366431 decoder/gme: convert to C++ 2013-04-08 23:32:53 +02:00
Max Kellermann 2c4b998170 Merge tag 'release-0.17.4' 2013-04-08 22:11:42 +02:00
Max Kellermann 1894aed261 Makefile.am: enable "dist-xz" 2013-04-08 21:35:45 +02:00
Max Kellermann 496f70fc0d mixer_plugin: convert to C++ 2013-02-22 20:51:23 +01:00
Max Kellermann 9ede4c5f3c {output,mixer}/winmm: convert to C++ 2013-02-22 20:29:03 +01:00
Max Kellermann 7bb5a960fd output/null: convert to C++ 2013-02-02 09:30:29 +01:00
Max Kellermann 3894450b10 filter: convert to C++ 2013-02-01 17:47:09 +01:00
Max Kellermann a7a10d03c9 test/test_pcm: add unit test for pcm_mix() 2013-02-01 15:52:03 +01:00
Max Kellermann e0c645a270 test/test_pcm: add unit tests for the PcmFormat library 2013-02-01 00:32:05 +01:00
Max Kellermann e42734c3f3 test/test_pcm: merge source buffer generator 2013-01-31 22:58:27 +01:00
Max Kellermann 1b175025fe pcm_*: convert to C++ 2013-01-31 21:11:06 +01:00
Max Kellermann 7764136211 mixer/software, filter/volume: convert to C++ 2013-01-31 21:11:06 +01:00
Max Kellermann 0307801d51 test/test_pcm: convert to C++ 2013-01-31 21:11:06 +01:00
Max Kellermann 361404fd59 pcm_convert: convert to C++ 2013-01-31 00:26:55 +01:00
Max Kellermann 762c91b7f1 util/Manual: new template class 2013-01-30 23:48:34 +01:00
Max Kellermann f2a8d4d289 filter/convert: convert to C++ 2013-01-30 23:28:13 +01:00
Max Kellermann aa8ab2fc89 test/test_vorbis_encoder: convert to C++ 2013-01-30 22:19:24 +01:00
Max Kellermann d664baff26 audio_{parser,config}: convert to C++ 2013-01-30 21:47:12 +01:00
Max Kellermann 3275d4c6fa conf.h: move the GQuark to ConfigQuark.hxx 2013-01-30 21:43:16 +01:00
Max Kellermann cfeeb7af2e test/run_encoder, ...: convert to C++ 2013-01-30 21:39:43 +01:00
Max Kellermann e294ccae24 ConfigFile: move code to ConfigGlobal.cxx 2013-01-30 21:39:43 +01:00
Max Kellermann 51cb6a0a44 conf: move struct definitions to ConfigData.hxx 2013-01-30 21:36:07 +01:00
Max Kellermann a1b1ec3d11 Makefile.am: move source files to libconf.a 2013-01-30 21:36:06 +01:00
Max Kellermann 595b6a4f6c ConfigFile: add enum ConfigOption
Look up top-level config options by enum (= integer), not by name
string.
2013-01-30 21:36:04 +01:00
Max Kellermann daa4647712 ConfigOption: rename to ConfigTemplate 2013-01-30 19:05:33 +01:00
Max Kellermann c67668d6dd Makefile.am: fix test/read_mixer rule 2013-01-30 19:05:04 +01:00
Max Kellermann f2a3a37dff filter_config: convert to C++ 2013-01-30 17:22:44 +01:00
Max Kellermann 01dd540d7e decoder_list: convert to C++ 2013-01-30 17:18:48 +01:00
Max Kellermann 5e8f51a963 output/httpd: use the BufferedSocket class for HttpdClient 2013-01-30 15:08:09 +01:00
Max Kellermann 39d56d6b65 ServerSocket: move to libevent.a 2013-01-30 13:39:12 +01:00
Max Kellermann a291415326 event/BufferedSocket: move output buffer to FullyBufferedSocket
BufferedSocket has just an input buffer, and FullyBufferedSocket adds
the output buffer.
2013-01-30 11:03:44 +01:00
Max Kellermann fe3f0332f7 page: convert to C++ 2013-01-30 09:18:52 +01:00
Max Kellermann 718fd97612 icy_server: convert to C++ 2013-01-30 09:17:03 +01:00
Max Kellermann f5c0b0d316 ArchiveFile: convert to a class 2013-01-29 23:26:51 +01:00
Max Kellermann ba51045d9e refcount: convert to C++ 2013-01-29 23:20:19 +01:00
Max Kellermann fa34dd7bd3 test/visit_archive: new debug program 2013-01-29 22:54:56 +01:00
Max Kellermann 9f0fb8f6a8 ArchivePlugin: replace scan_reset(), scan_next() with visit()
Add the interface ArchiveVisitor.
2013-01-29 21:21:07 +01:00
Max Kellermann 8cad20585d playlist/memory: use std::forward_list instead of GSList 2013-01-29 20:32:54 +01:00
Max Kellermann a8b75dc4df playlist/{asx,rss,soundcloud,xspf}: merge code to MemoryPlaylistProvider 2013-01-29 18:56:35 +01:00
Max Kellermann feb8d5b82f ConfigFile, CommandLine: use the Path class 2013-01-29 18:09:39 +01:00
Max Kellermann eb8922f346 test/{read_conf,run_filter}: convert to C++ 2013-01-29 17:23:58 +01:00
Max Kellermann 84eb95466b output/osx: convert to C++ 2013-01-29 16:59:21 +01:00
Max Kellermann 26a9ce7b29 output/{alsa,oss}: convert to C++ 2013-01-29 14:32:32 +01:00
Max Kellermann 88c17926e4 decoder/mp4ff: delete obsolete plugin
The underlying library has been obsolete for many years.
2013-01-28 21:32:14 +01:00
Max Kellermann 95c3f57b30 zeroconf: convert to C++ 2013-01-27 22:38:14 +01:00
Max Kellermann 6bf6c9215b Makefile.cxx: fix test/run_input.cxx path 2013-01-27 22:17:47 +01:00
Max Kellermann 257a0dee75 playlist/*: convert to C++ 2013-01-27 17:38:09 +01:00
Max Kellermann 0273cd44b0 input_stream: forward-declare the struct
Hide the definition from C code, to prepare the transition to C++.
2013-01-26 01:24:01 +01:00
Max Kellermann 3203a7dd8c tag_file: convert to C++ 2013-01-26 01:23:02 +01:00
Max Kellermann 86b0adc82c playlist/*: convert to C++ 2013-01-26 01:17:43 +01:00
Max Kellermann ba49f20f68 decoder/ffmpeg: convert to C++ 2013-01-26 01:17:43 +01:00
Max Kellermann 49567f1f3e input_{internal,plugin}: convert to C++ 2013-01-25 22:43:01 +01:00
Max Kellermann 94fffb332b archive/*: convert to C++ 2013-01-24 19:18:58 +01:00
Denis Krjuchkov 06fb7c671b Makefile.am: introduce libfs 2013-01-22 01:31:29 +06:00
Denis Krjuchkov ef93cdf4a8 Path: move to fs subdirectory 2013-01-22 01:24:53 +06:00
Denis Krjuchkov 4ad90e2d52 FileSystem: extract DirectoryReader, improve the rest
- DirectoryReader is extracted to separate header
- FileSystem.cxx/FileSystem.hxx/DirectoryReader.hxx moved to fs/ subdir
- Functions return true on success, instead of 0 (where applicable)
- ReadLink return result instead of out parameter
- UnlinkFile is renamed to RemoveFile
- CheckExists/CheckIsRegular/CheckIsDirectory are renamed
  to PathExists/FileExists/DirectoryExists
2013-01-22 01:05:30 +06:00
Max Kellermann 9ec069104f input,playlist/despotify: convert to C++ 2013-01-21 19:01:10 +01:00
Max Kellermann 9cc90b1fbe input/cdio_paranoia: convert to C++ 2013-01-21 17:58:30 +01:00
Max Kellermann 0c9f22507f input/ffmpeg: convert to C++ 2013-01-21 17:50:43 +01:00
Max Kellermann 9c870e4276 input/rewind: convert to C++ 2013-01-21 17:36:19 +01:00
Max Kellermann 5cffe693b0 input/file,mms: convert to C++ 2013-01-21 10:52:40 +01:00
Denis Krjuchkov e6ed592b8a FileSystem: new library for Path-friendly file system routines 2013-01-20 19:08:36 +06:00
Denis Krjuchkov 6f4560184c dummy.cxx: remove unused file
This file was used previously to force C++ linkage.
It's no longer required because most of the code is C++ anyway.
2013-01-19 12:45:50 +06:00
Max Kellermann 21fe376d1d path: convert to C++ 2013-01-17 00:43:27 +01:00
Max Kellermann e22ef6c481 output/roar: convert to C++ 2013-01-16 23:29:56 +01:00
Max Kellermann 601495fa0f ClientList: convert to a class 2013-01-16 23:00:13 +01:00
Max Kellermann 74500eacca Merge branch 'v0.17.x' 2013-01-16 20:05:26 +01:00
Max Kellermann e90d606f0a socket_util: convert to C++ 2013-01-15 22:41:56 +01:00
Max Kellermann bc66dc45e6 server_socket: convert to C++ 2013-01-15 21:42:55 +01:00
Max Kellermann 7087935656 output/httpd: convert to C++ 2013-01-15 20:20:51 +01:00
Max Kellermann 7071126770 InotifySource: use the SocketMonitor class 2013-01-15 18:18:34 +01:00
Max Kellermann 2101daef5a mixer/Alsa: use MultiSocketMonitor 2013-01-15 18:18:00 +01:00
Max Kellermann 083065f433 input/Curl: move code to class MultiSocketMonitor 2013-01-15 18:16:55 +01:00
Max Kellermann 396480cf94 event/SocketMonitor: wrapper class for GSource + GPollFD 2013-01-15 11:00:48 +01:00
Max Kellermann 3e03527930 Client: move output buffer code to new class PeakBuffer 2013-01-15 10:59:28 +01:00
Max Kellermann f9fc3a42cc fifo_buffer: move to util/ 2013-01-15 01:02:13 +01:00
Max Kellermann f47f86ef02 socket_error: new library for errno / WSAGetLastError() 2013-01-15 00:53:12 +01:00
Max Kellermann d3a479b7fa event/TimeoutMonitor: wrapper for g_timeout_source_new() 2013-01-14 11:12:28 +01:00
Max Kellermann e83f805b8f Main, IOThread: move GMainLoop setup code to class EventLoop 2013-01-14 09:15:49 +01:00
Max Kellermann 0226440a2d thread/{Mutex,Cond}: new backend for WIN32
Use CRITICAL_SECTION and CONDITION_VARIABLE.  This requires Windows
Vista or newer.  It fixes problems with GLib threading objects that
were implicitly created by static constructors before g_thread_init().
2013-01-11 11:11:07 +01:00
Max Kellermann 85074f5ac6 icy_metadata: convert to C++ 2013-01-10 22:33:16 +01:00
Max Kellermann 3dd38e7b7f decoder/wavpack: convert to C++ 2013-01-10 18:18:14 +01:00
Max Kellermann 911411e630 conf: convert to C++ 2013-01-10 18:18:02 +01:00
Max Kellermann b8cda53bd3 notify: convert to C++ 2013-01-10 10:44:04 +01:00
Max Kellermann e0a97a030f io_thread: convert to C++ 2013-01-10 10:33:20 +01:00
Max Kellermann 33ba288622 input/{curl,soup}: convert to C++ 2013-01-10 10:23:20 +01:00
Max Kellermann d5516dee00 input_stream: convert to C++ (internally) 2013-01-10 10:15:09 +01:00
Max Kellermann 0b93445380 thread/Cond: new wrapper for pthread_cond_t or GCond 2013-01-10 10:03:19 +01:00
Max Kellermann 483ba5ea1c thread/GLibMutex: new Mutex implementation
Switch WIN32 to this implementation to be able to use condition
variables, which is impossible with CriticalSection.
2013-01-10 10:03:18 +01:00
Max Kellermann a93caf3cfe GlobalEvents: move code to class WakeFD 2013-01-09 23:47:38 +01:00
Max Kellermann 26ebfc04b0 EventPipe: rename to GlobalEvents 2013-01-09 23:31:43 +01:00
Max Kellermann 5faf443038 event_pipe.h: convert to C++ 2013-01-09 22:37:47 +01:00
Max Kellermann 8eacd13ce7 sig_handlers, log: convert to C++ 2013-01-09 22:33:06 +01:00
Max Kellermann d3e1b72d38 mixer/{alsa,pulse}: convert to C++ 2013-01-09 22:25:24 +01:00
Max Kellermann b5e1bd5705 Playlist.hxx: move prototype to PlaylistGlobal.hxx 2013-01-09 22:23:37 +01:00
Max Kellermann 3e5f09be0b event_pipe: convert to C++ 2013-01-09 13:02:13 +01:00
Max Kellermann e86e77ad67 idle: convert to C++ 2013-01-09 13:01:38 +01:00
Max Kellermann 3c4bb9ff4e test/FakeReplayGainConfig: move fake symbols from a few debug programs 2013-01-09 12:26:07 +01:00
Max Kellermann 377a2b9e07 ClientList: add header ClientList.hxx 2013-01-09 08:08:36 +01:00
Max Kellermann 6c57047362 Queue: move code to new class IdTable 2013-01-08 16:11:25 +01:00
Max Kellermann 620ae7790b test: rename debug programs back to old names 2013-01-08 15:33:58 +01:00
Denis Krjuchkov 23b2b7144b Makefile.am: distribute mpc.ico 2013-01-08 17:46:04 +06:00
Max Kellermann 8f7adf79a3 decoder/Opus: read total time 2013-01-08 01:38:02 +01:00
Max Kellermann 960b9a9664 input_stream: add method _cheap_seeking()
Move code from the Vorbis decoder plugin.
2013-01-07 23:25:08 +01:00
Max Kellermann acb45caa42 decoder/ogg_codec: convert to C++ 2013-01-07 22:14:52 +01:00
Max Kellermann 39060b528a decoder/vorbis: convert to C++ 2013-01-07 22:04:58 +01:00
Max Kellermann c6281b2680 Queue: use C++ random instead of GLib's GRand 2013-01-07 22:00:57 +01:00
Max Kellermann 5b8b7d1412 util/LazyRandomEngine: lazy wrapper for std::mt19937 2013-01-07 21:27:51 +01:00
Max Kellermann 52638c68f5 Playlist: convert functions to methods 2013-01-07 11:35:35 +01:00
Max Kellermann 47911f9544 tag: convert to C++ 2013-01-07 10:36:27 +01:00
Max Kellermann a68302e50b thread/Mutex: don't use std::mutex
Use a custom pthread_mutex_t wrapper because std::mutex adds overhead.
2013-01-07 10:33:37 +01:00
Max Kellermann 989c9a7317 filter/replay_gain: convert to C++ 2013-01-07 10:17:16 +01:00
Max Kellermann c3c776bc6a mixer_all: convert to C++ 2013-01-07 09:05:06 +01:00
Max Kellermann 9f4b906e6c volume: convert to C++ 2013-01-07 09:05:01 +01:00
Max Kellermann d536944beb Partition: new class, container for Playlist and PlayerControl
This is the beginning of multi-player support.  There will be support
for multiple Partition objects in one MPD process.
2013-01-05 02:43:00 +01:00
Max Kellermann 73f6fc428a test: revert debug program renames 2013-01-05 02:39:32 +01:00
Max Kellermann 44d260f911 replay_gain_*: convert to C++ 2013-01-04 23:50:58 +01:00
Max Kellermann 81f3d893d9 player_control.h: convert header to C++ 2013-01-04 22:31:53 +01:00
Max Kellermann 05c91082e3 playlist: convert to C++ 2013-01-04 22:12:33 +01:00
Max Kellermann efbfe66f21 Mutex: new wrapper for std::mutex, replaces GMutex 2013-01-04 21:24:29 +01:00
Max Kellermann 692b2cfb79 HugeAllocator: new memory allocator 2013-01-04 20:38:06 +01:00
Max Kellermann e3a2bd3a1e MusicBuffer: move code to template class SliceBuffer 2013-01-04 17:12:21 +01:00
Max Kellermann 9a71845700 crossfade: convert to C++ 2013-01-04 10:31:59 +01:00
Max Kellermann 22f0a1547c buffer, pipe: convert to C++ 2013-01-04 10:16:16 +01:00
Max Kellermann de0ab43bc1 output_*: convert to C++ 2013-01-04 09:46:41 +01:00
Max Kellermann e12cc01aa4 decoder_*: convert to C++ 2013-01-04 09:41:45 +01:00
Max Kellermann fb337418a5 Client: move code to class CommandListBuilder 2013-01-04 00:50:13 +01:00
Max Kellermann 1e0ea57dc4 cmdline: convert to C++ 2013-01-03 17:31:38 +01:00
Max Kellermann 70b87f2eb6 client: convert to C++ 2013-01-03 11:16:18 +01:00
Max Kellermann 94b2ee627c decoder_print: convert to C++ 2013-01-03 11:14:36 +01:00
Max Kellermann e30a2dd2d7 listen: convert to C++ 2013-01-03 11:05:44 +01:00
Max Kellermann 7e07daf8cb ls: convert to C++ 2013-01-03 11:01:02 +01:00
Max Kellermann 981906ecd1 output_print: convert to C++ 2013-01-03 10:58:39 +01:00
Max Kellermann 2452447c81 text_file: convert to C++ 2013-01-03 10:12:41 +01:00
Max Kellermann 47fc08bffe exclude: convert to C++ 2013-01-03 10:02:33 +01:00
Max Kellermann ddf112378b permission: convert to C++ 2013-01-03 03:09:50 +01:00
Max Kellermann b25cce464a client_new: convert to C++ 2013-01-03 03:07:16 +01:00
Max Kellermann 9e99e5bef9 strset: delete obsolete library 2013-01-03 02:31:47 +01:00
Max Kellermann 9023ba4a81 PlaylistVector: use std::list 2013-01-03 02:25:06 +01:00
Max Kellermann 440ac51cf0 database.h: rename to DatabaseSimple.hxx 2013-01-03 01:06:11 +01:00
Max Kellermann d3293b889d database.h: move prototypes to DatabaseGlue.hxx 2013-01-03 01:04:18 +01:00
Max Kellermann fa3d1156a6 playlist_edit: convert to C++ 2013-01-03 00:35:05 +01:00
Max Kellermann 0c245bc271 Directory: make the header C++ only 2013-01-02 22:52:08 +01:00
Max Kellermann d65ad1bf15 mapper: convert to C++ 2013-01-02 22:43:56 +01:00
Max Kellermann 43cbbe111b song_update: convert to C++ 2013-01-02 22:42:12 +01:00
Max Kellermann 9ceb8a717a sticker: convert to C++ 2013-01-02 22:25:17 +01:00
Max Kellermann 8331de424a PlaylistInfo: rename class, use std::string 2013-01-02 22:16:05 +01:00
Max Kellermann 98dbdf72b3 PlaylistVector: move struct playlist_metadata to PlaylistInfo.hxx 2013-01-02 22:01:04 +01:00
Max Kellermann 51a2d09eb7 db_lock: convert to C++ 2013-01-02 20:56:21 +01:00
Max Kellermann 975deca85b {decoder,player}_thread: convert to C++ 2013-01-02 20:36:28 +01:00
Max Kellermann 3bbb502387 *_print: convert to C++ 2013-01-02 20:29:24 +01:00
Max Kellermann 0023dffd0b playlist_vector: convert to C++ 2013-01-02 20:25:20 +01:00
Max Kellermann b715e522cf db_save, state_file: convert to C++ 2013-01-02 20:22:59 +01:00
Max Kellermann a654f146d1 update: convert to C++ 2013-01-02 19:22:15 +01:00
Max Kellermann 67b46a151d playlist_{any,song,queue}: convert to C++ 2013-01-02 19:19:58 +01:00
Max Kellermann b8fdb452be decoder/flac: support FLAC files inside archives
Implement the "scan_stream" method that can read tags from any
input_stream object.  This requires a FLAC__IOCallbacks implementation
based on the input_stream API.
2012-10-04 10:37:09 +02:00
Max Kellermann efbf184fe8 PlaylistFile, client_file, tag_id3: don't use g_file_error_quark()
g_file_error_quark() is meant to be used with the GFileError enum
which does not correspond with errno, but must be converted with
g_file_error_from_errno().

At the same time, this removes g_strerror() use for
g_file_error_quark().
2012-10-04 10:31:53 +02:00
Max Kellermann ebd90dbb1a decoder/flac: move callbacks to class FLACInput 2012-10-02 19:59:49 +02:00
Max Kellermann cbdd042adc decoder/flac: use C++ compiler 2012-10-02 10:59:56 +02:00
Max Kellermann a9419da09c Makefile.am: eliminate FLAC_COMMON 2012-10-02 10:58:53 +02:00
Max Kellermann ccd7104cdc {decoder,encoder}/flac: drop support for libFLAC 1.1 2012-10-02 10:04:44 +02:00
Max Kellermann 038d216f18 encoder/{vorbis,opus}: merge code to new class OggStream 2012-10-02 09:06:03 +02:00
Max Kellermann d793b7c03f encoder/opus: new encoder plugin for the Opus codec 2012-10-02 00:45:24 +02:00
Max Kellermann eafa432cc6 encoder/vorbis: use C++ compiler 2012-10-02 00:37:19 +02:00
Max Kellermann d0c3fa0150 main: use C++ compiler 2012-09-28 00:40:00 +02:00
Max Kellermann 7298b6c846 stored_playlist, playlist_save: use C++ compiler 2012-09-28 00:08:15 +02:00
Max Kellermann 33364edfb3 decoder/adplug: new decoder plugin 2012-09-25 22:03:44 +02:00
Max Kellermann a5d8b27671 command.h: move function prototypes to AllCommands.h 2012-09-25 12:20:36 +02:00
Max Kellermann 98dbc95913 rename CommandError.h to CommandError.hxx 2012-09-25 12:20:15 +02:00
Max Kellermann f38dfd9231 command: rename to AllCommands.cxx 2012-09-25 11:56:37 +02:00
Max Kellermann 510c4a3ef1 command: move remaining handlers to OtherCommands.cxx 2012-09-25 11:44:49 +02:00
Max Kellermann 1536b5a9d6 src/decoder/opus: new decoder plugin for the Opus codec
Using libopus and libogg.
2012-09-05 23:01:17 +02:00
Max Kellermann bab756a5d0 decoder/{flac,vorbis}: move tag table to XiphTags.c
Merge duplicate data.
2012-09-05 22:56:57 +02:00
Max Kellermann 8c763fe458 Makefile.am: rename HAVE_OGG_COMMON to HAVE_XIPH 2012-09-05 22:56:17 +02:00
Max Kellermann ebf481e1a1 decoder/ogg_common: rename to ogg_codec.c 2012-09-04 13:05:12 +02:00
Max Kellermann 015e1ab183 decoder/_ogg_common: rename to ogg_common.c 2012-09-04 11:28:36 +02:00
Max Kellermann 333d226ed0 SongFilter: convert to a C++ class 2012-08-29 20:19:02 +02:00
Max Kellermann 04a9dec952 playlist_print: rename to PlaylistPrint.cxx 2012-08-29 20:17:13 +02:00
Max Kellermann 6ee76b7154 DatabaseSelection: add method Match() 2012-08-29 20:03:37 +02:00
Max Kellermann 36b1c08ad7 locate: rename to SongFilter.cxx 2012-08-29 19:12:26 +02:00
Max Kellermann 7b35d5e9d4 queue_print: rename to QueuePrint.cxx 2012-08-29 19:07:30 +02:00
Max Kellermann 6d4ca071a5 dbUtils.h: eliminate this header 2012-08-29 18:55:49 +02:00
Max Kellermann 684a3d30a6 command: move code to *Commands.cxx 2012-08-29 17:42:06 +02:00
Max Kellermann c852970cf6 Makefile.am: distribute DatabaseCommands.hxx 2012-08-29 17:41:22 +02:00
Max Kellermann 488c1eb87b test/test_queue_priority: fix SIGABRT 2012-08-25 10:24:34 +02:00
Max Kellermann 695ffedef9 Makefile.am: swap libdb_plugins.a and -lmpdclient order
With some linkers, it is important to specify the static library
first, and then libmpdclient.  Fixes linker failures.
2012-08-22 13:54:31 +02:00
Max Kellermann 2bd344549b queue: duplicate all song objects
Make sure the queue "owns" all song objects, so nobody else can free
them.
2012-08-15 23:10:00 +02:00
Max Kellermann a6ac0f8965 DatabasePlugin: add method VisitUniqueTags()
Optimize the ProxyDatabase by invoking "list" on the peer, instead of
visiting all songs.
2012-08-15 23:02:27 +02:00
Max Kellermann affe21f7c1 db_visitor: delete obsolete header 2012-08-15 22:57:20 +02:00
Max Kellermann efccb6ac82 Merge branch 'v0.17.x' 2012-08-15 01:04:34 +02:00
Max Kellermann e291f3d257 decoder/fluidsynth: remove throttle (requires libfluidsynth 1.1)
The libfluidsynth API is now sane, and does not require real-time
decoding.
2012-08-15 00:29:38 +02:00
Max Kellermann 7d27d2ea5e Merge branch 'v0.17.x' 2012-08-14 23:58:54 +02:00
Max Kellermann a869dfea85 timer: use monotonic clock if available 2012-08-14 19:07:31 +02:00
Max Kellermann f794b1e1aa output_all: add basic GError support 2012-08-08 22:48:59 +02:00
Max Kellermann 8c425c758c decoder_control: add GError attribute 2012-08-08 22:38:16 +02:00
Max Kellermann 050ba302cb song: use C++ compiler 2012-08-08 21:08:37 +02:00
Max Kellermann 21792386d8 time_print: new library, function time_print()
Implements error checking for the gmtime_r() call, which was missing
in two code locations.
2012-08-08 09:27:12 +02:00
Max Kellermann 63a2ac21e1 ProxyDatabasePlugin: new database plugin using libmpdclient
Implementation incomplete, but sort-of-works.  DumpDatabase works, but
MPD is still hard-coded on the "simple" plugin.
2012-08-08 01:20:45 +02:00
Max Kellermann 733d6a6b16 DatabaseSelection: add "match" attribute
Let the database plugin do the match.
2012-08-08 00:55:02 +02:00
Max Kellermann ff58207034 db_selection: rename to DatabaseSelection 2012-08-07 23:12:26 +02:00
Max Kellermann b3d76b7e5c db_print.h: rename to DatabasePrint.hxx 2012-08-07 23:10:34 +02:00
Max Kellermann 4d6c816abb dbUtils.h: move to DatabaseQueue.hxx, DatabasePlaylist.hxx 2012-08-07 22:57:18 +02:00
Max Kellermann f35ceaee0a command: move code to DatabaseCommands.cxx
Prepare to use the DatabasePlugin C++ API directly.
2012-08-07 22:36:18 +02:00
Max Kellermann a64a2a65a9 command: move print_error() to CommandError.cxx
Prepare for splitting command.c.
2012-08-07 22:26:14 +02:00
Max Kellermann c6a0f5d3f9 test/DumpDatabase: new debug program 2012-08-07 20:21:10 +02:00
Max Kellermann bb75e3ea55 DatabaseRegistry: list of plugins 2012-08-07 20:07:17 +02:00
Max Kellermann e08d4f28aa Makefile.am: add libdb_plugins.a 2012-08-02 19:25:18 +02:00
Max Kellermann 0a3ada4fea stats: convert to C++ 2012-08-02 19:14:53 +02:00
Max Kellermann 8bdf7917c4 db_print: convert to C++ 2012-08-02 19:14:40 +02:00
Max Kellermann 67d16a086e dbUtils: split to Database{Queue,Playlist}.cxx 2012-08-02 19:14:09 +02:00
Max Kellermann edf811fa02 DatabaseVisitor, ...: use GError forward declaration 2012-08-02 19:12:06 +02:00
Max Kellermann 9dc9459f3a db_plugin: convert to C++ 2012-08-01 09:59:12 +02:00
Max Kellermann 2571accfc3 configure.ac: require C++11 compiler
We'll add some C++11 code soon.
2012-08-01 09:59:12 +02:00
Max Kellermann 60ac702038 tcp_socket, ...: remove obsolet RAOP sources 2012-07-30 06:57:49 +02:00
Max Kellermann 4ebd69193e Makefile.am: updated web server for "upload" target 2012-07-13 10:19:38 +02:00
Max Kellermann 6dd70926fa test/test_pcm: add pcm_volume tests 2012-07-10 01:30:02 +02:00
Max Kellermann 5dfc0918c3 require GLib 2.16
GLib 2.16 was released more than 4 years ago.  Let's remove some cruft
from the glib_compat.h header, and avoid new cruft to it.
2012-07-10 01:28:52 +02:00
Max Kellermann baa77c8ae3 Makefile.am: distribute src/output/*.h 2012-06-27 10:11:21 +02:00
Jurgen Kramer 7235dbadfd patch to split DSD decoder into separate decoders for DSF en DFF. Move common
functions to new dsdlib. Update user doc.
2012-06-27 09:54:24 +02:00
Max Kellermann ede70ee3a4 update_walk: move code to update_song.c 2012-06-13 22:14:16 +02:00
Max Kellermann 66ed427a57 update_walk: move code to update_container.c 2012-06-13 22:11:43 +02:00
Max Kellermann c9e63e9fdb update_walk: move code to update_archive.c 2012-06-13 21:52:46 +02:00
Max Kellermann ddf7f5c131 update_internal.h: split header 2012-06-13 21:38:28 +02:00
Max Kellermann 457d98c860 output/raop: delete the RAOP plugin
This plugin is horrible code, I mean it.  Last year, I tried hard to
fix it, but I figured would take less time to do a full rewrite.
Given that I don't even have any device that supports RAOP, I can't do
that properly.  After 16 months, nobody volunteered for fixing it.
Hereby, I delete it, because having no RAOP plugin is better than
having this mess.  Sorry.
2012-05-29 23:15:41 +02:00
Max Kellermann 6b52d040b1 test/read_rva2: new debug program for the RVA2 library 2012-04-23 23:00:41 +02:00
Max Kellermann c22cbbf828 Merge branch 'v0.16.x'
Conflicts:
	src/output/osx_plugin.c
	src/text_input_stream.c
2012-04-05 00:45:39 +02:00
Max Kellermann 47c58c01d1 test/test_vorbis_encoder: program to debug the vorbis encoder 2012-04-04 23:58:00 +02:00
Max Kellermann 81208d78ac pcm_dsd: implement DSD to 24 bit USB conversion
Implements the dCS suggested standard:

 http://www.dcsltd.co.uk/page/assets/DSDoverUSB.pdf
2012-03-22 01:14:51 +01:00
Max Kellermann 9ec9a8705e pcm_export: use the byte_reverse library directly
Delete the now-unused pcm_byteswap library, and optimize the
pcm_export_state object.
2012-03-21 21:18:11 +01:00
Max Kellermann 170635e3a6 output/{alsa,oss}: move endian code to new library pcm_export 2012-03-21 21:16:50 +01:00
Max Kellermann 3dba09f339 output/alsa: always receive host byte order samples
Don't use audio_format.reverse_endian.
2012-03-21 19:14:05 +01:00
Max Kellermann 62218fe59d test: add unit test for util/byte_reverse.c 2012-03-21 19:08:32 +01:00
Max Kellermann 95d9bb6dfc pcm_byteswap: move code to libutil 2012-03-21 18:58:19 +01:00
Max Kellermann 33986075ef Makefile.am: link src/util/*.c into libutil.a 2012-03-21 18:58:19 +01:00
Max Kellermann 238c3adad1 decoder/dsdiff: reverse bits to most significant bit first
Allow to remove this complexity from the MPD core.
2012-03-21 09:01:56 +01:00
Max Kellermann c1d0a8b5ce dsd2pcm: move the bit reversing code to a generic library
Instead of doing run-time initialisation, use a constant lookup table.
2012-03-21 08:44:43 +01:00
Robert Vollmert 281b8714ef playlist/soundcloud: support libyajl2
[mk: backwars compatibility and autoconf check]
2012-03-19 21:16:48 +01:00
Max Kellermann 8dcefaf2e3 test/dump_text_file: debug program for text_input_stream.c 2012-03-19 20:37:25 +01:00
Max Kellermann 1e60a4386a playlist_edit: move UID check to client_allow_file() 2012-03-06 22:10:54 +01:00
Max Kellermann d07a6edd2f configure.ac: detect libyajl for playlist/soundcloud 2012-03-01 20:18:16 +01:00
Robert Vollmert 7cef52478d A soundcloud playlist plugin.
Requires YAJL to build, and this doesn't include the necessary
automake changes. Can be built using
./configure CFLAGS="-I/usr/include/yajl" LIBS="-lyajl" --enable-soundcloud

Add the following to your config:

playlist_plugin {
        name "soundcloud"
        enabled "true"
        apikey "c4c979fd6f241b5b30431d722af212e8"
}

Then you can stream from soundcloud using calls like:

mpc load soundcloud://track/<track-id>
mpc load soundcloud://playlist/<playlist-id>
mpc load soundcloud://url/http://soundcloud.com/some/track/or/playlist

For the last case, you can leave off the http:// or
http://soundcloud.com/ .
2012-03-01 20:11:09 +01:00
Max Kellermann 9c36e71081 decoder/dsdiff: don't convert to PCM
Move the responsibility for the conversion to the PCM library.  This
will allow passing the verbatim DSD samples to an output plugin.
2012-03-01 02:05:40 +01:00
Max Kellermann c9c57af5f7 pcm_convert: support the DSD format 2012-03-01 02:00:12 +01:00
Avuton Olrich 0742976138 win32: Add a Windows OS resource file and icon 2012-02-23 06:32:30 -08:00
Max Kellermann ae28ba84d2 command: move code to protocol/argparser.c 2012-02-14 19:13:04 +01:00