aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am40
-rw-r--r--src/AllCommands.cxx2
-rw-r--r--src/CrossFade.cxx1
-rw-r--r--src/DatabaseCommands.cxx2
-rw-r--r--src/DatabaseHelpers.cxx2
-rw-r--r--src/DatabaseHelpers.hxx2
-rw-r--r--src/DatabasePlugin.hxx2
-rw-r--r--src/DatabasePrint.cxx2
-rw-r--r--src/DatabaseSave.cxx4
-rw-r--r--src/DecoderAPI.hxx2
-rw-r--r--src/DecoderInternal.cxx2
-rw-r--r--src/DecoderThread.cxx2
-rw-r--r--src/DespotifyUtils.cxx2
-rw-r--r--src/EncoderAPI.hxx2
-rw-r--r--src/IcyMetaDataParser.cxx2
-rw-r--r--src/IcyMetaDataServer.cxx2
-rw-r--r--src/IcyMetaDataServer.hxx2
-rw-r--r--src/Main.cxx2
-rw-r--r--src/MusicChunk.cxx2
-rw-r--r--src/OutputAPI.hxx2
-rw-r--r--src/PlayerThread.cxx2
-rw-r--r--src/PlaylistSong.cxx2
-rw-r--r--src/Song.cxx2
-rw-r--r--src/SongFilter.cxx2
-rw-r--r--src/SongSave.cxx2
-rw-r--r--src/SongSort.cxx2
-rw-r--r--src/SongUpdate.cxx4
-rw-r--r--src/TagPrint.cxx4
-rw-r--r--src/TagSave.cxx3
-rw-r--r--src/UpdateContainer.cxx4
-rw-r--r--src/cue/CueParser.cxx2
-rw-r--r--src/db/ProxyDatabasePlugin.cxx2
-rw-r--r--src/decoder/AdPlugDecoderPlugin.cxx2
-rw-r--r--src/decoder/AudiofileDecoderPlugin.cxx2
-rw-r--r--src/decoder/DsdLib.cxx2
-rw-r--r--src/decoder/DsdiffDecoderPlugin.cxx2
-rw-r--r--src/decoder/DsfDecoderPlugin.cxx2
-rw-r--r--src/decoder/FaadDecoderPlugin.cxx2
-rw-r--r--src/decoder/FfmpegDecoderPlugin.cxx2
-rw-r--r--src/decoder/FfmpegMetaData.cxx2
-rw-r--r--src/decoder/FlacMetadata.cxx4
-rw-r--r--src/decoder/GmeDecoderPlugin.cxx2
-rw-r--r--src/decoder/MadDecoderPlugin.cxx2
-rw-r--r--src/decoder/MikmodDecoderPlugin.cxx2
-rw-r--r--src/decoder/ModplugDecoderPlugin.cxx2
-rw-r--r--src/decoder/MpcdecDecoderPlugin.cxx2
-rw-r--r--src/decoder/Mpg123DecoderPlugin.cxx2
-rw-r--r--src/decoder/OpusDecoderPlugin.cxx2
-rw-r--r--src/decoder/OpusTags.cxx2
-rw-r--r--src/decoder/SndfileDecoderPlugin.cxx2
-rw-r--r--src/decoder/VorbisComments.cxx4
-rw-r--r--src/decoder/VorbisDecoderPlugin.cxx2
-rw-r--r--src/decoder/WavpackDecoderPlugin.cxx2
-rw-r--r--src/decoder/WildmidiDecoderPlugin.cxx2
-rw-r--r--src/decoder/sidplay_decoder_plugin.cxx5
-rw-r--r--src/encoder/VorbisEncoderPlugin.cxx2
-rw-r--r--src/input/CurlInputPlugin.cxx2
-rw-r--r--src/input/DespotifyInputPlugin.cxx2
-rw-r--r--src/input/RewindInputPlugin.cxx2
-rw-r--r--src/playlist/AsxPlaylistPlugin.cxx2
-rw-r--r--src/playlist/CuePlaylistPlugin.cxx2
-rw-r--r--src/playlist/DespotifyPlaylistPlugin.cxx2
-rw-r--r--src/playlist/EmbeddedCuePlaylistPlugin.cxx4
-rw-r--r--src/playlist/ExtM3uPlaylistPlugin.cxx2
-rw-r--r--src/playlist/PlsPlaylistPlugin.cxx2
-rw-r--r--src/playlist/RssPlaylistPlugin.cxx2
-rw-r--r--src/playlist/SoundCloudPlaylistPlugin.cxx2
-rw-r--r--src/playlist/XspfPlaylistPlugin.cxx2
-rw-r--r--src/tag/Tag.cxx (renamed from src/Tag.cxx)0
-rw-r--r--src/tag/Tag.hxx (renamed from src/Tag.hxx)0
-rw-r--r--src/tag/TagHandler.cxx (renamed from src/TagHandler.cxx)0
-rw-r--r--src/tag/TagHandler.hxx (renamed from src/TagHandler.hxx)0
-rw-r--r--src/tag/TagInternal.hxx (renamed from src/TagInternal.hxx)0
-rw-r--r--src/tag/TagNames.c (renamed from src/TagNames.c)0
-rw-r--r--src/tag/TagPool.cxx (renamed from src/TagPool.cxx)0
-rw-r--r--src/tag/TagPool.hxx (renamed from src/TagPool.hxx)0
-rw-r--r--src/tag/TagType.h (renamed from src/TagType.h)0
-rw-r--r--test/DumpDatabase.cxx2
-rw-r--r--test/dump_rva2.cxx2
-rw-r--r--test/read_tags.cxx2
-rw-r--r--test/run_input.cxx2
-rw-r--r--test/test_vorbis_encoder.cxx2
-rw-r--r--test/visit_archive.cxx2
83 files changed, 98 insertions, 105 deletions
diff --git a/Makefile.am b/Makefile.am
index b39848c59..6139113d7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -201,14 +201,8 @@ src_mpd_SOURCES = \
src/SongSort.cxx src/SongSort.hxx \
src/StateFile.cxx src/StateFile.hxx \
src/Stats.cxx \
- src/TagType.h \
- src/Tag.cxx src/Tag.hxx \
- src/TagInternal.hxx \
- src/TagNames.c \
- src/TagPool.cxx src/TagPool.hxx \
src/TagPrint.cxx src/TagPrint.hxx \
src/TagSave.cxx src/TagSave.hxx \
- src/TagHandler.cxx src/TagHandler.hxx \
src/TagFile.cxx src/TagFile.hxx \
src/TextFile.cxx src/TextFile.hxx \
src/TextInputStream.cxx \
@@ -428,7 +422,13 @@ TAG_LIBS = \
$(ID3TAG_LIBS)
libtag_a_SOURCES =\
- src/tag/TagTable.cxx src/TagTable.hxx \
+ src/tag/TagType.h \
+ src/tag/Tag.cxx src/tag/Tag.hxx \
+ src/tag/TagHandler.cxx src/tag/TagHandler.hxx \
+ src/tag/TagInternal.hxx \
+ src/tag/TagNames.c \
+ src/tag/TagPool.cxx src/tag/TagPool.hxx \
+ src/tag/TagTable.cxx src/tag/TagTable.hxx \
src/tag/ApeLoader.cxx src/tag/ApeLoader.hxx \
src/tag/ApeReplayGain.cxx src/tag/ApeReplayGain.hxx \
src/tag/ApeTag.cxx src/tag/ApeTag.hxx
@@ -1074,6 +1074,7 @@ test_run_resolver_SOURCES = test/run_resolver.cxx
test_DumpDatabase_LDADD = \
$(DB_LIBS) \
+ $(TAG_LIBS) \
libconf.a \
libutil.a \
libsystem.a \
@@ -1087,13 +1088,14 @@ test_DumpDatabase_SOURCES = test/DumpDatabase.cxx \
src/PlaylistVector.cxx src/PlaylistDatabase.cxx \
src/DatabaseLock.cxx src/DatabaseSave.cxx \
src/Song.cxx src/SongSave.cxx src/SongSort.cxx \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx src/TagSave.cxx \
+ src/TagSave.cxx \
src/SongFilter.cxx \
src/TextFile.cxx
test_run_input_LDADD = \
$(INPUT_LIBS) \
$(ARCHIVE_LIBS) \
+ $(TAG_LIBS) \
libconf.a \
libutil.a \
libevent.a \
@@ -1103,13 +1105,14 @@ test_run_input_LDADD = \
test_run_input_SOURCES = test/run_input.cxx \
test/stdbin.h \
src/IOThread.cxx \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx src/TagSave.cxx
+ src/TagSave.cxx
if ENABLE_ARCHIVE
test_visit_archive_LDADD = \
$(INPUT_LIBS) \
$(ARCHIVE_LIBS) \
+ $(TAG_LIBS) \
libconf.a \
libutil.a \
libevent.a \
@@ -1118,8 +1121,7 @@ test_visit_archive_LDADD = \
$(GLIB_LIBS)
test_visit_archive_SOURCES = test/visit_archive.cxx \
src/IOThread.cxx \
- src/InputStream.cxx \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx
+ src/InputStream.cxx
if ENABLE_DESPOTIFY
test_visit_archive_SOURCES += src/DespotifyUtils.cxx
@@ -1130,6 +1132,7 @@ endif
test_dump_text_file_LDADD = \
$(INPUT_LIBS) \
$(ARCHIVE_LIBS) \
+ $(TAG_LIBS) \
libconf.a \
libevent.a \
libfs.a \
@@ -1139,7 +1142,6 @@ test_dump_text_file_LDADD = \
test_dump_text_file_SOURCES = test/dump_text_file.cxx \
test/stdbin.h \
src/IOThread.cxx \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx \
src/TextInputStream.cxx
test_dump_playlist_LDADD = \
@@ -1159,8 +1161,8 @@ test_dump_playlist_LDADD = \
test_dump_playlist_SOURCES = test/dump_playlist.cxx \
$(DECODER_SRC) \
src/IOThread.cxx \
- src/Song.cxx src/Tag.cxx src/TagNames.c src/TagPool.cxx src/TagSave.cxx \
- src/TagHandler.cxx src/TagFile.cxx \
+ src/Song.cxx src/TagSave.cxx \
+ src/TagFile.cxx \
src/CheckAudioFormat.cxx \
src/TextInputStream.cxx \
src/cue/CueParser.cxx src/cue/CueParser.hxx
@@ -1186,7 +1188,6 @@ test_run_decoder_LDADD = \
test_run_decoder_SOURCES = test/run_decoder.cxx \
test/stdbin.h \
src/IOThread.cxx \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx src/TagHandler.cxx \
src/ReplayGainInfo.cxx \
src/AudioFormat.cxx src/CheckAudioFormat.cxx \
$(ARCHIVE_SRC) \
@@ -1208,7 +1209,6 @@ test_read_tags_LDADD = \
$(GLIB_LIBS)
test_read_tags_SOURCES = test/read_tags.cxx \
src/IOThread.cxx \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx src/TagHandler.cxx \
src/ReplayGainInfo.cxx \
src/CheckAudioFormat.cxx \
$(DECODER_SRC)
@@ -1218,8 +1218,7 @@ test_dump_rva2_LDADD = \
$(TAG_LIBS) \
libutil.a \
$(GLIB_LIBS)
-test_dump_rva2_SOURCES = test/dump_rva2.cxx \
- src/TagHandler.cxx
+test_dump_rva2_SOURCES = test/dump_rva2.cxx
endif
test_run_filter_LDADD = \
@@ -1251,7 +1250,6 @@ if ENABLE_ENCODER
noinst_PROGRAMS += test/run_encoder
test_run_encoder_SOURCES = test/run_encoder.cxx \
test/stdbin.h \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx \
src/CheckAudioFormat.cxx \
src/AudioFormat.cxx \
src/AudioParser.cxx
@@ -1270,7 +1268,6 @@ if ENABLE_VORBIS_ENCODER
noinst_PROGRAMS += test/test_vorbis_encoder
test_test_vorbis_encoder_SOURCES = test/test_vorbis_encoder.cxx \
test/stdbin.h \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx \
src/CheckAudioFormat.cxx \
src/AudioFormat.cxx \
src/AudioParser.cxx \
@@ -1280,6 +1277,7 @@ test_test_vorbis_encoder_CPPFLAGS = $(AM_CPPFLAGS) \
test_test_vorbis_encoder_LDADD = $(MPD_LIBS) \
$(ENCODER_LIBS) \
$(PCM_LIBS) \
+ $(TAG_LIBS) \
libconf.a \
libsystem.a \
libfs.a \
@@ -1320,6 +1318,7 @@ test_run_output_LDADD = $(MPD_LIBS) \
$(ENCODER_LIBS) \
libmixer_plugins.a \
$(FILTER_LIBS) \
+ $(TAG_LIBS) \
libconf.a \
libevent.a \
libfs.a \
@@ -1334,7 +1333,6 @@ test_run_output_SOURCES = test/run_output.cxx \
src/AudioFormat.cxx \
src/AudioParser.cxx \
src/Timer.cxx \
- src/Tag.cxx src/TagNames.c src/TagPool.cxx \
src/Page.cxx \
src/OutputError.cxx \
src/OutputInit.cxx src/OutputFinish.cxx src/OutputList.cxx \
diff --git a/src/AllCommands.cxx b/src/AllCommands.cxx
index acd7d263e..e02e6df15 100644
--- a/src/AllCommands.cxx
+++ b/src/AllCommands.cxx
@@ -28,7 +28,7 @@
#include "MessageCommands.hxx"
#include "OtherCommands.hxx"
#include "Permission.hxx"
-#include "Tag.hxx"
+#include "tag/TagType.h"
#include "protocol/Result.hxx"
#include "Client.hxx"
#include "util/Tokenizer.hxx"
diff --git a/src/CrossFade.cxx b/src/CrossFade.cxx
index 03b4b7918..db335651a 100644
--- a/src/CrossFade.cxx
+++ b/src/CrossFade.cxx
@@ -21,7 +21,6 @@
#include "CrossFade.hxx"
#include "MusicChunk.hxx"
#include "AudioFormat.hxx"
-#include "Tag.hxx"
#include <cmath>
diff --git a/src/DatabaseCommands.cxx b/src/DatabaseCommands.cxx
index abed30564..cc9e0937b 100644
--- a/src/DatabaseCommands.cxx
+++ b/src/DatabaseCommands.cxx
@@ -25,7 +25,7 @@
#include "DatabaseSelection.hxx"
#include "CommandError.hxx"
#include "ClientInternal.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/UriUtil.hxx"
#include "util/Error.hxx"
#include "SongFilter.hxx"
diff --git a/src/DatabaseHelpers.cxx b/src/DatabaseHelpers.cxx
index f2086e5d2..f250e447a 100644
--- a/src/DatabaseHelpers.cxx
+++ b/src/DatabaseHelpers.cxx
@@ -20,7 +20,7 @@
#include "DatabaseHelpers.hxx"
#include "DatabasePlugin.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <functional>
#include <set>
diff --git a/src/DatabaseHelpers.hxx b/src/DatabaseHelpers.hxx
index 479cc37c1..e666278f2 100644
--- a/src/DatabaseHelpers.hxx
+++ b/src/DatabaseHelpers.hxx
@@ -21,7 +21,7 @@
#define MPD_MEMORY_DATABASE_PLUGIN_HXX
#include "DatabaseVisitor.hxx"
-#include "TagType.h"
+#include "tag/TagType.h"
#include "gcc.h"
class Error;
diff --git a/src/DatabasePlugin.hxx b/src/DatabasePlugin.hxx
index c17bff63c..9bcbf49fd 100644
--- a/src/DatabasePlugin.hxx
+++ b/src/DatabasePlugin.hxx
@@ -27,7 +27,7 @@
#define MPD_DATABASE_PLUGIN_HXX
#include "DatabaseVisitor.hxx"
-#include "TagType.h"
+#include "tag/TagType.h"
#include "gcc.h"
struct config_param;
diff --git a/src/DatabasePrint.cxx b/src/DatabasePrint.cxx
index cc7bee9e2..c50c7686e 100644
--- a/src/DatabasePrint.cxx
+++ b/src/DatabasePrint.cxx
@@ -26,7 +26,7 @@
#include "TimePrint.hxx"
#include "Directory.hxx"
#include "Client.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "Song.hxx"
#include "DatabaseGlue.hxx"
#include "DatabasePlugin.hxx"
diff --git a/src/DatabaseSave.cxx b/src/DatabaseSave.cxx
index 4213fb9a0..100c9220e 100644
--- a/src/DatabaseSave.cxx
+++ b/src/DatabaseSave.cxx
@@ -25,8 +25,8 @@
#include "DirectorySave.hxx"
#include "Song.hxx"
#include "TextFile.hxx"
-#include "TagInternal.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
+#include "tag/TagInternal.hxx"
#include "fs/Path.hxx"
#include "util/Error.hxx"
diff --git a/src/DecoderAPI.hxx b/src/DecoderAPI.hxx
index d514ef7cc..ff7cdc27b 100644
--- a/src/DecoderAPI.hxx
+++ b/src/DecoderAPI.hxx
@@ -31,7 +31,7 @@
#include "DecoderCommand.hxx"
#include "DecoderPlugin.hxx"
#include "replay_gain_info.h"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "AudioFormat.hxx"
#include "ConfigData.hxx"
diff --git a/src/DecoderInternal.cxx b/src/DecoderInternal.cxx
index 6c703e227..c16124c3e 100644
--- a/src/DecoderInternal.cxx
+++ b/src/DecoderInternal.cxx
@@ -23,7 +23,7 @@
#include "MusicPipe.hxx"
#include "MusicBuffer.hxx"
#include "MusicChunk.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <assert.h>
diff --git a/src/DecoderThread.cxx b/src/DecoderThread.cxx
index e18b19409..a789cc30f 100644
--- a/src/DecoderThread.cxx
+++ b/src/DecoderThread.cxx
@@ -28,7 +28,7 @@
#include "Mapper.hxx"
#include "fs/Path.hxx"
#include "DecoderAPI.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "InputStream.hxx"
#include "DecoderList.hxx"
#include "util/UriUtil.hxx"
diff --git a/src/DespotifyUtils.cxx b/src/DespotifyUtils.cxx
index 863036464..3747ddbd9 100644
--- a/src/DespotifyUtils.cxx
+++ b/src/DespotifyUtils.cxx
@@ -18,7 +18,7 @@
*/
#include "DespotifyUtils.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "ConfigGlobal.hxx"
#include "ConfigOption.hxx"
diff --git a/src/EncoderAPI.hxx b/src/EncoderAPI.hxx
index b401192e2..b3397f25c 100644
--- a/src/EncoderAPI.hxx
+++ b/src/EncoderAPI.hxx
@@ -27,7 +27,7 @@
#include "EncoderPlugin.hxx"
#include "AudioFormat.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "ConfigData.hxx"
#endif
diff --git a/src/IcyMetaDataParser.cxx b/src/IcyMetaDataParser.cxx
index 6e1e18a51..d00833be1 100644
--- a/src/IcyMetaDataParser.cxx
+++ b/src/IcyMetaDataParser.cxx
@@ -19,7 +19,7 @@
#include "config.h"
#include "IcyMetaDataParser.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <glib.h>
diff --git a/src/IcyMetaDataServer.cxx b/src/IcyMetaDataServer.cxx
index d0ae0b77a..10d4ec94f 100644
--- a/src/IcyMetaDataServer.cxx
+++ b/src/IcyMetaDataServer.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "IcyMetaDataServer.hxx"
#include "Page.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <glib.h>
diff --git a/src/IcyMetaDataServer.hxx b/src/IcyMetaDataServer.hxx
index ee685adcf..a37239cd7 100644
--- a/src/IcyMetaDataServer.hxx
+++ b/src/IcyMetaDataServer.hxx
@@ -20,7 +20,7 @@
#ifndef MPD_ICY_META_DATA_SERVER_HXX
#define MPD_ICY_META_DATA_SERVER_HXX
-#include "TagType.h"
+#include "tag/TagType.h"
struct Tag;
class Page;
diff --git a/src/Main.cxx b/src/Main.cxx
index 73cae630f..511e136aa 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -38,7 +38,7 @@
#include "Partition.hxx"
#include "Volume.hxx"
#include "OutputAll.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "replay_gain_config.h"
#include "Idle.hxx"
#include "SignalHandlers.hxx"
diff --git a/src/MusicChunk.cxx b/src/MusicChunk.cxx
index fb9019988..9ffe4f509 100644
--- a/src/MusicChunk.cxx
+++ b/src/MusicChunk.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "MusicChunk.hxx"
#include "AudioFormat.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <assert.h>
diff --git a/src/OutputAPI.hxx b/src/OutputAPI.hxx
index cc7a0832d..73cbaf183 100644
--- a/src/OutputAPI.hxx
+++ b/src/OutputAPI.hxx
@@ -23,7 +23,7 @@
#include "OutputPlugin.hxx"
#include "OutputInternal.hxx"
#include "AudioFormat.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "ConfigData.hxx"
#endif
diff --git a/src/PlayerThread.cxx b/src/PlayerThread.cxx
index 7d8c2b563..83d9f55bd 100644
--- a/src/PlayerThread.cxx
+++ b/src/PlayerThread.cxx
@@ -30,7 +30,7 @@
#include "CrossFade.hxx"
#include "PlayerControl.hxx"
#include "OutputAll.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "Idle.hxx"
#include "GlobalEvents.hxx"
diff --git a/src/PlaylistSong.cxx b/src/PlaylistSong.cxx
index f4c5b7478..1bec30da9 100644
--- a/src/PlaylistSong.cxx
+++ b/src/PlaylistSong.cxx
@@ -23,7 +23,7 @@
#include "DatabasePlugin.hxx"
#include "DatabaseGlue.hxx"
#include "ls.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "fs/Path.hxx"
#include "util/UriUtil.hxx"
#include "util/Error.hxx"
diff --git a/src/Song.cxx b/src/Song.cxx
index 023d52071..5ee4c5545 100644
--- a/src/Song.cxx
+++ b/src/Song.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "Song.hxx"
#include "Directory.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <glib.h>
diff --git a/src/SongFilter.cxx b/src/SongFilter.cxx
index c928c793d..bab81b327 100644
--- a/src/SongFilter.cxx
+++ b/src/SongFilter.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "SongFilter.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <glib.h>
diff --git a/src/SongSave.cxx b/src/SongSave.cxx
index 7b89eccf4..d46eea6af 100644
--- a/src/SongSave.cxx
+++ b/src/SongSave.cxx
@@ -23,7 +23,7 @@
#include "TagSave.hxx"
#include "Directory.hxx"
#include "TextFile.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/StringUtil.hxx"
#include "util/Error.hxx"
#include "util/Domain.hxx"
diff --git a/src/SongSort.cxx b/src/SongSort.cxx
index 23ecc5ce5..f1eba0439 100644
--- a/src/SongSort.cxx
+++ b/src/SongSort.cxx
@@ -21,7 +21,7 @@
#include "SongSort.hxx"
#include "Song.hxx"
#include "util/list.h"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
extern "C" {
#include "util/list_sort.h"
diff --git a/src/SongUpdate.cxx b/src/SongUpdate.cxx
index f0dafc3a5..8e9768d55 100644
--- a/src/SongUpdate.cxx
+++ b/src/SongUpdate.cxx
@@ -25,11 +25,11 @@
#include "Mapper.hxx"
#include "fs/Path.hxx"
#include "fs/FileSystem.hxx"
-#include "Tag.hxx"
#include "InputStream.hxx"
#include "DecoderPlugin.hxx"
#include "DecoderList.hxx"
-#include "TagHandler.hxx"
+#include "tag/Tag.hxx"
+#include "tag/TagHandler.hxx"
#include "tag/TagId3.hxx"
#include "tag/ApeTag.hxx"
diff --git a/src/TagPrint.cxx b/src/TagPrint.cxx
index 18490792c..3285d63db 100644
--- a/src/TagPrint.cxx
+++ b/src/TagPrint.cxx
@@ -19,8 +19,8 @@
#include "config.h"
#include "TagPrint.hxx"
-#include "Tag.hxx"
-#include "TagInternal.hxx"
+#include "tag/Tag.hxx"
+#include "tag/TagInternal.hxx"
#include "Song.hxx"
#include "Client.hxx"
diff --git a/src/TagSave.cxx b/src/TagSave.cxx
index 4a9b98a90..b20d986c2 100644
--- a/src/TagSave.cxx
+++ b/src/TagSave.cxx
@@ -19,8 +19,7 @@
#include "config.h"
#include "TagSave.hxx"
-#include "Tag.hxx"
-#include "TagInternal.hxx"
+#include "tag/Tag.hxx"
#include "Song.hxx"
void
diff --git a/src/UpdateContainer.cxx b/src/UpdateContainer.cxx
index 44c961a2b..a24f38830 100644
--- a/src/UpdateContainer.cxx
+++ b/src/UpdateContainer.cxx
@@ -27,8 +27,8 @@
#include "DecoderPlugin.hxx"
#include "Mapper.hxx"
#include "fs/Path.hxx"
-#include "TagHandler.hxx"
-#include "Tag.hxx"
+#include "tag/TagHandler.hxx"
+#include "tag/Tag.hxx"
#include <glib.h>
diff --git a/src/cue/CueParser.cxx b/src/cue/CueParser.cxx
index e2ae6f2dd..584a77a81 100644
--- a/src/cue/CueParser.cxx
+++ b/src/cue/CueParser.cxx
@@ -21,7 +21,7 @@
#include "CueParser.hxx"
#include "util/StringUtil.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <glib.h>
diff --git a/src/db/ProxyDatabasePlugin.cxx b/src/db/ProxyDatabasePlugin.cxx
index fc8ea1535..6cf7af13f 100644
--- a/src/db/ProxyDatabasePlugin.cxx
+++ b/src/db/ProxyDatabasePlugin.cxx
@@ -27,7 +27,7 @@
#include "Song.hxx"
#include "gcc.h"
#include "ConfigData.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/Error.hxx"
#include "util/Domain.hxx"
diff --git a/src/decoder/AdPlugDecoderPlugin.cxx b/src/decoder/AdPlugDecoderPlugin.cxx
index f3b986fc8..51a3f7ea7 100644
--- a/src/decoder/AdPlugDecoderPlugin.cxx
+++ b/src/decoder/AdPlugDecoderPlugin.cxx
@@ -19,7 +19,7 @@
#include "config.h"
#include "AdPlugDecoderPlugin.h"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "DecoderAPI.hxx"
#include "CheckAudioFormat.hxx"
#include "util/Error.hxx"
diff --git a/src/decoder/AudiofileDecoderPlugin.cxx b/src/decoder/AudiofileDecoderPlugin.cxx
index d19249932..6b638bb3f 100644
--- a/src/decoder/AudiofileDecoderPlugin.cxx
+++ b/src/decoder/AudiofileDecoderPlugin.cxx
@@ -22,7 +22,7 @@
#include "DecoderAPI.hxx"
#include "InputStream.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "util/Error.hxx"
#include <audiofile.h>
diff --git a/src/decoder/DsdLib.cxx b/src/decoder/DsdLib.cxx
index b093d5d66..7135c9903 100644
--- a/src/decoder/DsdLib.cxx
+++ b/src/decoder/DsdLib.cxx
@@ -28,7 +28,7 @@
#include "DecoderAPI.hxx"
#include "InputStream.hxx"
#include "util/bit_reverse.h"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "tag/TagId3.hxx"
#include "util/Error.hxx"
diff --git a/src/decoder/DsdiffDecoderPlugin.cxx b/src/decoder/DsdiffDecoderPlugin.cxx
index 71226b8fb..49b0c601d 100644
--- a/src/decoder/DsdiffDecoderPlugin.cxx
+++ b/src/decoder/DsdiffDecoderPlugin.cxx
@@ -33,7 +33,7 @@
#include "CheckAudioFormat.hxx"
#include "util/bit_reverse.h"
#include "util/Error.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "DsdLib.hxx"
#include <unistd.h>
diff --git a/src/decoder/DsfDecoderPlugin.cxx b/src/decoder/DsfDecoderPlugin.cxx
index 5f2422e77..275f34929 100644
--- a/src/decoder/DsfDecoderPlugin.cxx
+++ b/src/decoder/DsfDecoderPlugin.cxx
@@ -35,7 +35,7 @@
#include "util/bit_reverse.h"
#include "util/Error.hxx"
#include "DsdLib.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include <unistd.h>
#include <stdio.h> /* for SEEK_SET, SEEK_CUR */
diff --git a/src/decoder/FaadDecoderPlugin.cxx b/src/decoder/FaadDecoderPlugin.cxx
index 7540413f5..c8acfb521 100644
--- a/src/decoder/FaadDecoderPlugin.cxx
+++ b/src/decoder/FaadDecoderPlugin.cxx
@@ -23,7 +23,7 @@
#include "DecoderBuffer.hxx"
#include "InputStream.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "util/Error.hxx"
#include "util/Domain.hxx"
diff --git a/src/decoder/FfmpegDecoderPlugin.cxx b/src/decoder/FfmpegDecoderPlugin.cxx
index b9297ae2a..a0ac5b8fb 100644
--- a/src/decoder/FfmpegDecoderPlugin.cxx
+++ b/src/decoder/FfmpegDecoderPlugin.cxx
@@ -24,7 +24,7 @@
#include "FfmpegDecoderPlugin.hxx"
#include "DecoderAPI.hxx"
#include "FfmpegMetaData.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "InputStream.hxx"
#include "CheckAudioFormat.hxx"
#include "util/Error.hxx"
diff --git a/src/decoder/FfmpegMetaData.cxx b/src/decoder/FfmpegMetaData.cxx
index 132eefdaf..f4b7386ef 100644
--- a/src/decoder/FfmpegMetaData.cxx
+++ b/src/decoder/FfmpegMetaData.cxx
@@ -23,7 +23,7 @@
#include "config.h"
#include "FfmpegMetaData.hxx"
#include "tag/TagTable.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#undef G_LOG_DOMAIN
#define G_LOG_DOMAIN "ffmpeg"
diff --git a/src/decoder/FlacMetadata.cxx b/src/decoder/FlacMetadata.cxx
index f3b5ba81c..a27fec5d2 100644
--- a/src/decoder/FlacMetadata.cxx
+++ b/src/decoder/FlacMetadata.cxx
@@ -20,8 +20,8 @@
#include "config.h"
#include "FlacMetadata.hxx"
#include "XiphTags.hxx"
-#include "Tag.hxx"
-#include "TagHandler.hxx"
+#include "tag/Tag.hxx"
+#include "tag/TagHandler.hxx"
#include "tag/TagTable.hxx"
#include "replay_gain_info.h"
diff --git a/src/decoder/GmeDecoderPlugin.cxx b/src/decoder/GmeDecoderPlugin.cxx
index 006161c78..cc31c6bab 100644
--- a/src/decoder/GmeDecoderPlugin.cxx
+++ b/src/decoder/GmeDecoderPlugin.cxx
@@ -21,7 +21,7 @@
#include "GmeDecoderPlugin.hxx"
#include "DecoderAPI.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "util/UriUtil.hxx"
#include "util/Error.hxx"
diff --git a/src/decoder/MadDecoderPlugin.cxx b/src/decoder/MadDecoderPlugin.cxx
index 88a451412..dc2d0b806 100644
--- a/src/decoder/MadDecoderPlugin.cxx
+++ b/src/decoder/MadDecoderPlugin.cxx
@@ -24,7 +24,7 @@
#include "ConfigGlobal.hxx"
#include "tag/TagId3.hxx"
#include "tag/TagRva2.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "CheckAudioFormat.hxx"
#include "util/Error.hxx"
diff --git a/src/decoder/MikmodDecoderPlugin.cxx b/src/decoder/MikmodDecoderPlugin.cxx
index 0de876f06..f98b22a6d 100644
--- a/src/decoder/MikmodDecoderPlugin.cxx
+++ b/src/decoder/MikmodDecoderPlugin.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "MikmodDecoderPlugin.hxx"
#include "DecoderAPI.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "system/FatalError.hxx"
#include <glib.h>
diff --git a/src/decoder/ModplugDecoderPlugin.cxx b/src/decoder/ModplugDecoderPlugin.cxx
index 0305b582d..b5c02507a 100644
--- a/src/decoder/ModplugDecoderPlugin.cxx
+++ b/src/decoder/ModplugDecoderPlugin.cxx
@@ -21,7 +21,7 @@
#include "ModplugDecoderPlugin.hxx"
#include "DecoderAPI.hxx"
#include "InputStream.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include <glib.h>
#include <modplug.h>
diff --git a/src/decoder/MpcdecDecoderPlugin.cxx b/src/decoder/MpcdecDecoderPlugin.cxx
index 87d868f19..d9c7a17d1 100644
--- a/src/decoder/MpcdecDecoderPlugin.cxx
+++ b/src/decoder/MpcdecDecoderPlugin.cxx
@@ -22,7 +22,7 @@
#include "DecoderAPI.hxx"
#include "InputStream.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "util/Error.hxx"
#include <mpc/mpcdec.h>
diff --git a/src/decoder/Mpg123DecoderPlugin.cxx b/src/decoder/Mpg123DecoderPlugin.cxx
index c30455121..a44fc1241 100644
--- a/src/decoder/Mpg123DecoderPlugin.cxx
+++ b/src/decoder/Mpg123DecoderPlugin.cxx
@@ -21,7 +21,7 @@
#include "Mpg123DecoderPlugin.hxx"
#include "DecoderAPI.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "util/Error.hxx"
#include <glib.h>
diff --git a/src/decoder/OpusDecoderPlugin.cxx b/src/decoder/OpusDecoderPlugin.cxx
index 2d378ef6c..9d852102b 100644
--- a/src/decoder/OpusDecoderPlugin.cxx
+++ b/src/decoder/OpusDecoderPlugin.cxx
@@ -27,7 +27,7 @@
#include "DecoderAPI.hxx"
#include "OggCodec.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "InputStream.hxx"
#include "util/Error.hxx"
diff --git a/src/decoder/OpusTags.cxx b/src/decoder/OpusTags.cxx
index a63dc1c24..f09d79c3b 100644
--- a/src/decoder/OpusTags.cxx
+++ b/src/decoder/OpusTags.cxx
@@ -21,7 +21,7 @@
#include "OpusTags.hxx"
#include "OpusReader.hxx"
#include "XiphTags.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include <stdint.h>
#include <string.h>
diff --git a/src/decoder/SndfileDecoderPlugin.cxx b/src/decoder/SndfileDecoderPlugin.cxx
index f61e7c2c2..252e88df5 100644
--- a/src/decoder/SndfileDecoderPlugin.cxx
+++ b/src/decoder/SndfileDecoderPlugin.cxx
@@ -22,7 +22,7 @@
#include "DecoderAPI.hxx"
#include "InputStream.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "util/Error.hxx"
#include <sndfile.h>
diff --git a/src/decoder/VorbisComments.cxx b/src/decoder/VorbisComments.cxx
index eb64897d1..48c603ea4 100644
--- a/src/decoder/VorbisComments.cxx
+++ b/src/decoder/VorbisComments.cxx
@@ -20,9 +20,9 @@
#include "config.h"
#include "VorbisComments.hxx"
#include "XiphTags.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "tag/TagTable.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "replay_gain_info.h"
#include <glib.h>
diff --git a/src/decoder/VorbisDecoderPlugin.cxx b/src/decoder/VorbisDecoderPlugin.cxx
index d6b0f5eb0..2b175912d 100644
--- a/src/decoder/VorbisDecoderPlugin.cxx
+++ b/src/decoder/VorbisDecoderPlugin.cxx
@@ -26,7 +26,7 @@
#include "util/Error.hxx"
#include "util/UriUtil.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#ifndef HAVE_TREMOR
#define OV_EXCLUDE_STATIC_CALLBACKS
diff --git a/src/decoder/WavpackDecoderPlugin.cxx b/src/decoder/WavpackDecoderPlugin.cxx
index f37bd3f12..d0122ad87 100644
--- a/src/decoder/WavpackDecoderPlugin.cxx
+++ b/src/decoder/WavpackDecoderPlugin.cxx
@@ -22,7 +22,7 @@
#include "DecoderAPI.hxx"
#include "InputStream.hxx"
#include "CheckAudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "tag/ApeTag.hxx"
#include "util/Error.hxx"
diff --git a/src/decoder/WildmidiDecoderPlugin.cxx b/src/decoder/WildmidiDecoderPlugin.cxx
index 738073d52..daa0e0cc9 100644
--- a/src/decoder/WildmidiDecoderPlugin.cxx
+++ b/src/decoder/WildmidiDecoderPlugin.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "WildmidiDecoderPlugin.hxx"
#include "DecoderAPI.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "util/Error.hxx"
#include "fs/Path.hxx"
#include "fs/FileSystem.hxx"
diff --git a/src/decoder/sidplay_decoder_plugin.cxx b/src/decoder/sidplay_decoder_plugin.cxx
index 4e26efecb..19969c00a 100644
--- a/src/decoder/sidplay_decoder_plugin.cxx
+++ b/src/decoder/sidplay_decoder_plugin.cxx
@@ -19,10 +19,7 @@
#include "config.h"
#include "../DecoderAPI.hxx"
-
-extern "C" {
-#include "TagHandler.hxx"
-}
+#include "tag/TagHandler.hxx"
#include <errno.h>
#include <stdlib.h>
diff --git a/src/encoder/VorbisEncoderPlugin.cxx b/src/encoder/VorbisEncoderPlugin.cxx
index 27a368766..65a4d47e2 100644
--- a/src/encoder/VorbisEncoderPlugin.cxx
+++ b/src/encoder/VorbisEncoderPlugin.cxx
@@ -21,7 +21,7 @@
#include "VorbisEncoderPlugin.hxx"
#include "OggStream.hxx"
#include "EncoderAPI.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "AudioFormat.hxx"
#include "ConfigError.hxx"
#include "util/Error.hxx"
diff --git a/src/input/CurlInputPlugin.cxx b/src/input/CurlInputPlugin.cxx
index cd4733973..fb0401fd8 100644
--- a/src/input/CurlInputPlugin.cxx
+++ b/src/input/CurlInputPlugin.cxx
@@ -24,7 +24,7 @@
#include "InputPlugin.hxx"
#include "ConfigGlobal.hxx"
#include "ConfigData.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "IcyMetaDataParser.hxx"
#include "event/MultiSocketMonitor.hxx"
#include "event/Call.hxx"
diff --git a/src/input/DespotifyInputPlugin.cxx b/src/input/DespotifyInputPlugin.cxx
index f2b87dbcc..4e441da3c 100644
--- a/src/input/DespotifyInputPlugin.cxx
+++ b/src/input/DespotifyInputPlugin.cxx
@@ -23,7 +23,7 @@
#include "InputInternal.hxx"
#include "InputStream.hxx"
#include "InputPlugin.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
extern "C" {
#include <despotify.h>
diff --git a/src/input/RewindInputPlugin.cxx b/src/input/RewindInputPlugin.cxx
index bd4f01261..4bf5421db 100644
--- a/src/input/RewindInputPlugin.cxx
+++ b/src/input/RewindInputPlugin.cxx
@@ -22,7 +22,7 @@
#include "InputInternal.hxx"
#include "InputStream.hxx"
#include "InputPlugin.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include <assert.h>
#include <string.h>
diff --git a/src/playlist/AsxPlaylistPlugin.cxx b/src/playlist/AsxPlaylistPlugin.cxx
index 6920ec268..19fa5a0fb 100644
--- a/src/playlist/AsxPlaylistPlugin.cxx
+++ b/src/playlist/AsxPlaylistPlugin.cxx
@@ -23,7 +23,7 @@
#include "MemorySongEnumerator.hxx"
#include "InputStream.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/Error.hxx"
#include <glib.h>
diff --git a/src/playlist/CuePlaylistPlugin.cxx b/src/playlist/CuePlaylistPlugin.cxx
index 1c1433a6a..0ec5c3068 100644
--- a/src/playlist/CuePlaylistPlugin.cxx
+++ b/src/playlist/CuePlaylistPlugin.cxx
@@ -21,7 +21,7 @@
#include "CuePlaylistPlugin.hxx"
#include "PlaylistPlugin.hxx"
#include "SongEnumerator.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "Song.hxx"
#include "cue/CueParser.hxx"
#include "TextInputStream.hxx"
diff --git a/src/playlist/DespotifyPlaylistPlugin.cxx b/src/playlist/DespotifyPlaylistPlugin.cxx
index 3e6527ea7..b0394a5da 100644
--- a/src/playlist/DespotifyPlaylistPlugin.cxx
+++ b/src/playlist/DespotifyPlaylistPlugin.cxx
@@ -22,7 +22,7 @@
#include "DespotifyUtils.hxx"
#include "PlaylistPlugin.hxx"
#include "MemorySongEnumerator.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "Song.hxx"
extern "C" {
diff --git a/src/playlist/EmbeddedCuePlaylistPlugin.cxx b/src/playlist/EmbeddedCuePlaylistPlugin.cxx
index 8c5309ac1..6b497d50c 100644
--- a/src/playlist/EmbeddedCuePlaylistPlugin.cxx
+++ b/src/playlist/EmbeddedCuePlaylistPlugin.cxx
@@ -27,8 +27,8 @@
#include "EmbeddedCuePlaylistPlugin.hxx"
#include "PlaylistPlugin.hxx"
#include "SongEnumerator.hxx"
-#include "Tag.hxx"
-#include "TagHandler.hxx"
+#include "tag/Tag.hxx"
+#include "tag/TagHandler.hxx"
#include "tag/TagId3.hxx"
#include "tag/ApeTag.hxx"
#include "Song.hxx"
diff --git a/src/playlist/ExtM3uPlaylistPlugin.cxx b/src/playlist/ExtM3uPlaylistPlugin.cxx
index ff3fcbd7e..177e8857d 100644
--- a/src/playlist/ExtM3uPlaylistPlugin.cxx
+++ b/src/playlist/ExtM3uPlaylistPlugin.cxx
@@ -22,7 +22,7 @@
#include "PlaylistPlugin.hxx"
#include "SongEnumerator.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/StringUtil.hxx"
#include "TextInputStream.hxx"
diff --git a/src/playlist/PlsPlaylistPlugin.cxx b/src/playlist/PlsPlaylistPlugin.cxx
index 946fe9c55..721f9adab 100644
--- a/src/playlist/PlsPlaylistPlugin.cxx
+++ b/src/playlist/PlsPlaylistPlugin.cxx
@@ -23,7 +23,7 @@
#include "MemorySongEnumerator.hxx"
#include "InputStream.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/Error.hxx"
#include <glib.h>
diff --git a/src/playlist/RssPlaylistPlugin.cxx b/src/playlist/RssPlaylistPlugin.cxx
index 97c0d806b..cd42606d6 100644
--- a/src/playlist/RssPlaylistPlugin.cxx
+++ b/src/playlist/RssPlaylistPlugin.cxx
@@ -23,7 +23,7 @@
#include "MemorySongEnumerator.hxx"
#include "InputStream.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/Error.hxx"
#include <glib.h>
diff --git a/src/playlist/SoundCloudPlaylistPlugin.cxx b/src/playlist/SoundCloudPlaylistPlugin.cxx
index f822382fc..e6dbf5cf9 100644
--- a/src/playlist/SoundCloudPlaylistPlugin.cxx
+++ b/src/playlist/SoundCloudPlaylistPlugin.cxx
@@ -24,7 +24,7 @@
#include "ConfigData.hxx"
#include "InputStream.hxx"
#include "Song.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/Error.hxx"
#include <glib.h>
diff --git a/src/playlist/XspfPlaylistPlugin.cxx b/src/playlist/XspfPlaylistPlugin.cxx
index 002a03f8a..797fd7f3a 100644
--- a/src/playlist/XspfPlaylistPlugin.cxx
+++ b/src/playlist/XspfPlaylistPlugin.cxx
@@ -22,7 +22,7 @@
#include "PlaylistPlugin.hxx"
#include "MemorySongEnumerator.hxx"
#include "InputStream.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/Error.hxx"
#include <glib.h>
diff --git a/src/Tag.cxx b/src/tag/Tag.cxx
index c960da537..c960da537 100644
--- a/src/Tag.cxx
+++ b/src/tag/Tag.cxx
diff --git a/src/Tag.hxx b/src/tag/Tag.hxx
index 2c5f599e2..2c5f599e2 100644
--- a/src/Tag.hxx
+++ b/src/tag/Tag.hxx
diff --git a/src/TagHandler.cxx b/src/tag/TagHandler.cxx
index 055fae49a..055fae49a 100644
--- a/src/TagHandler.cxx
+++ b/src/tag/TagHandler.cxx
diff --git a/src/TagHandler.hxx b/src/tag/TagHandler.hxx
index 3303dd27e..3303dd27e 100644
--- a/src/TagHandler.hxx
+++ b/src/tag/TagHandler.hxx
diff --git a/src/TagInternal.hxx b/src/tag/TagInternal.hxx
index 8172d1319..8172d1319 100644
--- a/src/TagInternal.hxx
+++ b/src/tag/TagInternal.hxx
diff --git a/src/TagNames.c b/src/tag/TagNames.c
index 2e318f913..2e318f913 100644
--- a/src/TagNames.c
+++ b/src/tag/TagNames.c
diff --git a/src/TagPool.cxx b/src/tag/TagPool.cxx
index 5a0b33c47..5a0b33c47 100644
--- a/src/TagPool.cxx
+++ b/src/tag/TagPool.cxx
diff --git a/src/TagPool.hxx b/src/tag/TagPool.hxx
index a6b28b355..a6b28b355 100644
--- a/src/TagPool.hxx
+++ b/src/tag/TagPool.hxx
diff --git a/src/TagType.h b/src/tag/TagType.h
index 7a1d351a5..7a1d351a5 100644
--- a/src/TagType.h
+++ b/src/tag/TagType.h
diff --git a/test/DumpDatabase.cxx b/test/DumpDatabase.cxx
index 03ea37ee6..3544826f2 100644
--- a/test/DumpDatabase.cxx
+++ b/test/DumpDatabase.cxx
@@ -26,7 +26,7 @@
#include "PlaylistVector.hxx"
#include "ConfigGlobal.hxx"
#include "ConfigData.hxx"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "fs/Path.hxx"
#include "util/Error.hxx"
diff --git a/test/dump_rva2.cxx b/test/dump_rva2.cxx
index 711786869..068faf252 100644
--- a/test/dump_rva2.cxx
+++ b/test/dump_rva2.cxx
@@ -18,11 +18,11 @@
*/
#include "config.h"
+#include "tag/Tag.hxx"
#include "tag/TagId3.hxx"
#include "tag/TagRva2.hxx"
#include "replay_gain_info.h"
#include "ConfigGlobal.hxx"
-#include "Tag.hxx"
#include "util/Error.hxx"
#include <id3tag.h>
diff --git a/test/read_tags.cxx b/test/read_tags.cxx
index dc7a6df65..de100134b 100644
--- a/test/read_tags.cxx
+++ b/test/read_tags.cxx
@@ -24,7 +24,7 @@
#include "InputInit.hxx"
#include "InputStream.hxx"
#include "AudioFormat.hxx"
-#include "TagHandler.hxx"
+#include "tag/TagHandler.hxx"
#include "tag/TagId3.hxx"
#include "tag/ApeTag.hxx"
#include "util/Error.hxx"
diff --git a/test/run_input.cxx b/test/run_input.cxx
index 9f44276f3..79b57536a 100644
--- a/test/run_input.cxx
+++ b/test/run_input.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "TagSave.hxx"
#include "stdbin.h"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "ConfigGlobal.hxx"
#include "InputStream.hxx"
#include "InputInit.hxx"
diff --git a/test/test_vorbis_encoder.cxx b/test/test_vorbis_encoder.cxx
index 676237ccb..1d95f6deb 100644
--- a/test/test_vorbis_encoder.cxx
+++ b/test/test_vorbis_encoder.cxx
@@ -23,7 +23,7 @@
#include "AudioFormat.hxx"
#include "ConfigData.hxx"
#include "stdbin.h"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "util/Error.hxx"
#include <stddef.h>
diff --git a/test/visit_archive.cxx b/test/visit_archive.cxx
index 68dfd1988..6e66c4696 100644
--- a/test/visit_archive.cxx
+++ b/test/visit_archive.cxx
@@ -19,7 +19,7 @@
#include "config.h"
#include "stdbin.h"
-#include "Tag.hxx"
+#include "tag/Tag.hxx"
#include "ConfigGlobal.hxx"
#include "IOThread.hxx"
#include "InputInit.hxx"