Commit Graph

1088 Commits

Author SHA1 Message Date
Max Kellermann
cc5443c38e tag/ApeLoader: use class InputStream instead of FILE*
Prepare for APE tag support on userspace NFS/SMB/CIFS mounts.
2016-02-22 17:30:36 +01:00
Max Kellermann
8a86460b8f tag/Id3Load: use class InputStream instead of FILE*
Prepare for ID3 support on userspace NFS/SMB/CIFS mounts.
2016-02-22 17:30:36 +01:00
Max Kellermann
0705f42cf8 playlist/Plugin: pass InputStreamPtr&& to open_stream()
Obsolete class CloseSongEnumerator, which was a kludge.
2016-02-21 12:53:47 +01:00
Max Kellermann
1d3b2baee7 tag/Id3Load: manage id3_tag* with std::unique_ptr 2016-02-19 19:16:40 +01:00
Max Kellermann
86de876b24 tag/TagId3: move tag_id3_load() to Id3Load.cxx 2016-02-19 19:06:06 +01:00
Max Kellermann
f097952b42 lib/upnp: use std::unique_ptr 2016-02-06 23:57:29 +01:00
Max Kellermann
bc2d23ff0d util/ScopeExit: new utility library
Similar to boost::scope_exit, but fewer include dependencies.
2016-02-06 22:03:37 +01:00
Max Kellermann
f3503e0026 fs/DirectoryReader: use C++ exceptions instead of class Error 2015-12-29 12:56:26 +01:00
Max Kellermann
d256a0e98f config/ConfigFile: use std::exception on syntax error 2015-12-16 11:13:16 +01:00
Max Kellermann
36d6ead65c fs/io/GzipOutputStream: use C++ exceptions in constructor 2015-12-16 10:14:56 +01:00
Max Kellermann
3092e5a8a5 system/Error: helper library for constructing std::system_error 2015-12-16 00:07:51 +01:00
Max Kellermann
9bc0fada5c release v0.19.12
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWcH4fAAoJECNuiljG20USbAcQAKX0G+V10HI2Bmf7JJ3pWW96
 GiOBpd66pEPioXdfpxOQNLglKS+rcproCWZnQf/VSoYN5d6pT6VLCQiMpdm3ZkNO
 ZLWGhJ0Md1PGj+xjfGrMw95g+cqV+wMo1PETOsE/MtINqN/nMyQNI7lFnZ8xYEAP
 DhJB1pXdchHvUVM3o+vpGSEOScn3XstL8+a/K5+Rvxptew4QDI/0ucyTLcLaaxkY
 r/bH8wTDSMSpez4M5Me9MQ9OJ9NUPgudvs8Ppzji26lMcQRnZGdcffGTj08Lv+1b
 gyx25t8sija6XVt6AEqn8KX+YAhe94c7ROq5PzdLeUszUf4YFIqaZ7O19PSYuuB6
 APfr25A7NBQtJ88Wjw6slco+mAwbLZwQewZtFZCq6Y8J3oRBG6bpaPhFWUyygqTL
 rIU735+o3FvqijKJUtKG0rAz+wfsPk6TMvIg4VMUaQXneS1LbzZe2Nz2FGxtonpd
 Ua/tBQ/LnX8Utueuhy0kH06qPqq1/eSCMZIH/yphfR+B5k90h719RN/BR5xPv9Fb
 vRdiSgPtfACAHvnadqcpVGjmmCQtXurC7gFceEc4Anign5kkSSGrDmo9OYhxwSkl
 8A2GeOmxNrs2aFkNelnH3C6BTOEcewbXEmPQhTiBoX9LDmDK31rfSoVI0SUt7rbR
 Sbt21m+7ThEqFfafZ8a/
 =hDes
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.12'

release v0.19.12
2015-12-15 22:05:21 +01:00
Jörg Krause
6626c2d00d Makefile.am: fix static build with alsa
Add ALSA_LIBS to MIXER_LIBS, otherwise building mpd in a static context fails
with lot of undefined references to alsa-lib (libasound) required by
src/mixer/plugins/AlsaMixerPlugin.cxx.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
2015-12-15 21:16:45 +01:00
Max Kellermann
733989a284 util/StringUtil: move comparison functions to StringCompare.cxx 2015-11-06 09:20:18 +01:00
Max Kellermann
15e432204e pcm/Order: new library to convert from FLAC to ALSA channel order
This new library is integrated in the PcmExport class and (if enabled)
converts MPD's channel order (= FLAC channel order) to ALSA channel
order.

This fixes:
 http://bugs.musicpd.org/view.php?id=3147
and
 http://bugs.musicpd.org/view.php?id=3255
2015-10-27 11:44:23 +01:00
Max Kellermann
22ebe0e58f playlist/flac: re-add the plugin
This reverts commit d7d9dbd2c2 by
reimplementing it with the current MPD API.

3 years ago, I was wrong about the "embcue" plugin being able to
replace this one, because "embcue" reads a tag named "CUESHEET", while
this plugin reads the "CUESHEET" FLAC metablock.  There's an important
difference between those two!
2015-10-26 13:16:01 +01:00
Max Kellermann
f072cbbba7 LocateUri: new library to classify URIs in a standard way 2015-10-22 09:39:28 +02:00
Max Kellermann
8d23706354 util/DeleteDisposer: new utility class 2015-10-19 15:57:30 +02:00
Max Kellermann
54383b017e test/ReadApeTags: new debug program 2015-10-16 14:28:57 +02:00
Max Kellermann
27a40a9843 util/StringView: add methods StripLeft(), StripRight() 2015-10-16 08:59:47 +02:00
Max Kellermann
356c829b76 util/StringView: new utility class 2015-09-30 22:21:46 +02:00
François Revol
7743647460 output: add native Haiku audio output and mixer support
Also uses the notification system to display tags.
2015-09-17 22:46:46 +02:00
François Revol
352ec364f0 Makefile.am: add the Haiku resources to the mpd binary 2015-09-17 22:46:46 +02:00
Max Kellermann
f3661b19c0 tag/Settings: move typedef tag_mask_t to Mask.hxx 2015-08-24 11:40:25 +02:00
Max Kellermann
2f5106c97f tag/Settings: convert to C++ 2015-08-24 11:20:45 +02:00
Max Kellermann
7cc33d0f27 test/stdbin.h: remove obsolete header 2015-08-15 16:37:58 +02:00
Max Kellermann
5fba8d773c PlayerThread, ...: move to src/player/ 2015-08-15 15:55:46 +02:00
Max Kellermann
7652a2986b client/Response: new Client wrapper class for writing responses 2015-08-12 08:41:05 +02:00
Max Kellermann
0f92d021a1 command/Request: new struct wrapping ConstBuffer<const char *> 2015-08-11 22:43:10 +02:00
Max Kellermann
f084bbbf35 net/AllocatedSocketAddress: new sockaddr wrapper class 2015-07-22 10:56:35 +02:00
Max Kellermann
6f22452b54 net/Resolver: move sockaddr_to_string() to ToString.cxx 2015-07-22 10:03:36 +02:00
Max Kellermann
ccdb94b06c configure.ac: remove GLib option
Not used anymore.
2015-06-27 16:06:28 +02:00
Max Kellermann
037d1d9ad1 util/AllocatedString: add methods Duplicate(), Clone() 2015-06-25 23:44:16 +02:00
Max Kellermann
aecfcaa8a2 lib/icu/Win32: wrappers for WideCharToMultiByte(), MultiByteToWideChar() 2015-06-23 13:20:11 +02:00
Max Kellermann
11d048b8e3 util/AllocatedString: new utility class 2015-06-23 12:48:21 +02:00
Max Kellermann
e4844b9936 util/StringPointer: new utility class 2015-06-23 12:34:44 +02:00
Max Kellermann
2aa54c5365 fs/Glob: use PathMatchSpec() on Windows 2015-06-22 22:12:08 +02:00
Max Kellermann
e12bd00b47 test/TestFs: new unit test for libfs.a 2015-06-22 22:12:08 +02:00
Max Kellermann
50eac9b49e db/update/ExcludeList: move class Pattern to fs/Glob.hxx 2015-06-22 22:12:08 +02:00
Max Kellermann
5e22c83baa test/test_pcm: add PcmInterleave() unit test 2015-06-22 16:32:06 +02:00
Max Kellermann
eed1a3c239 decoder/ffmpeg: move code to pcm/Interleave.cxx 2015-06-22 14:42:19 +02:00
Max Kellermann
983078992d fs/NarrowPath: new utility class 2015-03-05 10:07:07 +01:00
Max Kellermann
5798faa13b util/StringUtil: add wchar_t overloads 2015-03-05 10:06:56 +01:00
Max Kellermann
a062693875 util/StringAPI: add wchar_t overloads 2015-03-05 08:58:04 +01:00
Max Kellermann
44565e22a0 fs/Traits: use string.h API wrappers 2015-03-05 08:58:04 +01:00
Max Kellermann
40a587bbaf system/FileDescriptor: new wrapper class for a file descriptor 2015-03-03 17:14:30 +01:00
Max Kellermann
7ce96585f5 fs/Path: add method GetSuffix()
Type-safe wrapper for uri_get_suffix().
2015-03-01 01:09:53 +01:00
Max Kellermann
41cc31c124 SongUpdate: use OpenArchiveInputStream() to open archive file
Don't pass Path::c_str() to tag_stream_scan() which requires a UTF-8
string.
2015-03-01 00:48:44 +01:00
Max Kellermann
90a61b6bab fs/FileInfo: new library providing GetFileInfo()
Replaces StatFile(), with a portable data object.
2015-02-28 23:00:26 +01:00
Max Kellermann
12de22d3bb net/StaticSocketAdress: new class wrapping struct sockaddr_storage 2015-02-13 21:16:43 +01:00
Max Kellermann
4e30e74739 net/SocketAddress: light wrapper for struct sockaddr 2015-02-10 22:06:06 +01:00
Max Kellermann
42890b9acf system/{Resolver,Socket{Error,Util}}: move to new library libnet.a 2015-02-10 22:06:06 +01:00
Max Kellermann
ff2b427cc1 release v0.19.9
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJU1OdDAAoJECNuiljG20USazsQAKZuhjJJ8vjYCB7G/NGoi9tv
 dImBQnQDiQTdE57kxa46loknbPc5/cSAYnLbR4PjQfMBqArtE6sAkAk72LKlYNqt
 qMOEKPCBjv8ZjiGDbvL/X+WSKbrpm8iOf3Gu5BRIuWrMK/oXQMe5A028Ziyye//X
 XfMKdPWkZFL6h/qGO082eCnCiTJaSRLwP6HSNF2pqv+JuFF7hyLkZvTVXo/ms85E
 ezrx3Kjf8TuNX041uuso7qqUsD/sY2jZRZ26qfzJ1ODwJmgIfbXzat+ODFVNne55
 E1nh5zpwIUxZ2+d6eJEzwLR3+FpmltPc1YLo2mnetD6f59SzpXjAycPLo1VoOhbQ
 s4iXQEzNI2LwDebI3eiMXQaLIorHOGex3L6JYkO5LAqUkPrv/PBCJFJs8ixjCRbl
 KL27WmWYiV0xfdCz4TtAxEt48LGMMjDfaSK4Hzo3vN3vZtIEy2p/pS9MhXDdxC8I
 vql533N+A9fi2I+7bPauwX5ElOYvGTkDeKqKXDox/jR0zio55APst7IW9OIUCKxo
 an98430jeNPhs1CNqxVIJNciC8Q4REmafki7UQiKYDBQjHyq3r6Bp547lnDhUtii
 P9PNTyOoJXhV5yEP3upnWCxwH6Vy7IxBnwrEO7aEHs88Ea54iqlZ9XB8TzUw4G/1
 I7T7a8yOopRopb04vhr2
 =fd8f
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.9'
2015-02-06 17:15:31 +01:00
Max Kellermann
8a6b4db19f Makefile.am: move org_musicpd_Bridge.h to BUILT_SOURCES 2015-01-31 00:05:30 +01:00
Max Kellermann
df43b6a05c Makefile.am: generate icon before compiling JNI classes
Apparently, Android's build.xml requires the icon to be available,
even when only running the Java compiler.
2015-01-31 00:05:30 +01:00
Max Kellermann
ae7e1a22cb Merge branch 'v0.19.x' 2015-01-26 20:57:29 +01:00
Max Kellermann
a289dcb9ee Merge branch 'v0.18.x' into v0.19.x 2015-01-26 20:48:19 +01:00
Max Kellermann
ad1b6ef0ac {playlist,input}/despotify: remove defunct plugin 2015-01-26 09:55:31 +01:00
Max Kellermann
0d3b26b3aa Config: add section "resampler" 2015-01-22 11:04:28 +01:00
Max Kellermann
f900ab0121 config/Data: add method Clear()
Move code from config_global_finish().
2015-01-21 21:50:02 +01:00
Max Kellermann
f80ab6a7a2 ConfigData: rename header file 2015-01-21 21:49:09 +01:00
Max Kellermann
fe85fa3bea ConfigData: move struct config_param to Param.hxx 2015-01-21 21:23:02 +01:00
Max Kellermann
bf0ab2d44c ConfigData: move struct block_param to Block.?xx 2015-01-21 20:45:34 +01:00
Max Kellermann
e8debd2e45 output/recorder: dynamic file name 2015-01-14 22:03:26 +01:00
Max Kellermann
bf59635280 output/recorder: move code to encoder/ToOutputStream.cxx 2015-01-14 20:11:00 +01:00
Max Kellermann
5d6f75aaef Makefile.am: link output plugins before libtag.a 2015-01-14 19:59:27 +01:00
Max Kellermann
362a6e6d46 encoder/Plugin: move struct Encoder to EncoderInterface.hxx 2015-01-08 19:31:57 +01:00
Max Kellermann
ac62586bad test/WriteFile: new debug program 2015-01-06 19:38:55 +01:00
Max Kellermann
0b9f650fe2 output/Wrapper: new helper class 2014-12-29 23:45:14 +01:00
Max Kellermann
99e6409a67 {mixer,output}/pulse: move code to LogPulseError() 2014-12-29 22:42:52 +01:00
Max Kellermann
6a0a5f9693 output/pulse: move SetError() to lib/pulse/Error.cxx 2014-12-29 22:34:32 +01:00
Max Kellermann
fe9db8b369 {mixer,output}/pulse: use a common Domain instance 2014-12-29 22:25:14 +01:00
Max Kellermann
7afe63aa06 configure.ac: use MPD_ENABLE_AUTO_PKG_LIB for libgme 2014-12-22 10:28:15 +01:00
Max Kellermann
8fab855099 configure.ac: remove redundant declaration "HAVE_ISO9660" 2014-12-22 10:19:13 +01:00
Max Kellermann
90b91ead72 decoder/ffmpeg: move code to lib/ffmpeg/Init.cxx 2014-12-21 20:51:41 +01:00
Max Kellermann
1e98e41381 decoder/ffmpeg: move code to lib/ffmpeg/LogCallback.cxx 2014-12-20 18:46:29 +01:00
Max Kellermann
46914e486c decoder/ffmpeg: move struct AvioStream to FfmpegIo.hxx 2014-12-19 10:35:10 +01:00
Max Kellermann
67e2d9f9e1 decoder/ffmpeg: move code to lib/ffmpeg/Time.hxx 2014-12-19 09:41:21 +01:00
Max Kellermann
a142f93dca decoder/ffmpeg: move code to class FfmpegBuffer 2014-12-18 22:24:28 +01:00
Max Kellermann
e8564b4c90 decoder/ffmpeg: log detailed error message 2014-12-18 22:07:38 +01:00
Max Kellermann
fed44e95b3 sticker/Song: add enum StickerOperator to sticker_song_find() 2014-12-12 22:10:24 +01:00
Max Kellermann
052d350b19 sticker/Database: move SQLite helpers to lib/sqlite/Util.hxx 2014-12-12 21:42:51 +01:00
Max Kellermann
2ca18a7ee5 lib/sqlite/Domain: add Domain instance for SQLite
Replaces the sticker_domain for Error::domain.
2014-12-12 20:49:00 +01:00
Max Kellermann
aecb5630cb configure.ac: use MPD_ENABLE_AUTO_LIB for libfaad 2014-12-09 21:36:52 +01:00
Max Kellermann
0f0245625a configure.ac: add macro MPD_ENABLE_AUTO_LIB 2014-12-09 21:19:09 +01:00
Max Kellermann
1ecde309e4 src/win32: move resources to win32/ 2014-12-09 14:04:33 +01:00
Max Kellermann
0f1b1bb44d configure.ac: add option to disable CUE 2014-12-08 22:33:50 +01:00
Thomas Guillem
a928a9640f Makefile.am: change android apk name
If no name is specified, it'll use the name of the first activity of the
AndroidManifest.xml. And we don't want the apk to be called Settings.apk.
2014-12-08 18:16:11 +01:00
Thomas Guillem
cb302476b4 Makefile.am: add symlink for android layout folders 2014-12-08 18:15:47 +01:00
Max Kellermann
aa4c7055f8 playlist/pls: custom INI parser
Don't use GLib.
2014-12-04 23:10:50 +01:00
Max Kellermann
e69bef3ce3 util/SplitString: new utility class
Replaces GLib's g_strsplit().
2014-12-04 09:14:28 +01:00
Max Kellermann
02a77f6797 test/test_util: add unit test for DivideString 2014-12-04 07:23:06 +01:00
Max Kellermann
2abfc7b87b test/test_util: move class UriUtilTest to UriUtilTest.hxx 2014-12-04 07:12:04 +01:00
Max Kellermann
050f0c3d8f util/SplitString: rename to DivideString 2014-12-03 21:38:06 +01:00
Max Kellermann
0debba0f6e mixer/null: new mixer plugin 2014-12-02 18:20:44 +01:00
Max Kellermann
b227fddec7 fs/Path: add methods GetBase() and GetDirectoryName() 2014-12-02 06:45:57 +01:00
Max Kellermann
bc00c38f9d lib/icu/Converter: add ICU-based backend 2014-12-01 21:56:48 +01:00
Max Kellermann
4658bd8208 test/TestIcu: new unit test for lib/icu/* 2014-12-01 20:55:05 +01:00
Max Kellermann
c641ca90a9 lib/icu/Collate: move code to Util.cxx 2014-11-30 10:53:05 +01:00
Max Kellermann
87c88fcb27 fs/Charset: move code to wrapper class IcuConverter
Prepare for a ICU-based backend without GLib.
2014-11-30 00:31:13 +01:00