> > const & sort_list)
- {
- parents.sort (NodeSorter (sort_list));
- }
-
- private:
- DataPtr _data;
- WeakSelfPtr _self_ptr;
- };
-
- private:
- /* Sorts GraphNodes according to a list of DataNodes */
-
- template
- class NodeSorter {
- public:
- typedef list > > ListType;
-
- NodeSorter (ListType const & list) : list (list) {}
-
- bool operator() (GraphNode * one, GraphNode * other) // '<' operator
- {
- if (one == other) { return false; } // Strict weak ordering
- for (typename ListType::const_iterator it = list.begin(); it != list.end(); ++it) {
- if (it->get() == one) {
- return true;
- }
- if (it->get() == other) {
- return false;
- }
- }
-
- std::cerr << "Invalid comparison list given to NodeSorter" << std::endl;
-
- abort();
- }
-
- private:
- ListType const & list;
- };
-
-/*** Multiplication management ***/
- public:
-
- typedef DataNode TimespanNode;
- typedef std::shared_ptr TimespanNodePtr;
-
- typedef DataNode ChannelConfigNode;
- typedef std::shared_ptr ChannelConfigNodePtr;
-
- typedef DataNode FormatNode;
- typedef std::shared_ptr FormatNodePtr;
-
- typedef DataNode FilenameNode;
- typedef std::shared_ptr FilenameNodePtr;
-
- struct MultiplicationGraph {
- list timespans;
- list channel_configs;
- list formats;
- list filenames;
- };
-
- MultiplicationGraph const & get_graph () { return graph; }
-
- void split_node (GraphNode * node, float position);
- void remove_node (GraphNode * node);
-
- PBD::Signal GraphChanged;
-
- private:
-
- void purge_graph ();
-
- template
- static void insert_after (list & the_list, T const & position, T const & element);
-
- template
- static void remove_by_element (list & the_list, T const & element);
-
- bool nodes_have_one_common_child (list const & the_list);
- list::const_iterator end_of_common_child_range (list const & the_list, list::const_iterator beginning);
- void split_node_at_position (GraphNode * old_node, GraphNode * new_node, float position);
-
- void split_timespan (TimespanNodePtr node, float position = 0.5);
- void split_channel_config (ChannelConfigNodePtr node, float position = 0.5);
- void split_format (FormatNodePtr node, float position = 0.5);
- void split_filename (FilenameNodePtr node, float position = 0.5);
-
- void duplicate_timespan_children (TimespanNodePtr source, TimespanNodePtr target, GraphNode * insertion_point = 0);
- void duplicate_channel_config_children (ChannelConfigNodePtr source, ChannelConfigNodePtr target, GraphNode * insertion_point = 0);
- void duplicate_format_children (FormatNodePtr source, FormatNodePtr target, GraphNode * insertion_point = 0);
-
- TimespanNodePtr duplicate_timespan_node (TimespanNodePtr node);
- ChannelConfigNodePtr duplicate_channel_config_node (ChannelConfigNodePtr node);
- FormatNodePtr duplicate_format_node (FormatNodePtr node);
- FilenameNodePtr duplicate_filename_node (FilenameNodePtr node);
-
- void remove_timespan (TimespanNodePtr node);
- void remove_channel_config (ChannelConfigNodePtr node);
- void remove_format (FormatNodePtr node);
- void remove_filename (FilenameNodePtr node);
-
- MultiplicationGraph graph;
\ No newline at end of file
diff --git a/libs/ardour/ardour/midi_playlist.h b/libs/ardour/ardour/midi_playlist.h
index 1da9061a0e..7287c3dc35 100644
--- a/libs/ardour/ardour/midi_playlist.h
+++ b/libs/ardour/ardour/midi_playlist.h
@@ -44,7 +44,6 @@ class Beats;
namespace ARDOUR
{
-class BeatsSamplesConverter;
class MidiChannelFilter;
class MidiRegion;
class Session;
diff --git a/libs/ardour/ardour/soundseq.h b/libs/ardour/ardour/soundseq.h
deleted file mode 100644
index 2cf8bcc866..0000000000
--- a/libs/ardour/ardour/soundseq.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2007-2017 Paul Davis
- *
- * 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.
- */
-
-#pragma once
-
-#include "edl.h"
-
-namespace ARDOUR {
-
-typedef gint16 peak_datum;
-
-struct LIBARDOUR_API peak_data_t {
- peak_datum min;
- peak_datum max;
-};
-
-const uint32_t samples_per_peak = 2048;
-
-class LIBARDOUR_API Sound : public EDL::Piece {
- public:
- int peak (peak_data_t& pk, uint32_t start, uint32_t cnt);
- int read_peaks (peak_data_t *, uint32_t npeaks, uint32_t start, uint32_t cnt);
- int build_peak (uint32_t first_sample, uint32_t cnt);
-};
-
-class LIBARDOUR_API SoundPlaylist : public EDL::Playlist {
- public:
- int read_peaks (peak_data_t *, uint32_t npeaks, uint32_t start, uint32_t cnt);
-};
-
-} /* namespace ARDOUR */
-
-
-
-
diff --git a/libs/evoral/MSVCevoral/evoral.vcproj b/libs/evoral/MSVCevoral/evoral.vcproj
index 792a34cec9..00f8a2d041 100644
--- a/libs/evoral/MSVCevoral/evoral.vcproj
+++ b/libs/evoral/MSVCevoral/evoral.vcproj
@@ -483,10 +483,6 @@
RelativePath="..\evoral\midi_util.h"
>