Max Kellermann
e83f805b8f
Main, IOThread: move GMainLoop setup code to class EventLoop
2013-01-14 09:15:49 +01:00
Max Kellermann
e0a97a030f
io_thread: convert to C++
2013-01-10 10:33:20 +01:00
Max Kellermann
d5516dee00
input_stream: convert to C++ (internally)
2013-01-10 10:15:09 +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
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
a890dadfd2
test/run_decoder,read_tags: remove obsolete dummy functions
2013-01-09 12:25:39 +01:00
Max Kellermann
620ae7790b
test: rename debug programs back to old names
2013-01-08 15:33:58 +01:00
Max Kellermann
975370c084
decoder_api.h, ...: add "extern C"
2013-01-07 10:07:40 +01:00
Max Kellermann
108242042e
queue: convert all functions to methods
2013-01-06 21:33:58 +01:00
Max Kellermann
70652abf97
Queue: add constructor and destructor
2013-01-06 18:59:39 +01:00
Max Kellermann
1a8ef3cdab
filter/ReplayGain: add method _set_mode()
...
Push the new mode to the filter instead of accessing global variables
through replay_gain_get_real_mode().
2013-01-05 02:40:33 +01:00
Max Kellermann
46ed91b53d
DecoderAPI: _replay_gain() returns void
...
Let the function decoder_replay_gain() update
decoder_control::replay_gain_db instead of letting each decoder plugin
take care for that.
2013-01-05 02:40:29 +01:00
Max Kellermann
73f6fc428a
test: revert debug program renames
2013-01-05 02:39:32 +01:00
Max Kellermann
2a9d933a81
PlayerControl: add constructor and destructor
2013-01-04 22:45:14 +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
de0ab43bc1
output_*: convert to C++
2013-01-04 09:46:41 +01:00
Max Kellermann
83488848e1
Directory: initialise in default constructor
2013-01-03 02:12:34 +01:00
Max Kellermann
f5a92d6cc3
Directory: add constructor and destructor
2013-01-03 01:36:28 +01:00
Max Kellermann
3e8047e583
Directory: rename struct directory to Directory
2013-01-03 01:10:47 +01:00
Max Kellermann
0c245bc271
Directory: make the header C++ only
2013-01-02 22:52:08 +01:00
Max Kellermann
8331de424a
PlaylistInfo: rename class, use std::string
2013-01-02 22:16:05 +01:00
Max Kellermann
22f0ef6d6b
don't include stdbool.h in C++ sources
...
The "bool" type is built-in.
2013-01-02 20:56:04 +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
dd577fb857
test/read_tags: wait until input_stream becomes ready
...
Improved support for scanning http:// resources.
2012-10-04 09:28:13 +02:00
Max Kellermann
ade0483641
Merge branch 'v0.17.x'
2012-10-02 17:34:03 +02:00
Max Kellermann
9994521b8c
test/dump_playlist: add missing newline to error message
2012-10-02 17:27:47 +02:00
Max Kellermann
d95e538020
Merge branch 'v0.17.x'
2012-10-02 00:36:05 +02:00
Max Kellermann
43d8252050
output/recorder, test/*: invoke encoder_read() after _open()
...
Make sure the file header gets written at the beginning, before
_write() gets called.
2012-10-02 00:18:18 +02:00
Max Kellermann
1ddd9dd52a
test/run_encoder: fix encoder_open() call
2012-10-02 00:17:08 +02:00
Max Kellermann
def21cc87e
Merge branch 'v0.17.x'
...
Conflicts:
src/queue_save.c
2012-08-25 10:28:33 +02:00
Max Kellermann
488c1eb87b
test/test_queue_priority: fix SIGABRT
2012-08-25 10:24:34 +02:00
Max Kellermann
5ad21d7e98
queue_save: save song priorities
2012-08-21 19:17:14 +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
c1f90a99f4
tag_pool: use GStaticMutex
...
Eliminates explicit global initialisation.
2012-08-08 21:01:25 +02:00
Max Kellermann
ff58207034
db_selection: rename to DatabaseSelection
2012-08-07 23:12:26 +02:00
Max Kellermann
1a75abffa5
Database{Plugin,Visitor}: pass references
2012-08-07 21:32:08 +02:00
Max Kellermann
c6a0f5d3f9
test/DumpDatabase: new debug program
2012-08-07 20:21:10 +02:00
Max Kellermann
edf811fa02
DatabaseVisitor, ...: use GError forward declaration
2012-08-02 19:12:06 +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
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
5acee73fc8
encoder/vorbis: generate end-of-stream packet when playback ends
...
Add the encoder_plugin method end(). This is important for the
recorder plugin.
2012-04-05 00:21:53 +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
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
8c5ebdff36
audio_format: remove the reverse_endian attribute
...
Eliminate support for reverse endian samples from the MPD core. This
moves a lot of complexity to the plugins that really need it (only
ALSA and CDIO currently).
2012-03-21 19:31:04 +01:00
Max Kellermann
62218fe59d
test: add unit test for util/byte_reverse.c
2012-03-21 19:08:32 +01:00
Max Kellermann
777e1cabc5
test/run_convert: allow the out format to be a mask
2012-03-21 10:33:43 +01:00
Max Kellermann
79eb7623ef
event_pipe, test: explicitly ignore write() return value
...
Some compilers are very picky, but we really aren't interested in the
return value.
2012-03-19 23:26:47 +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
48e3432a63
test/run_input: use input_stream_*lock()
2012-03-19 20:37:25 +01:00
Max Kellermann
36827e1134
event_pipe, test: explicitly ignore write() return value
...
Some compilers are very picky, but we really aren't interested in the
return value.
2012-03-19 20:37:25 +01:00
Max Kellermann
5016839b90
use g_strerror() instead of strerror()
...
Make sure we get a UTF-8 encoded string.
2012-03-06 22:06:08 +01:00
Max Kellermann
3e7e0bcb18
test/run_decoder: initialize GThread
2012-02-13 19:00:23 +01:00
Max Kellermann
7d3d8f20ab
test/read_tags: call g_thread_init()
2012-02-13 18:37:09 +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
ffea273a28
tag_handler: handle arbitrary name/value pairs
...
The new method pair() receives an arbitrary name/value pair. Support
for this is being added to a few decoder plugins.
2012-02-12 13:41:48 +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
c46239af22
Merge branch 'v0.16.x'
...
Conflicts:
src/decoder/ffmpeg_decoder_plugin.c
test/read_tags.c
test/run_decoder.c
2012-02-04 17:23:53 +01:00
Max Kellermann
48eb3ff8d9
test/run_decoder: initialize the tag_pool library
2012-02-04 17:18:37 +01:00
Max Kellermann
5646dcc791
test/read_tags: initialize the tag_pool library
2012-02-04 14:32:17 +01:00
Max Kellermann
f208217412
test/run_output: enable and disable the output
2011-12-24 18:15:20 +01:00
Max Kellermann
6a01153ce4
pcm_buffer, output_plugin, ...: include config.h
2011-12-13 19:48:37 +01:00
Max Kellermann
b7d5652bf6
pcm_volume: "length" is a "size_t", not "int"
2011-10-20 02:24:25 +02: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
20c6159c04
pcm_dither: pass an "end" pointer instead of a sample count
...
This is easier and more efficient to loop on, because only two
variables get modified (src and dest).
2011-10-10 10:24:06 +02:00
Max Kellermann
a47e9d1a4b
pcm_pack: pass an "end" pointer instead of a sample count
2011-10-10 10:24:05 +02:00
Max Kellermann
0847ca4ec2
pcm_{mix,volume}: pass only sample_format to pcm_mix()
...
The other audio_format attributes are not used.
2011-10-10 10:24:05 +02:00
Max Kellermann
572d8d0cc4
test: add unit test for the PCM library
2011-10-10 10:24:05 +02:00
Max Kellermann
9652efd107
don't define WINVER in *.c files
...
In a C file, that is too late, because _mingw.h defaults to 0x0502,
and ours would be illegal redefintion.
2011-10-09 17:52:56 +02:00
Max Kellermann
bbdb4a67e1
test/run_decoder: initialize GThread
...
Needed for the I/O thread.
2011-10-03 19:28:54 +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
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
3934d2d30c
output/pulse: don't expose internal struct in public header
...
Provide _lock() and _unlock() to wrap all accesses from the mixer
plugin.
2011-09-17 19:50:36 +02:00
Max Kellermann
947848ebf6
output/roar: export volume methods
...
Use these instead of exposing the internal roar_t struct.
2011-09-17 19:33:51 +02:00
Max Kellermann
754f26a97c
input_stream: non-blocking I/O
...
Add GMutex, GCond attributes which will be used by callers to
conditionally wait on the stream.
Remove the (now-useless) plugin method buffer(), wait on GCond
instead. Lock the input_stream before each method call. Do the same
with the playlist plugins.
2011-09-16 21:22:13 +02:00
Max Kellermann
29241c4f83
input_plugin: add method check()
...
To check for errors without reading. The decoder thread wants to do
that, before it passes the input stream to the plugin.
2011-09-16 21:22:02 +02:00
Max Kellermann
7e27d660e2
test/test_queue_priority: work around "set but not used" warning
2011-09-16 09:10:39 +02:00
Max Kellermann
62557f4d6b
test/read_tags: initialize the tag_pool library
2011-09-13 22:46:47 +02:00
Max Kellermann
9c46cc4ea0
test/read_tags: call g_thread_init()
...
Needed for the I/O thread.
2011-09-13 22:42:21 +02:00
Max Kellermann
bc0fec0afe
conf: move duplicate check to _read_name_value()
...
config_add_block_param() cannot fail, which makes it easier to use.
2011-09-09 21:36:41 +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
ae8bda190e
test/run_output: clean up after open failure
2011-08-30 22:20:32 +02:00
Max Kellermann
74a39c715b
ntp_server: move code to udp_server.c
2011-08-30 07:39:05 +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
6e3b643bdf
ntp_server: add debug program "run_ntp_server"
2011-08-29 09:39:03 +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
350aa33022
output/raop: consistently use GError
2011-08-24 01:47:26 +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
eb2f413cf0
Merge branch 'v0.16.x'
...
Conflicts:
NEWS
configure.ac
2011-07-19 00:24:20 +02:00
Max Kellermann
cca2c2f4ca
test/run_filter: remove unused variable "frame_size"
2011-07-03 15:21:40 +02:00
Max Kellermann
52e2fa91c4
test/read_conf: make variables more local
2011-07-03 15:20:39 +02:00