skidoo23
fbea965c70
tag: new tag Label
2018-10-17 20:33:03 +02:00
Max Kellermann
94592c1406
build with Meson instead of autotools
...
So long, autotools! This is my last MPD related project to migrate
away from it. It has its strengths, but also very obvious weaknesses
and weirdnesses. Today, many of its quirks are not needed anymore,
and are cumbersome and slow. Now welcome our new Meson overlords!
2018-10-14 23:41:38 +02:00
Max Kellermann
ec54754e22
Compiler.h: move to util/
2018-08-20 16:19:17 +02:00
Max Kellermann
c46483a4ab
tag/Config: support incremental "metadata_to_use" setting
...
With a "+" or "-" prefix, the "metadata_to_use" setting can manipulate
the existing default. This way, one can enable `TAG_COMMENT` without
having to list all the other tags.
2018-08-10 18:46:47 +02:00
Max Kellermann
0f19108ce3
tag/Config: use SplitString()
2018-08-10 18:46:16 +02:00
Max Kellermann
4208fe29b5
tag/Mask: add method Unset()
2018-08-10 18:46:15 +02:00
Max Kellermann
517f5b1999
util/TimeConvert: new utility library
2018-07-25 08:34:52 +02:00
Max Kellermann
24a86dce21
tag/Config: use struct ConfigData
2018-07-17 22:34:11 +02:00
Max Kellermann
816603fd9a
config/Config*: rename files, drop "Config" prefix
2018-07-16 19:50:07 +02:00
Max Kellermann
c05bca6f2c
tag/Handler: implement FullTagHandler::OnAudioFormat()
2018-07-06 22:46:03 +02:00
Max Kellermann
e152e843d8
tag/Handler: add method OnAudioFormat()
2018-07-06 12:44:58 +02:00
Max Kellermann
9ff1ff75cb
tag/Handler: add FullTagHandler constructor with want_mask
2018-07-06 12:44:58 +02:00
Max Kellermann
abea4a24ba
tag/Handler: move WANT_DURATION|WANT_TAG to protected AddTagHandler()
2018-07-06 12:44:11 +02:00
Max Kellermann
3d3a1232b1
tag/Handler: convert to class with virtual methods
2018-07-05 19:07:05 +02:00
Max Kellermann
d0fbf6db59
input/Stream: remove attribute "cond", replace with handler interface
...
This adds a bit of overhead, but also adds flexibility to the API,
because arbitrary triggers may be invoked from that virtual method
implementation, not just Cond::signal().
The motivation for this is to make the handlers more dynamic, for the
upcoming buffering class utilizing ProxyInputStream.
2018-06-22 19:37:18 +02:00
Max Kellermann
65bbb0e0aa
Merge tag 'v0.20.17'
...
release v0.20.17
2018-02-11 13:22:43 +01:00
Max Kellermann
e8b70dbca4
SongSave, queue/PlaylistState, tag/ReplayGain: use portable atof() wrappers
...
For Android pre-5.0 compatibility (#213 ).
2018-02-09 22:54:22 +01:00
Max Kellermann
97f670658f
util/StringFormat: new utility library
2018-01-24 13:28:28 +01:00
Max Kellermann
b8e5932506
tag/{Tag,Builder}: use std::lock_guard
2018-01-20 19:53:38 +01:00
Max Kellermann
1ea04cd8cc
tag/Pool: add "noexcept"
2018-01-20 19:53:38 +01:00
Max Kellermann
b334643b68
tag/Pool: use C++11 initializers
2018-01-20 19:53:38 +01:00
Max Kellermann
6e6a0275b5
tag/Pool: use uint8_t instead of unsigned char
2018-01-20 19:53:38 +01:00
Max Kellermann
f5590806e0
tag/Handler: add "noexcept"
2018-01-20 19:53:38 +01:00
Max Kellermann
f686e838fe
tag/Builder: add "noexcept"
2018-01-20 19:53:38 +01:00
Max Kellermann
ea8642dec9
tag/Builder: use C++11 initializers
2018-01-20 19:53:38 +01:00
Max Kellermann
eef5b58211
tag/Tag: add "noexcept"
2018-01-20 19:39:46 +01:00
Max Kellermann
1de68b72b9
tag/Tag: use C++11 initializers
2018-01-20 19:39:06 +01:00
loujine
42959982a9
Add basic support for MUSICBRAINZ_WORKID tag
2017-12-30 19:05:21 +00:00
Max Kellermann
71f1ec0bc8
tag/Id3Scan: return std::unique_ptr<Tag>
2017-12-20 15:09:20 +01:00
Max Kellermann
25fa3ccade
MusicChunk, player/Thread: use std::unique_ptr<Tag>
2017-12-20 15:02:14 +01:00
Max Kellermann
c6a95395b5
tag/Tag: Merge() returns std::unique_ptr<Tag>
2017-12-20 14:59:51 +01:00
Max Kellermann
cb3042ffb2
tag/Builder: CommitNew() returns std::unique_ptr<Tag>
2017-12-20 14:55:25 +01:00
Max Kellermann
914df18bf9
Main, ...: catch any exception, not just std::runtime_error
2017-12-19 10:56:23 +01:00
Max Kellermann
edee8a3446
Compiler.h: add gcc_returns_nonnull, gcc_returns_twice
2017-12-18 23:00:13 +01:00
Max Kellermann
6246d36fe6
Merge branch 'v0.20.x'
2017-12-16 20:56:06 +01:00
Max Kellermann
dfaf08743c
*: check defined(_WIN32) instead of defined(WIN32)
...
Only _WIN32 is defined by the compiler, and WIN32 is not standardized
and may be missing.
Closes #169
2017-12-12 10:22:20 +01:00
Max Kellermann
49784513b1
util/{Const,Writable}Buffer, ...: rename IsEmpty() to empty(), imitating STL
2017-11-10 19:24:33 +01:00
Max Kellermann
96b557c1f0
util/StringView: remove methods SetEmpty(), Empty()
2017-09-12 17:17:13 +02:00
Max Kellermann
85edcb858d
tag/Config: throw exception instead of raising fatal error
2017-08-11 09:33:07 +02:00
Max Kellermann
d29bdf3e81
Merge branch 'v0.20.x'
2017-07-31 13:50:14 +02:00
Max Kellermann
dd9fd3d8a7
tag/Aiff: the FORM chunk size is big-endian
...
Was broken by commit 8a86460b8f
Closes #87
2017-07-31 13:46:09 +02:00
Matthew Leon
573a413ee1
move MusicBrainz id3v2 tags to separate file
...
We will reuse these tags elsewhere.
2017-07-20 08:26:29 +02:00
Max Kellermann
501a4af914
util/StringUtil: move strip functions to StringStrip.cxx
2017-07-05 17:20:02 +02:00
Max Kellermann
dad7d7e798
util/TruncateString: rename CopyString() to CopyTruncateString()
2017-07-05 17:15:58 +02:00
Max Kellermann
4b94ae8040
util/StringUtil: move CopyString() to TruncateString.cxx
2017-07-05 17:11:34 +02:00
Max Kellermann
ae713cb099
*: add lots of "noexcept" specifications
2017-06-04 13:09:11 +02:00
Max Kellermann
979f1b6c39
Merge tag 'v0.20.9'
...
release v0.20.9
2017-06-04 12:57:05 +02:00
Max Kellermann
a057b4f6d8
*: add lost of "noexcept" specifications
2017-06-04 12:46:48 +02:00
Max Kellermann
59e4f1ee0f
*: remove lots of GCC 4.8 fallback code
...
We can remove those C++11 and C++14 kludges because we require GCC 4.9
now.
2017-05-16 11:29:15 +02:00
Max Kellermann
4faef28cc5
Merge tag 'v0.20.7'
...
release v0.20.7
2017-05-15 23:01:49 +02:00