From 1e2cda923970057cfab700422ec27f94e7458c25 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 21 Oct 2013 23:40:52 +0200 Subject: Partition: add methods TagModified(), SyncWithPlayer() Move code from class Instance. --- Makefile.am | 2 +- src/Instance.cxx | 4 ++-- src/Partition.cxx | 33 +++++++++++++++++++++++++++++++++ src/Partition.hxx | 11 +++++++++++ 4 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 src/Partition.cxx diff --git a/Makefile.am b/Makefile.am index 4a649ba4b..ecc86d904 100644 --- a/Makefile.am +++ b/Makefile.am @@ -159,7 +159,7 @@ src_mpd_SOURCES = \ src/MusicChunk.cxx src/MusicChunk.hxx \ src/Mapper.cxx src/Mapper.hxx \ src/Page.cxx src/Page.hxx \ - src/Partition.hxx \ + src/Partition.cxx src/Partition.hxx \ src/Permission.cxx src/Permission.hxx \ src/PlayerThread.cxx src/PlayerThread.hxx \ src/PlayerControl.cxx src/PlayerControl.hxx \ diff --git a/src/Instance.cxx b/src/Instance.cxx index 9982e5826..eeae85b44 100644 --- a/src/Instance.cxx +++ b/src/Instance.cxx @@ -38,11 +38,11 @@ Instance::DatabaseModified() void Instance::TagModified() { - partition->playlist.TagChanged(); + partition->TagModified(); } void Instance::SyncWithPlayer() { - partition->playlist.SyncWithPlayer(partition->pc); + partition->SyncWithPlayer(); } diff --git a/src/Partition.cxx b/src/Partition.cxx new file mode 100644 index 000000000..e2bbe19d8 --- /dev/null +++ b/src/Partition.cxx @@ -0,0 +1,33 @@ +/* + * 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 + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" +#include "Partition.hxx" + +void +Partition::TagModified() +{ + playlist.TagChanged(); +} + +void +Partition::SyncWithPlayer() +{ + playlist.SyncWithPlayer(pc); +} diff --git a/src/Partition.hxx b/src/Partition.hxx index f6315eade..23c5745ec 100644 --- a/src/Partition.hxx +++ b/src/Partition.hxx @@ -165,6 +165,17 @@ struct Partition { void SetConsume(bool new_value) { playlist.SetConsume(new_value); } + + /** + * A tag in the play queue has been modified. Propagate the + * change to all subsystems. + */ + void TagModified(); + + /** + * Synchronize the player with the play queue. + */ + void SyncWithPlayer(); }; #endif -- cgit v1.2.3