aboutsummaryrefslogtreecommitdiffstats
path: root/src/PlaylistState.cxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/PlaylistState.cxx45
1 files changed, 23 insertions, 22 deletions
diff --git a/src/PlaylistState.cxx b/src/PlaylistState.cxx
index ac2deebbf..f5c798e3e 100644
--- a/src/PlaylistState.cxx
+++ b/src/PlaylistState.cxx
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2013 The Music Player Daemon Project
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -26,17 +26,16 @@
#include "PlaylistState.hxx"
#include "PlaylistError.hxx"
#include "Playlist.hxx"
-#include "QueueSave.hxx"
-#include "TextFile.hxx"
+#include "queue/QueueSave.hxx"
+#include "fs/TextFile.hxx"
#include "PlayerControl.hxx"
-#include "ConfigGlobal.hxx"
-#include "ConfigOption.hxx"
+#include "config/ConfigGlobal.hxx"
+#include "config/ConfigOption.hxx"
#include "fs/Limits.hxx"
#include "util/CharUtil.hxx"
+#include "util/StringUtil.hxx"
#include "Log.hxx"
-#include <glib.h>
-
#include <string.h>
#include <stdlib.h>
@@ -104,7 +103,8 @@ playlist_state_save(FILE *fp, const struct playlist &playlist,
}
static void
-playlist_state_load(TextFile &file, struct playlist &playlist)
+playlist_state_load(TextFile &file, const SongLoader &song_loader,
+ struct playlist &playlist)
{
const char *line = file.ReadLine();
if (line == nullptr) {
@@ -112,8 +112,8 @@ playlist_state_load(TextFile &file, struct playlist &playlist)
return;
}
- while (!g_str_has_prefix(line, PLAYLIST_STATE_FILE_PLAYLIST_END)) {
- queue_load_song(file, line, playlist.queue);
+ while (!StringStartsWith(line, PLAYLIST_STATE_FILE_PLAYLIST_END)) {
+ queue_load_song(file, song_loader, line, playlist.queue);
line = file.ReadLine();
if (line == nullptr) {
@@ -129,13 +129,14 @@ playlist_state_load(TextFile &file, struct playlist &playlist)
bool
playlist_state_restore(const char *line, TextFile &file,
+ const SongLoader &song_loader,
struct playlist &playlist, PlayerControl &pc)
{
int current = -1;
int seek_time = 0;
bool random_mode = false;
- if (!g_str_has_prefix(line, PLAYLIST_STATE_FILE_STATE))
+ if (!StringStartsWith(line, PLAYLIST_STATE_FILE_STATE))
return false;
line += sizeof(PLAYLIST_STATE_FILE_STATE) - 1;
@@ -149,42 +150,42 @@ playlist_state_restore(const char *line, TextFile &file,
state = PlayerState::STOP;
while ((line = file.ReadLine()) != nullptr) {
- if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_TIME)) {
+ if (StringStartsWith(line, PLAYLIST_STATE_FILE_TIME)) {
seek_time =
atoi(&(line[strlen(PLAYLIST_STATE_FILE_TIME)]));
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_REPEAT)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_REPEAT)) {
playlist.SetRepeat(pc,
strcmp(&(line[strlen(PLAYLIST_STATE_FILE_REPEAT)]),
"1") == 0);
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_SINGLE)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_SINGLE)) {
playlist.SetSingle(pc,
strcmp(&(line[strlen(PLAYLIST_STATE_FILE_SINGLE)]),
"1") == 0);
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_CONSUME)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_CONSUME)) {
playlist.SetConsume(strcmp(&(line[strlen(PLAYLIST_STATE_FILE_CONSUME)]),
"1") == 0);
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_CROSSFADE)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_CROSSFADE)) {
pc.SetCrossFade(atoi(line + strlen(PLAYLIST_STATE_FILE_CROSSFADE)));
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_MIXRAMPDB)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_MIXRAMPDB)) {
pc.SetMixRampDb(atof(line + strlen(PLAYLIST_STATE_FILE_MIXRAMPDB)));
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_MIXRAMPDELAY)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_MIXRAMPDELAY)) {
const char *p = line + strlen(PLAYLIST_STATE_FILE_MIXRAMPDELAY);
/* this check discards "nan" which was used
prior to MPD 0.18 */
if (IsDigitASCII(*p))
pc.SetMixRampDelay(atof(p));
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_RANDOM)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_RANDOM)) {
random_mode =
strcmp(line + strlen(PLAYLIST_STATE_FILE_RANDOM),
"1") == 0;
- } else if (g_str_has_prefix(line, PLAYLIST_STATE_FILE_CURRENT)) {
+ } else if (StringStartsWith(line, PLAYLIST_STATE_FILE_CURRENT)) {
current = atoi(&(line
[strlen
(PLAYLIST_STATE_FILE_CURRENT)]));
- } else if (g_str_has_prefix(line,
+ } else if (StringStartsWith(line,
PLAYLIST_STATE_FILE_PLAYLIST_BEGIN)) {
- playlist_state_load(file, playlist);
+ playlist_state_load(file, song_loader, playlist);
}
}