Max Kellermann
15a4246ead
Client, Inotify: use std::list instead of std::deque
...
Random access is not necessary here.
2013-01-04 14:44:06 +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
71c697288b
pcm_convert: make C++ safe
2013-01-04 08:49:15 +01:00
Max Kellermann
a7d1daee93
CommandListBuilder: use std::list instead of GSList
2013-01-04 01:17:25 +01:00
Max Kellermann
77a99cc61d
CommandListBuilder: rename attributes
2013-01-04 01:16:22 +01:00
Max Kellermann
fb337418a5
Client: move code to class CommandListBuilder
2013-01-04 00:50:13 +01:00
Max Kellermann
9d312ab208
PlaylistFile: reuse classes PlaylistInfo and PlaylistVector
...
.. instead of rolling own classes.
2013-01-04 00:02:09 +01:00
Max Kellermann
06be0a1997
PlaylistInfo: remove the obsolete list_head attribute
2013-01-04 00:01:01 +01:00
Max Kellermann
9e4509b846
ClientNew: initialise the "idle" attributes
...
Make valgrind happy.
2013-01-03 23:59:45 +01:00
Max Kellermann
fc1f0eeda7
Client: add constructor and destructor
...
Move code from client_new() and client_close().
2013-01-03 23:59:45 +01:00
Max Kellermann
3d5c094804
PlaylistFile: fix memory leak
2013-01-03 23:59:45 +01:00
Max Kellermann
6837e5a6a0
Merge branch 'v0.17.x'
2013-01-03 22:53:53 +01:00
Max Kellermann
9761abf3b5
cue_parser: fix CUE files with only one track
...
Track whether _finish() has been called, and deliver all partial
results then. Fixes Mantis ticket 0003621.
2013-01-03 21:58:20 +01:00
Max Kellermann
599a562170
cue_parser: add code comments
2013-01-03 21:38:38 +01:00
Max Kellermann
31da4bc566
cue_parser: fix memory leak
2013-01-03 21:02:59 +01:00
Denis Krjuchkov
01a45a53aa
cmdline: bunch of fixes related to config file selection
...
- fix potential memory leak of system_path
'Potential' because currently g_get_system_config_dirs()
returns single entry on Windows, but that might change.
- remove incorrect g_free() call
It's not required at all because
g_get_system_config_dirs() returns GLib owned memory.
- remove extra semicolon
2013-01-03 19:45:51 +01:00
Max Kellermann
59400d38a9
Client: use std::deque for messages
2013-01-03 18:07:48 +01:00
Max Kellermann
5155b0f608
ClientMessage: turn into a class
2013-01-03 17:58:22 +01:00
Max Kellermann
d919f8d50a
ClientInternal: use std::set for subscriptions
2013-01-03 17:49:47 +01:00
Max Kellermann
d67aa7c19d
ClientNew: allocate/dispose client objects with new/delete
...
Prepare for adding non-trivial attributes.
2013-01-03 17:47:39 +01:00
Max Kellermann
7a982169c9
Client: rename the struct client to class Client
2013-01-03 17:36:28 +01:00
Max Kellermann
f2510d60fa
ls.h: rename to ls.hxx
2013-01-03 17:34:51 +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
90fe4c5124
TextFile: convert to a class
2013-01-03 10:16:05 +01:00
Max Kellermann
2452447c81
text_file: convert to C++
2013-01-03 10:12:41 +01:00
Max Kellermann
93f0bb8307
ExcludeList: convert to a class
2013-01-03 10:02:43 +01:00
Max Kellermann
47fc08bffe
exclude: convert to C++
2013-01-03 10:02:33 +01:00
Max Kellermann
c0f2024a2e
exclude: make variables more local
2013-01-03 10:02:26 +01:00
Max Kellermann
28f3e190c8
InotifyQueue: use std::deque instead of GSList
2013-01-03 10:02:26 +01:00
Max Kellermann
c4090b670d
Permission: use std::map instead of GHashTable
2013-01-03 03:11:39 +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
a2297558ff
MessageCommands: use std::set instead of GHashTable
2013-01-03 02:40:21 +01:00
Max Kellermann
84cdf0cacc
StickerDatabase: use std::map instead of GHashTable
2013-01-03 02:39:08 +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
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
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
b4b0b34e5a
database.h: eliminate db_*_song()
...
Use the C++ API.
2013-01-03 00:37:18 +01:00
Max Kellermann
fa3d1156a6
playlist_edit: convert to C++
2013-01-03 00:35:05 +01:00
Max Kellermann
0eb05b827f
Directory: turn functions to methods
2013-01-02 23:06:10 +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
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
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
4b0b8315a9
string_util: use const_cast in C++ mode
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
83c7e1e129
configure.ac: disable C++ RTTI
...
RTTI adds overhead to the binary, and we don't need that.
2013-01-02 19:19:58 +01:00
Max Kellermann
a6371e2e66
configure.ac: disable C++ exceptions
...
We don't use exceptions currently. Since allowing exceptions means a
lot of overhead, this commit disables the feature.
2013-01-02 19:12:27 +01:00
Jurgen Kramer
dc32d1f3f3
Add tag support for DSD (DSDIFF & DSF) decoders
2012-10-27 11:42:34 +02:00
Max Kellermann
cbdaa1369f
Merge branch 'v0.17.x'
...
Conflicts:
src/PlaylistSave.cxx
2012-10-05 17:12:44 +02:00
Max Kellermann
8fb20fcdf8
playlist_song: fix potential charset bug in apply_song_metadata()
...
The song's URI must be UTF-8, not filesystem character set.
2012-10-05 17:01:04 +02:00
Max Kellermann
72bf226608
playlist_save: use temp2 instead of temp
...
Fixes minor Windows compatibility problem.
2012-10-05 16:55:30 +02:00
Max Kellermann
d4b5699403
decoder/ffmpeg: support planar audio
...
Implements Mantis feature request 3582.
2012-10-05 16:40:25 +02:00
Max Kellermann
1dc27be015
decoder/ffmpeg: fix playback of planar PCM data
...
Interleaving was completely wrong. This code was never used, so it
didn't have an effect.
2012-10-05 16:38:55 +02:00
Max Kellermann
230a3eb400
decoder/ffmpeg: move code to copy_interleave_frame2()
2012-10-05 16:37:07 +02:00
Max Kellermann
e39382dedd
decoder/ffmpeg: ignore negative time stamps
...
Works around assertion failure in decoder_timestamp().
2012-10-05 16:37:07 +02:00
Max Kellermann
fd016f4507
decoder/ffmpeg: show unsupported sample format name
...
Use av_get_sample_fmt_string() to obtain a human-readable string.
2012-10-05 15:24:53 +02:00
Max Kellermann
9d728b365d
decoder/ffmpeg: pass AVSampleFormat to ffmpeg_sample_format()
...
API simplification.
2012-10-05 15:14:57 +02:00
Max Kellermann
ddc0283339
decoder/ffmpeg: remove duplicate sample format error message
2012-10-05 14:52:30 +02: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
6b416ce6be
decoder/flac: move flac_scan_file2() to main plugin file
2012-10-04 10:32:52 +02:00
Max Kellermann
ef0392e854
input/file: use errno_quark()
2012-10-04 10:32:04 +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
c9e700f079
decoder/flac: add ctor/dtor to struct flac_data
2012-10-02 19:47:31 +02:00
Max Kellermann
3c2d73d161
decoder/flac: add method FLACMetadataChain::Scan()
...
Merge common code.
2012-10-02 18:24:15 +02:00
Max Kellermann
343de8b8ab
decoder/flac: don't use FLAC__Metadata_SimpleIterator
...
Use the new FLACMetadataIterator C++ class, which is more powerful.
2012-10-02 17:38:21 +02:00
Max Kellermann
c645b906f3
decoder/flac: add C++ libFLAC wrappers
...
Not using libFLAC++ because this library adds a lot of overhead due to
virtual method calls. This new class library is zero-overhead.
2012-10-02 17:37:07 +02:00
Max Kellermann
9c1d1ef268
decoder/flac: eliminate the obsolete "track number" code
...
This has been deprecated by the "embcue" playlist plugin.
2012-10-02 17:36:54 +02:00
Max Kellermann
ade0483641
Merge branch 'v0.17.x'
2012-10-02 17:34:03 +02:00
Gregory Smith
03a401e477
OSX: Set mDataByteSize correctly on AudioBuffers during render.
2012-10-02 17:27:52 +02:00
Max Kellermann
e5fd1924db
decoder/flac: remove unused function flac_tag_load()
2012-10-02 11:39:10 +02:00
Max Kellermann
cbdd042adc
decoder/flac: use C++ compiler
2012-10-02 10:59:56 +02:00
Max Kellermann
ccd7104cdc
{decoder,encoder}/flac: drop support for libFLAC 1.1
2012-10-02 10:04:44 +02:00
Max Kellermann
1cf4b5ce47
encoder/opus: implement lookahead
...
The "opusinfo" program complained about preskip value that was too
small. This commit uses OPUS_GET_LOOKAHEAD to obtain the number of
frames that shall be silence at the beginning.
2012-10-02 09:42:03 +02:00
Max Kellermann
1badb3b5d5
encoder/opus: initialize the "granulepos" packet attribute
2012-10-02 09:16: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
9e3f843291
encoder/vorbis: accept floating point input samples
...
Improves quality by not squeezing 32 bit samples down to 16 bit, and
then back to 32 bit floating point. Reduces CPU usage by skipping a
conversion step.
2012-10-02 08:39:39 +02:00
Max Kellermann
e166ddf46f
pcm_channels: support floating point samples
2012-10-02 08:39:12 +02:00