From 05c91082e3de0b0078c26ddb9da68fd00da8c90e Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Fri, 4 Jan 2013 20:50:00 +0100
Subject: [PATCH] playlist: convert to C++

---
 Makefile.am                                   | 15 +++++-----
 src/DatabaseQueue.cxx                         |  6 +---
 src/Main.cxx                                  |  2 +-
 src/PlayerCommands.cxx                        |  2 +-
 src/{playlist.c => Playlist.cxx}              |  9 ++++--
 src/{playlist.h => Playlist.hxx}              |  8 ++---
 src/PlaylistCommands.cxx                      |  2 +-
 ...playlist_control.c => PlaylistControl.cxx} | 10 ++++---
 src/PlaylistEdit.cxx                          |  3 +-
 src/{playlist_global.c => PlaylistGlobal.cxx} |  9 ++++--
 ...aylist_internal.h => PlaylistInternal.hxx} |  8 ++---
 src/PlaylistPrint.cxx                         |  2 +-
 src/PlaylistQueue.cxx                         |  2 +-
 src/PlaylistSave.cxx                          |  4 +--
 src/PlaylistState.cxx                         |  4 +--
 src/{queue.c => Queue.cxx}                    | 30 +++++++++----------
 src/{queue.h => Queue.hxx}                    |  6 ++--
 src/QueueCommands.cxx                         |  2 +-
 src/QueuePrint.cxx                            |  4 +--
 src/QueueSave.cxx                             |  2 +-
 src/StateFile.cxx                             |  2 +-
 src/UpdateGlue.cxx                            |  4 +--
 src/UpdateRemove.cxx                          |  2 +-
 src/replay_gain_config.c                      |  4 +--
 test/TestQueuePriority.cxx                    |  4 +--
 test/run_filter.c                             |  4 +--
 test/run_output.cxx                           |  2 +-
 27 files changed, 77 insertions(+), 75 deletions(-)
 rename src/{playlist.c => Playlist.cxx} (99%)
 rename src/{playlist.h => Playlist.hxx} (98%)
 rename src/{playlist_control.c => PlaylistControl.cxx} (98%)
 rename src/{playlist_global.c => PlaylistGlobal.cxx} (93%)
 rename src/{playlist_internal.h => PlaylistInternal.hxx} (91%)
 rename src/{queue.c => Queue.cxx} (96%)
 rename src/{queue.h => Queue.hxx} (98%)

diff --git a/Makefile.am b/Makefile.am
index 0e76eb54f..e0ef76586 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -115,9 +115,9 @@ mpd_headers = \
 	src/output/httpd_internal.h \
 	src/page.h \
 	src/player_control.h \
-	src/playlist.h \
+	src/Playlist.hxx \
 	src/playlist_error.h \
-	src/playlist_internal.h \
+	src/PlaylistInternal.hxx \
 	src/playlist_plugin.h \
 	src/playlist_list.h \
 	src/playlist/extm3u_playlist_plugin.h \
@@ -132,7 +132,6 @@ mpd_headers = \
 	src/poison.h \
 	src/riff.h \
 	src/aiff.h \
-	src/queue.h \
 	src/refcount.h \
 	src/replay_gain_config.h \
 	src/replay_gain_info.h \
@@ -267,9 +266,9 @@ src_mpd_SOURCES = \
 	src/Permission.cxx src/Permission.hxx \
 	src/PlayerThread.cxx src/PlayerThread.hxx \
 	src/PlayerControl.cxx \
-	src/playlist.c \
-	src/playlist_global.c \
-	src/playlist_control.c \
+	src/Playlist.cxx \
+	src/PlaylistGlobal.cxx \
+	src/PlaylistControl.cxx \
 	src/PlaylistEdit.cxx \
 	src/PlaylistPrint.cxx src/PlaylistPrint.hxx \
 	src/PlaylistSave.cxx src/PlaylistSave.hxx \
@@ -281,7 +280,7 @@ src_mpd_SOURCES = \
 	src/PlaylistVector.cxx src/PlaylistVector.hxx \
 	src/PlaylistInfo.hxx \
 	src/PlaylistDatabase.cxx \
-	src/queue.c \
+	src/Queue.cxx src/Queue.hxx \
 	src/QueuePrint.cxx src/QueuePrint.hxx \
 	src/QueueSave.cxx src/QueueSave.hxx \
 	src/replay_gain_config.c \
@@ -1339,7 +1338,7 @@ test_test_pcm_LDADD = \
 	$(GLIB_LIBS)
 
 test_TestQueuePriority_SOURCES = \
-	src/queue.c \
+	src/Queue.cxx \
 	test/TestQueuePriority.cxx
 test_TestQueuePriority_LDADD = \
 	$(GLIB_LIBS)
diff --git a/src/DatabaseQueue.cxx b/src/DatabaseQueue.cxx
index 325748d02..0b4d2bcb7 100644
--- a/src/DatabaseQueue.cxx
+++ b/src/DatabaseQueue.cxx
@@ -20,13 +20,9 @@
 #include "config.h"
 #include "DatabaseQueue.hxx"
 #include "DatabaseSelection.hxx"
-
-extern "C" {
-#include "playlist.h"
-}
-
 #include "DatabaseGlue.hxx"
 #include "DatabasePlugin.hxx"
+#include "Playlist.hxx"
 
 #include <functional>
 
diff --git a/src/Main.cxx b/src/Main.cxx
index 2da1ca693..3340bf3de 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -20,6 +20,7 @@
 #include "config.h"
 #include "Main.hxx"
 #include "CommandLine.hxx"
+#include "Playlist.hxx"
 #include "PlaylistFile.hxx"
 #include "UpdateGlue.hxx"
 #include "MusicChunk.hxx"
@@ -38,7 +39,6 @@ extern "C" {
 #include "daemon.h"
 #include "io_thread.h"
 #include "idle.h"
-#include "playlist.h"
 #include "conf.h"
 #include "path.h"
 #include "player_control.h"
diff --git a/src/PlayerCommands.cxx b/src/PlayerCommands.cxx
index e4b5c145f..55bd83a13 100644
--- a/src/PlayerCommands.cxx
+++ b/src/PlayerCommands.cxx
@@ -20,6 +20,7 @@
 #include "config.h"
 #include "PlayerCommands.hxx"
 #include "CommandError.hxx"
+#include "Playlist.hxx"
 #include "PlaylistPrint.hxx"
 #include "UpdateGlue.hxx"
 #include "ClientInternal.hxx"
@@ -28,7 +29,6 @@
 
 extern "C" {
 #include "player_control.h"
-#include "playlist.h"
 #include "volume.h"
 #include "replay_gain_config.h"
 }
diff --git a/src/playlist.c b/src/Playlist.cxx
similarity index 99%
rename from src/playlist.c
rename to src/Playlist.cxx
index 2532d9d46..de2daf144 100644
--- a/src/playlist.c
+++ b/src/Playlist.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -18,11 +18,14 @@
  */
 
 #include "config.h"
-#include "playlist_internal.h"
-#include "player_control.h"
+#include "PlaylistInternal.hxx"
 #include "song.h"
+
+extern "C" {
+#include "player_control.h"
 #include "conf.h"
 #include "idle.h"
+}
 
 #include <glib.h>
 
diff --git a/src/playlist.h b/src/Playlist.hxx
similarity index 98%
rename from src/playlist.h
rename to src/Playlist.hxx
index a21bdf24a..3bbb112b7 100644
--- a/src/playlist.h
+++ b/src/Playlist.hxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -17,10 +17,10 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#ifndef MPD_PLAYLIST_H
-#define MPD_PLAYLIST_H
+#ifndef MPD_PLAYLIST_HXX
+#define MPD_PLAYLIST_HXX
 
-#include "queue.h"
+#include "Queue.hxx"
 #include "playlist_error.h"
 
 #include <stdbool.h>
diff --git a/src/PlaylistCommands.cxx b/src/PlaylistCommands.cxx
index d2defff3f..d8a9b5fc9 100644
--- a/src/PlaylistCommands.cxx
+++ b/src/PlaylistCommands.cxx
@@ -31,9 +31,9 @@
 #include "protocol/ArgParser.hxx"
 #include "protocol/Result.hxx"
 #include "ls.hxx"
+#include "Playlist.hxx"
 
 extern "C" {
-#include "playlist.h"
 #include "uri.h"
 }
 
diff --git a/src/playlist_control.c b/src/PlaylistControl.cxx
similarity index 98%
rename from src/playlist_control.c
rename to src/PlaylistControl.cxx
index 57cc428fe..464b25cfc 100644
--- a/src/playlist_control.c
+++ b/src/PlaylistControl.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -23,10 +23,12 @@
  */
 
 #include "config.h"
-#include "playlist_internal.h"
-#include "player_control.h"
+#include "PlaylistInternal.hxx"
 #include "song.h"
-#include "idle.h"
+
+extern "C" {
+#include "player_control.h"
+}
 
 #include <glib.h>
 
diff --git a/src/PlaylistEdit.cxx b/src/PlaylistEdit.cxx
index d44de0581..baf483427 100644
--- a/src/PlaylistEdit.cxx
+++ b/src/PlaylistEdit.cxx
@@ -24,8 +24,9 @@
  */
 
 #include "config.h"
+#include "PlaylistInternal.hxx"
+
 extern "C" {
-#include "playlist_internal.h"
 #include "player_control.h"
 #include "uri.h"
 #include "song.h"
diff --git a/src/playlist_global.c b/src/PlaylistGlobal.cxx
similarity index 93%
rename from src/playlist_global.c
rename to src/PlaylistGlobal.cxx
index e66febce0..91c571b6f 100644
--- a/src/playlist_global.c
+++ b/src/PlaylistGlobal.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -23,10 +23,13 @@
  */
 
 #include "config.h"
-#include "playlist.h"
-#include "event_pipe.h"
+#include "Playlist.hxx"
 #include "Main.hxx"
 
+extern "C" {
+#include "event_pipe.h"
+}
+
 struct playlist g_playlist;
 
 static void
diff --git a/src/playlist_internal.h b/src/PlaylistInternal.hxx
similarity index 91%
rename from src/playlist_internal.h
rename to src/PlaylistInternal.hxx
index 81b175176..f0cad8e68 100644
--- a/src/playlist_internal.h
+++ b/src/PlaylistInternal.hxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -22,10 +22,10 @@
  *
  */
 
-#ifndef PLAYLIST_INTERNAL_H
-#define PLAYLIST_INTERNAL_H
+#ifndef MPD_PLAYLIST_INTERNAL_HXX
+#define MPD_PLAYLIST_INTERNAL_HXX
 
-#include "playlist.h"
+#include "Playlist.hxx"
 
 struct player_control;
 
diff --git a/src/PlaylistPrint.cxx b/src/PlaylistPrint.cxx
index de17ac2c8..cbbd71bbd 100644
--- a/src/PlaylistPrint.cxx
+++ b/src/PlaylistPrint.cxx
@@ -22,6 +22,7 @@
 #include "PlaylistFile.hxx"
 #include "PlaylistAny.hxx"
 #include "PlaylistSong.hxx"
+#include "Playlist.hxx"
 #include "QueuePrint.hxx"
 #include "SongPrint.hxx"
 #include "DatabaseGlue.hxx"
@@ -31,7 +32,6 @@
 extern "C" {
 #include "playlist_list.h"
 #include "playlist_plugin.h"
-#include "playlist.h"
 #include "song.h"
 #include "input_stream.h"
 }
diff --git a/src/PlaylistQueue.cxx b/src/PlaylistQueue.cxx
index ad9739449..e75720315 100644
--- a/src/PlaylistQueue.cxx
+++ b/src/PlaylistQueue.cxx
@@ -22,9 +22,9 @@
 #include "playlist_plugin.h"
 #include "PlaylistAny.hxx"
 #include "PlaylistSong.hxx"
+#include "Playlist.hxx"
 
 extern "C" {
-#include "playlist.h"
 #include "song.h"
 #include "input_stream.h"
 }
diff --git a/src/PlaylistSave.cxx b/src/PlaylistSave.cxx
index 722ae9c83..7b88a8434 100644
--- a/src/PlaylistSave.cxx
+++ b/src/PlaylistSave.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2012 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -20,11 +20,11 @@
 #include "config.h"
 #include "PlaylistSave.hxx"
 #include "PlaylistFile.hxx"
+#include "Playlist.hxx"
 #include "song.h"
 #include "Mapper.hxx"
 
 extern "C" {
-#include "playlist.h"
 #include "path.h"
 #include "uri.h"
 #include "idle.h"
diff --git a/src/PlaylistState.cxx b/src/PlaylistState.cxx
index 1bb18250f..92aa62947 100644
--- a/src/PlaylistState.cxx
+++ b/src/PlaylistState.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -24,11 +24,11 @@
 
 #include "config.h"
 #include "PlaylistState.hxx"
+#include "Playlist.hxx"
 #include "QueueSave.hxx"
 #include "TextFile.hxx"
 
 extern "C" {
-#include "playlist.h"
 #include "player_control.h"
 #include "conf.h"
 }
diff --git a/src/queue.c b/src/Queue.cxx
similarity index 96%
rename from src/queue.c
rename to src/Queue.cxx
index 098cbcce9..485ffb1cc 100644
--- a/src/queue.c
+++ b/src/Queue.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
  */
 
 #include "config.h"
-#include "queue.h"
+#include "Queue.hxx"
 #include "song.h"
 
 #include <stdlib.h>
@@ -102,12 +102,11 @@ queue_append(struct queue *queue, struct song *song, uint8_t priority)
 
 	assert(!queue_is_full(queue));
 
-	queue->items[queue->length] = (struct queue_item){
-		.song = song_dup_detached(song),
-		.id = id,
-		.version = queue->version,
-		.priority = priority,
-	};
+	auto &item = queue->items[queue->length];
+	item.song = song_dup_detached(song);
+	item.id = id;
+	item.version = queue->version;
+	item.priority = priority;
 
 	queue->order[queue->length] = queue->length;
 	queue->id_to_position[id] = queue->length;
@@ -313,10 +312,11 @@ queue_init(struct queue *queue, unsigned max_length)
 	queue->consume = false;
 
 	queue->items = g_new(struct queue_item, max_length);
-	queue->order = g_malloc(sizeof(queue->order[0]) *
-				  max_length);
-	queue->id_to_position = g_malloc(sizeof(queue->id_to_position[0]) *
-				       max_length * QUEUE_HASH_MULT);
+	queue->order = (unsigned *)
+		g_malloc(sizeof(queue->order[0]) * max_length);
+	queue->id_to_position = (int *)
+		g_malloc(sizeof(queue->id_to_position[0]) *
+			 max_length * QUEUE_HASH_MULT);
 
 	for (unsigned i = 0; i < max_length * QUEUE_HASH_MULT; ++i)
 		queue->id_to_position[i] = -1;
@@ -355,9 +355,9 @@ static gint
 queue_item_compare_order_priority(gconstpointer av, gconstpointer bv,
 				  gpointer user_data)
 {
-	const struct queue *queue = user_data;
-	const unsigned *const ap = av;
-	const unsigned *const bp = bv;
+	const struct queue *queue = (const struct queue *)user_data;
+	const unsigned *const ap = (const unsigned *)av;
+	const unsigned *const bp = (const unsigned *)bv;
 	assert(ap >= queue->order && ap < queue->order + queue->length);
 	assert(bp >= queue->order && bp < queue->order + queue->length);
 	uint8_t a = queue->items[*ap].priority;
diff --git a/src/queue.h b/src/Queue.hxx
similarity index 98%
rename from src/queue.h
rename to src/Queue.hxx
index e4bfcdffa..4c6d5ea11 100644
--- a/src/queue.h
+++ b/src/Queue.hxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -17,8 +17,8 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#ifndef QUEUE_H
-#define QUEUE_H
+#ifndef MPD_QUEUE_HXX
+#define MPD_QUEUE_HXX
 
 #include <glib.h>
 
diff --git a/src/QueueCommands.cxx b/src/QueueCommands.cxx
index 8a13075a5..af3ad60c8 100644
--- a/src/QueueCommands.cxx
+++ b/src/QueueCommands.cxx
@@ -22,6 +22,7 @@
 #include "CommandError.hxx"
 #include "DatabaseQueue.hxx"
 #include "SongFilter.hxx"
+#include "Playlist.hxx"
 #include "PlaylistPrint.hxx"
 #include "ClientFile.hxx"
 #include "ClientInternal.hxx"
@@ -30,7 +31,6 @@
 #include "ls.hxx"
 
 extern "C" {
-#include "playlist.h"
 #include "uri.h"
 }
 
diff --git a/src/QueuePrint.cxx b/src/QueuePrint.cxx
index bd49f92ec..289ae26b8 100644
--- a/src/QueuePrint.cxx
+++ b/src/QueuePrint.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2012 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -19,13 +19,13 @@
 
 #include "config.h"
 #include "QueuePrint.hxx"
+#include "Queue.hxx"
 #include "SongFilter.hxx"
 #include "SongPrint.hxx"
 #include "Mapper.hxx"
 #include "Client.hxx"
 
 extern "C" {
-#include "queue.h"
 #include "song.h"
 }
 
diff --git a/src/QueueSave.cxx b/src/QueueSave.cxx
index 6ba48f336..a667bc855 100644
--- a/src/QueueSave.cxx
+++ b/src/QueueSave.cxx
@@ -19,6 +19,7 @@
 
 #include "config.h"
 #include "QueueSave.hxx"
+#include "Playlist.hxx"
 #include "song.h"
 #include "SongSave.hxx"
 #include "DatabasePlugin.hxx"
@@ -26,7 +27,6 @@
 #include "TextFile.hxx"
 
 extern "C" {
-#include "queue.h"
 #include "uri.h"
 }
 
diff --git a/src/StateFile.cxx b/src/StateFile.cxx
index cd344eb0e..db6635025 100644
--- a/src/StateFile.cxx
+++ b/src/StateFile.cxx
@@ -20,7 +20,7 @@
 #include "config.h"
 #include "StateFile.hxx"
 #include "OutputState.hxx"
-#include "playlist.h"
+#include "Playlist.hxx"
 #include "PlaylistState.hxx"
 #include "TextFile.hxx"
 
diff --git a/src/UpdateGlue.cxx b/src/UpdateGlue.cxx
index f5664893b..cb1600d4f 100644
--- a/src/UpdateGlue.cxx
+++ b/src/UpdateGlue.cxx
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -24,9 +24,9 @@
 #include "UpdateRemove.hxx"
 #include "Mapper.hxx"
 #include "DatabaseSimple.hxx"
+#include "Playlist.hxx"
 
 extern "C" {
-#include "playlist.h"
 #include "event_pipe.h"
 #include "idle.h"
 #include "stats.h"
diff --git a/src/UpdateRemove.cxx b/src/UpdateRemove.cxx
index c88eec42a..814c803b2 100644
--- a/src/UpdateRemove.cxx
+++ b/src/UpdateRemove.cxx
@@ -19,10 +19,10 @@
 
 #include "config.h" /* must be first for large file support */
 #include "UpdateRemove.hxx"
+#include "Playlist.hxx"
 
 extern "C" {
 #include "event_pipe.h"
-#include "playlist.h"
 }
 
 #include "song.h"
diff --git a/src/replay_gain_config.c b/src/replay_gain_config.c
index 2181387b7..3988e497a 100644
--- a/src/replay_gain_config.c
+++ b/src/replay_gain_config.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -19,7 +19,7 @@
 
 #include "config.h"
 #include "replay_gain_config.h"
-#include "playlist.h"
+#include "Playlist.hxx"
 #include "conf.h"
 #include "idle.h"
 #include "mpd_error.h"
diff --git a/test/TestQueuePriority.cxx b/test/TestQueuePriority.cxx
index 6d994176f..b187176e7 100644
--- a/test/TestQueuePriority.cxx
+++ b/test/TestQueuePriority.cxx
@@ -1,7 +1,5 @@
 #include "config.h"
-extern "C" {
-#include "queue.h"
-}
+#include "Queue.hxx"
 #include "song.h"
 #include "Directory.hxx"
 
diff --git a/test/run_filter.c b/test/run_filter.c
index 8e793b768..6a2cd1ea2 100644
--- a/test/run_filter.c
+++ b/test/run_filter.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2011 The Music Player Daemon Project
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
  * http://www.musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -25,7 +25,7 @@
 #include "pcm_volume.h"
 #include "idle.h"
 #include "mixer_control.h"
-#include "playlist.h"
+#include "Playlist.hxx"
 #include "stdbin.h"
 
 #include <glib.h>
diff --git a/test/run_output.cxx b/test/run_output.cxx
index 2b0fdd5f0..9307256ab 100644
--- a/test/run_output.cxx
+++ b/test/run_output.cxx
@@ -32,7 +32,7 @@ extern "C" {
 #include "idle.h"
 }
 
-#include "playlist.h"
+#include "Playlist.hxx"
 #include "player_control.h"
 #include "stdbin.h"