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
Max Kellermann
b8ed420058
command: move functions to protocol/result.c
2012-02-14 18:57:29 +01:00
Max Kellermann
7338b16c18
listen: implement systemd socket activation
2012-02-13 21:32:42 +01:00
Max Kellermann
d7d9dbd2c2
playlist/flac: delete this obsolete plugin
...
The FLAC playlist plugin has been superseded by the "embcue" playlist
plugin, which can read the embedded CUE sheets of all formats.
2012-02-12 19:57:27 +01:00
Max Kellermann
4fdcc0496f
update_walk: move code to update_db.c
2012-02-12 17:41:34 +01:00
Max Kellermann
0c4a2bea69
update_walk: move code to update_io.c
2012-02-12 17:00:00 +01:00
Max Kellermann
1735284a2a
playlist/embcue: new plugin for reading embedded cue sheets
...
Parses CUE data from the "CUESHEET" tag. Needs further integration in
the update thread.
2012-02-12 16:10:20 +01:00
Max Kellermann
5d73215a8d
decoder_plugin: scan tags with callback table
...
Pass a callback table to scan_file() and scan_stream(), instead of
returning a tag object.
2012-02-11 17:04:29 +01:00
Max Kellermann
43b7b98949
decoder/ffmpeg: move code to ffmpeg_metadata.c
2012-02-11 16:37:29 +01:00
Max Kellermann
c8a990b9d3
decoder/vorbis: move code to vorbis_comment.c
2012-02-11 10:04:02 +01:00
Max Kellermann
abcc225763
cue_parser: new line based CUE sheet parser
...
To replace libcue, the unmaintained and crashy library.
2012-02-10 00:12:29 +01:00
Max Kellermann
84ba14fa29
directory: replace songvec with doubly linked list
2012-01-24 22:26:43 +01:00
Max Kellermann
d99f074eb7
directory: replace dirvec with doubly linked list
...
Random access is not needed, and a linked list is easier to manage: we
don't need to (re-)allocate the pointer array.
2012-01-24 20:49:53 +01:00
Max Kellermann
a989140a07
util/list.h: import the Linux kernel's linked list library
2012-01-24 20:49:52 +01:00
Max Kellermann
a467128093
db_lock: new unified lock for songvec and dirvec
2012-01-21 10:51:53 +01:00
Max Kellermann
4f093d5b97
Merge branch 'v0.16.x'
...
Conflicts:
Makefile.am
NEWS
configure.ac
src/encoder/flac_encoder.c
src/log.c
src/pcm_buffer.c
2011-11-28 11:56:01 +01:00
Max Kellermann
cee5036aca
encoder/flac: use fifo_buffer instead of pcm_buffer
...
This fixes a buffer corruption bug; pcm_buffer is not designed to be a
persistent buffers, and will discard anything between two consecutive
calls.
2011-11-28 09:21:32 +01:00
Max Kellermann
790823abb4
growing_fifo: new utility library for growing fifo_buffer
2011-11-28 09:11:11 +01:00
Max Kellermann
f5f1bfbef1
pcm_buffer: un-inline pcm_buffer_get()
...
This method is too complex for inlining.
2011-11-27 20:17:12 +01:00
Avuton Olrich
ef369c2e2b
Makefile.am: Add PULSE_LIBS for linking the mixer when compiling with pulse
...
Commit 3a3158 introduced a small bug where the pulseaudio mixer would not link
with the main binary in some situations.
2011-11-14 05:09:18 -08:00
Max Kellermann
f1da118a6c
test: add GLib testing compatibility header
...
Didn't compile on GLib < 2.16.
2011-10-19 21:14:14 +02:00
Max Kellermann
572d8d0cc4
test: add unit test for the PCM library
2011-10-10 10:24:05 +02:00
Max Kellermann
c9a57d354d
pcm_buffer: un-inline pcm_buffer_get()
...
This function is too complex for being inlined everywhere.
2011-10-10 10:13:43 +02:00
Max Kellermann
311e627463
audio: rename audio.[ch] to audio_config.[ch]
2011-10-10 10:13:43 +02:00
Max Kellermann
db0bb425e7
Makefile.am: cue_tag.c belongs to libplaylist_plugins.a
2011-10-09 18:48:20 +02:00
Max Kellermann
e001dd2d45
Makefile.am: remove redundant GLIB_CFLAGS specifications
2011-10-09 18:45:37 +02:00
Max Kellermann
c38772c97f
Makefile.am: add static library libpcm.a
2011-10-09 18:42:32 +02:00
Max Kellermann
3a31589fdd
Makefile.am: generate static library from plugins
...
Compile the plugins only once with the same C flags.
2011-10-09 18:33:02 +02:00
Max Kellermann
176debaf37
Makefile.am: require automake 1.11
...
Prepare for enabling "silent-rules".
2011-10-09 18:32:55 +02:00
Max Kellermann
072f83b240
configure.ac: use $LIBS instead of $MPD_LIBS
2011-10-09 18:29:25 +02:00
Max Kellermann
cbd6770f2f
configure.ac: substitute FAAD_CFLAGS, FAAD_LIBS
...
Don't use MPC_CFLAGS, MPD_LIBS.
2011-10-09 18:25:09 +02:00
Max Kellermann
0c3a7bcf12
configure.ac: substitute MPCDEC_LIBS, MPCDEC_CFLAGS
...
Don't use MPD_LIBS, MPC_CFLAGS.
2011-10-09 17:58:36 +02:00
Max Kellermann
389fbaaca2
configure.ac: add variable BZ2_LIBS
...
Don't use MPD_LIBS.
2011-10-09 17:56:46 +02:00
Max Kellermann
02a6a46e86
configure.ac: don't append DESPOTIFY_LIBS to MPD_LIBS
...
Use DESPOTIFY_LIBS in Makefile.am instead. Also, use
DESPOTIFY_CFLAGS.
2011-10-09 17:39:24 +02:00
Max Kellermann
5c0576ca55
Merge branch 'v0.16.x'
...
Conflicts:
configure.ac
src/player_control.c
src/player_thread.c
src/playlist_song.c
2011-10-06 22:45:02 +02:00
Max Kellermann
4e909f9411
decoder/dsdiff: new decoder plugin
...
Doesn't seem to work yet, getting just noise from a test file.
Seeking isn't implemented yet.
2011-10-04 21:41:03 +02:00
Max Kellermann
99f49e266c
Makefile.am: build the "dsd2pcm" program
2011-10-04 21:40:59 +02:00
Miklos Vajna
83f6498aac
Install systemd service file if systemd is available
2011-09-30 08:37:36 +02:00
Max Kellermann
533a6b0240
tcp_connect: generic library for establishing TCP connections
2011-09-20 21:27:17 +02:00
Max Kellermann
7d9d459ac2
resolver: add function resolve_host_port()
2011-09-20 21:15:05 +02:00
Max Kellermann
3ea1073809
socket_util: move sockaddr_to_string() to resolver.c
2011-09-20 08:49:36 +02:00
Max Kellermann
921553d7bb
Merge branch 'v0.16.x'
2011-09-20 08:47:06 +02:00
Max Kellermann
b03f9ece05
glib_socket.h: wrap g_io_channel_*_new() calls portably
...
The server_socket library (used by the httpd output plugin) didn't
check for WIN32, that's fixed now.
2011-09-20 08:35:25 +02:00
Max Kellermann
74617389c8
output_plugin: the plugin allocates the audio_output object
...
Pass audio_output objects around instead of void pointers. This will
give some more control to the plugin, and prepares for non-blocking
audio outputs.
2011-09-19 09:41:21 +02:00
Max Kellermann
b4a8b8c0d4
Makefile.am: rename SPARSE_SOURCES to SPARSE_SRC
...
Work around automake warning.
2011-09-19 08:03:31 +02:00
Max Kellermann
3c9bcdd347
output: per-plugin header
...
Move the "extern" declarations from output_list.c, for more type
safety.
2011-09-17 19:51:41 +02:00
Max Kellermann
5e22fe488e
output: rename plugin source files
2011-09-17 08:54:50 +02:00
Max Kellermann
87b624f5d5
Merge branch 'v0.16.x'
2011-09-16 07:52:39 +02:00
Max Kellermann
d8c829fa0c
configure.ac: pass AM_CXXFLAGS, AM_CPPFLAGS to Makefile.am
2011-09-16 07:35:46 +02:00
Max Kellermann
f2be6432a9
Makefile.am: allow out-of-tree sparse call
2011-09-15 09:48:36 +02:00
Max Kellermann
dd33317f45
input_stream: move input_stream_init(), _deinit() to _internal.c
2011-09-14 22:01:55 +02:00
Max Kellermann
a236a439cc
db_print: move code to function db_selection_print()
...
Use it in handle_lsinfo(), and eliminate some duplicate code.
2011-09-13 22:09:37 +02:00
Max Kellermann
a94d4be466
db_plugin: add method visit()
2011-09-13 21:47:00 +02:00
Max Kellermann
169db88c20
database: add struct db_visitor
...
Use this struct for db_walk().
2011-09-13 19:37:28 +02:00
Max Kellermann
aede71b1dc
playlist: move enum playlist_result to playlist_error.h
...
Reduce header dependencies.
2011-09-11 07:55:51 +02:00
Max Kellermann
7819aa6b20
db_plugin: introducing a plugin API for the song database
...
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-10 07:58:43 +02:00
Max Kellermann
7cc6b63aac
database: move code to db_save.c
2011-09-10 07:48:05 +02:00
Max Kellermann
6a6f28668f
dbUtils: move code to db_print.c
2011-09-06 00:03:51 +02:00
Max Kellermann
3d3bca5338
decoder/oggflac: delete this obsolete plugin
...
libOggFLAC has been deprecated for 5 years now, and we havn't been
testing it for a long time. Let's delete it.
2011-09-01 19:29:04 +02:00
Max Kellermann
6a3008d7ff
Merge branch 'v0.16.x'
...
Conflicts:
configure.ac
src/output_control.c
2011-09-01 19:19:42 +02:00
Max Kellermann
53ac72a878
Makefile.am: use AVAHI_CFLAGS, AVAHI_LIBS
...
Don't add those to MPD_CFLAGS / MPD_LIBS.
2011-09-01 10:09:46 +02:00
Max Kellermann
395191bd75
rtsp_client: use the I/O thread
...
Make the code portable.
2011-08-31 08:32:09 +02:00
Max Kellermann
293836494d
output_control: move code to audio_output_destruct()
...
.. and destruct the output object properly in test/run_output.
2011-08-30 22:28:15 +02:00
Max Kellermann
74a39c715b
ntp_server: move code to udp_server.c
2011-08-30 07:39:05 +02:00
Max Kellermann
195496333b
output/raop: move RTSP client code to rtsp_client.c
...
Restore some of the original file structure from from raop_play.
2011-08-29 11:27:08 +02:00
Max Kellermann
9ccaa90439
ntp_server: use the I/O thread
2011-08-29 11:23:51 +02:00
Max Kellermann
a97ddc8cb9
test/run_ntp_server: quit on SIGINT or SIGTERM
...
Clean up the process before exiting.
2011-08-29 10:18:54 +02:00
Max Kellermann
453368078b
configure.ac: add OpenSSL check for RAOP output plugin
...
Auto-enable the plugin when OpenSSL was found.
2011-08-29 09:39:03 +02:00
Max Kellermann
6e3b643bdf
ntp_server: add debug program "run_ntp_server"
2011-08-29 09:39:03 +02:00
Max Kellermann
8a63c27925
output/raop: move NTP code to separate library
2011-08-28 16:44:12 +02:00
Max Kellermann
3b9ffea36f
input/soup: new input plugin based on libsoup
...
To demonstrate the new I/O thread. libsoup is well-integrated into
the GLib main loop, which made this plugin pretty easy to write.
As a side effect, we have to initialize the I/O thread in all debug
programs that use the input API.
2011-08-24 03:33:49 +02:00
Max Kellermann
e242f3999c
io_thread: new thread for non-blocking background I/O
...
Try to eliminate the remaining blocking I/O.
2011-08-24 02:55:05 +02:00
Max Kellermann
b159bc0c5f
queue: implement song "priorities"
...
Sorts remaining songs by priority. This can be used for the
much-demanded "queue feature".
2011-07-19 00:34:33 +02:00
Max Kellermann
531c0067ec
Makefile.am: distribute client_idle.h
2011-06-03 17:27:43 +02:00
Simon Kagstrom
be798998bf
build: Add despotify to build system
2011-03-29 17:01:16 +02:00
Max Kellermann
0c9fc2f809
Merge commit 'release-0.16.2'
...
Conflicts:
Makefile.am
NEWS
configure.ac
2011-03-19 09:58:07 +01:00
Hans-Kristian Arntzen
1a954748a0
RoarAudio output plugin
2011-03-16 17:57:47 +01:00
Max Kellermann
e257484870
Makefile.am: distribute test/stdbin.h
2011-02-18 08:19:37 +01:00
Max Kellermann
906efdd320
Makefile.am: compile test/run_encoder with ENCODER_CFLAGS
2011-02-13 23:22:57 +01:00
Max Kellermann
f8b09c194f
protocol: support client-to-client communication
2011-01-29 10:43:54 +01:00
Dustin Puckett
79e0db4ca0
output/raop: new output plugin
...
Remote Audio Output Protocol (RAOP), for Apple devices.
2011-01-28 21:17:09 +01:00
Max Kellermann
2b29ca796e
Merge commit 'release-0.16.1'
...
Conflicts:
NEWS
2011-01-10 11:47:14 +01:00
Yuriy Kaminskiy
77d71c4ee6
Makefile.am: resolve modplug vs. libsndfile cflags/headers conflict
...
A bit of automake magic (see info automake "Per-Object Flags").
Compile-tested.
2011-01-09 18:21:27 +01:00
Max Kellermann
b8fe2c74bc
Makefile.am: generate doxygen.conf
...
Don't create a modified copy for out-of-tree builds.
2010-12-24 00:25:31 +01:00
Max Kellermann
0958ed5844
utils: move string_array_contains() to string_util.c
2010-12-23 16:23:04 +01:00
Max Kellermann
e3cba18532
decoder: new "pcm" decoder plugin
...
Just there to support the "cdio_paranoia" input plugin.
2010-12-22 09:48:48 +01:00
Max Kellermann
9bf7fde49f
configure.ac: hook the cdio_paranoia input plugin
2010-12-22 09:44:02 +01:00
Max Kellermann
f6bbe1332f
replay_gain_ape: parse replay gain from APE tags
...
Based on the APE reader.
2010-11-18 22:26:06 +01:00
Max Kellermann
11613347be
tag_ape: move code to ape.c
...
Generic library for scanning APE tags. Eliminated one "goto"!
2010-11-18 21:44:24 +01:00
Max Kellermann
75f4772ba2
output: new output plugin "ffado"
...
Using libffado, to play on firewire audio devices.
Warning: this plugin was not tested successfully. I just couldn't
keep libffado2 from crashing. Use at your own risk.
For details, see my Debian bug reports:
http://bugs.debian.org/601657
http://bugs.debian.org/601659
2010-10-27 21:25:41 +02:00
Max Kellermann
188e1b440e
playlist/rss: new playlist plugin for RSS feeds
2010-10-11 20:33:41 +02:00
Denis Krjuchkov
e6fc88a758
mixer: winmm_mixer implemented
2010-10-09 02:45:08 +06:00
Denis Krjuchkov
20004b7ee0
win32_output: renamed win32 output plugin to winmm
...
Win32 has many audio APIs. New name is slightly more correct.
2010-10-08 23:55:14 +06:00
Max Kellermann
84e037631d
output/httpd: use the new server_socket library
2010-10-05 21:18:54 +02:00
Max Kellermann
18e3d0b504
listen: move generic code to server_socket.c
2010-10-05 21:18:54 +02:00
Qball Cow
a39e6b43e8
add mpd_error.h to sources.
2010-10-03 19:46:36 +02:00
Denis Krjuchkov
e8ebb1af91
main: Add Windows Service support
...
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-09-23 20:42:33 +02:00
Serge Ziryukin
5cb061ebdf
Makefile.am: simplify (de)installation of doxygen-generated documentation
...
This also fixes installation when no *.gif files found in 'doc/api/html' folder.
2010-07-25 14:04:24 +02:00
Max Kellermann
12f4225d6b
Makefile.am: fix out-of-tree doxygen call
...
This hack creates a copy of doc/doxygen.conf with the INPUT setting
replaced.
2010-07-25 14:02:10 +02:00
Max Kellermann
e598922133
update: store playlist files in database
...
Don't open the music directory for each "lsinfo" call. Get the list
of playlist files from the memory database.
2010-07-21 09:26:50 +02:00
Max Kellermann
4364b30c42
decoder/mad: move RVA2 code to tag_rva2.c
2010-07-20 23:03:54 +02:00
Max Kellermann
82ee278f53
playlist_any: new library to simplify opening playlist files
...
The new function playlist_open_any() combines playlist_mapper_open(),
playlist_list_open_uri() and playlist_list_open_stream(), providing an
easy API for all of them.
2010-06-25 22:43:52 +02:00
Max Kellermann
07423c300e
Makefile.am: append LIBWRAP_LDFLAGS to OUTPUT_LIBS
...
This fixes test/run_output.
2010-06-21 09:45:35 +02:00
Avuton Olrich
a6ef696132
Makefile.am: distribute refcount.h
2010-06-13 19:49:38 -07:00
Max Kellermann
53f08a95eb
Makefile.am: distribute open.h
2010-06-08 21:40:51 +02:00
Max Kellermann
d60bcd2869
test: added debug program "run_inotify"
2010-05-30 23:30:43 +02:00