summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-19 20:26:31 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-19 20:26:31 +0000
commitaae367b63c9b619db1e40f27dc334c6987219481 (patch)
tree142f6ffed6bb749e24a06343587cad6b966888bd /libs/ardour
parent67460c2af45d0455e64623572480c064445c2e5b (diff)
use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/ardour.h4
-rw-r--r--libs/ardour/ardour/audioengine.h18
-rw-r--r--libs/ardour/ardour/audiofilesource.h2
-rw-r--r--libs/ardour/ardour/audioplaylist.h2
-rw-r--r--libs/ardour/ardour/audiosource.h6
-rw-r--r--libs/ardour/ardour/automation_list.h10
-rw-r--r--libs/ardour/ardour/bundle.h4
-rw-r--r--libs/ardour/ardour/configuration.h4
-rw-r--r--libs/ardour/ardour/crossfade.h4
-rw-r--r--libs/ardour/ardour/delivery.h8
-rw-r--r--libs/ardour/ardour/diskstream.h20
-rw-r--r--libs/ardour/ardour/element_importer.h6
-rw-r--r--libs/ardour/ardour/export.h2
-rw-r--r--libs/ardour/ardour/export_channel.h2
-rw-r--r--libs/ardour/ardour/export_channel_configuration.h2
-rw-r--r--libs/ardour/ardour/export_format_base.h4
-rw-r--r--libs/ardour/ardour/export_format_manager.h4
-rw-r--r--libs/ardour/ardour/export_formats.h10
-rw-r--r--libs/ardour/ardour/export_handler.h6
-rw-r--r--libs/ardour/ardour/export_multiplication.h4
-rw-r--r--libs/ardour/ardour/export_processor.h2
-rw-r--r--libs/ardour/ardour/export_profile_manager.h2
-rw-r--r--libs/ardour/ardour/export_status.h6
-rw-r--r--libs/ardour/ardour/export_timespan.h2
-rw-r--r--libs/ardour/ardour/internal_return.h2
-rw-r--r--libs/ardour/ardour/internal_send.h2
-rw-r--r--libs/ardour/ardour/io.h10
-rw-r--r--libs/ardour/ardour/io_processor.h4
-rw-r--r--libs/ardour/ardour/location.h20
-rw-r--r--libs/ardour/ardour/meter.h8
-rw-r--r--libs/ardour/ardour/midi_model.h2
-rw-r--r--libs/ardour/ardour/midi_patch_manager.h2
-rw-r--r--libs/ardour/ardour/midi_source.h4
-rw-r--r--libs/ardour/ardour/midi_ui.h2
-rw-r--r--libs/ardour/ardour/mute_master.h2
-rw-r--r--libs/ardour/ardour/named_selection.h2
-rw-r--r--libs/ardour/ardour/panner.h10
-rw-r--r--libs/ardour/ardour/playlist.h15
-rw-r--r--libs/ardour/ardour/playlist_factory.h2
-rw-r--r--libs/ardour/ardour/plugin.h2
-rw-r--r--libs/ardour/ardour/plugin_insert.h2
-rw-r--r--libs/ardour/ardour/plugin_manager.h2
-rw-r--r--libs/ardour/ardour/port.h4
-rw-r--r--libs/ardour/ardour/processor.h6
-rw-r--r--libs/ardour/ardour/region.h13
-rw-r--r--libs/ardour/ardour/region_factory.h2
-rw-r--r--libs/ardour/ardour/route.h38
-rw-r--r--libs/ardour/ardour/route_group.h8
-rw-r--r--libs/ardour/ardour/route_group_member.h2
-rw-r--r--libs/ardour/ardour/session.h102
-rw-r--r--libs/ardour/ardour/session_handle.h2
-rw-r--r--libs/ardour/ardour/session_object.h4
-rw-r--r--libs/ardour/ardour/session_playlists.h2
-rw-r--r--libs/ardour/ardour/slave.h6
-rw-r--r--libs/ardour/ardour/sndfilesource.h1
-rw-r--r--libs/ardour/ardour/source.h8
-rw-r--r--libs/ardour/ardour/source_factory.h2
-rw-r--r--libs/ardour/ardour/tempo.h2
-rw-r--r--libs/ardour/ardour/ticker.h2
-rw-r--r--libs/ardour/ardour/track.h6
-rw-r--r--libs/ardour/audio_diskstream.cc2
-rw-r--r--libs/ardour/audio_playlist.cc8
-rw-r--r--libs/ardour/audio_track.cc4
-rw-r--r--libs/ardour/audioengine.cc6
-rw-r--r--libs/ardour/audiofilesource.cc2
-rw-r--r--libs/ardour/audioregion.cc18
-rw-r--r--libs/ardour/audiosource.cc4
-rw-r--r--libs/ardour/auditioner.cc2
-rw-r--r--libs/ardour/automation_list.cc2
-rw-r--r--libs/ardour/delivery.cc22
-rw-r--r--libs/ardour/diskstream.cc14
-rw-r--r--libs/ardour/element_importer.cc4
-rw-r--r--libs/ardour/export_channel.cc2
-rw-r--r--libs/ardour/export_format_manager.cc12
-rw-r--r--libs/ardour/export_formats.cc12
-rw-r--r--libs/ardour/export_handler.cc8
-rw-r--r--libs/ardour/export_processor.cc2
-rw-r--r--libs/ardour/globals.cc2
-rw-r--r--libs/ardour/internal_return.cc6
-rw-r--r--libs/ardour/internal_send.cc6
-rw-r--r--libs/ardour/io.cc10
-rw-r--r--libs/ardour/meter.cc34
-rw-r--r--libs/ardour/midi_clock_slave.cc20
-rw-r--r--libs/ardour/midi_diskstream.cc2
-rw-r--r--libs/ardour/midi_region.cc14
-rw-r--r--libs/ardour/midi_source.cc2
-rw-r--r--libs/ardour/midi_track.cc2
-rw-r--r--libs/ardour/midi_ui.cc2
-rw-r--r--libs/ardour/mtc_slave.cc12
-rw-r--r--libs/ardour/named_selection.cc2
-rw-r--r--libs/ardour/playlist.cc5
-rw-r--r--libs/ardour/playlist_factory.cc2
-rw-r--r--libs/ardour/processor.cc2
-rw-r--r--libs/ardour/region.cc8
-rw-r--r--libs/ardour/region_factory.cc2
-rw-r--r--libs/ardour/route.cc14
-rw-r--r--libs/ardour/route_group.cc2
-rw-r--r--libs/ardour/session.cc74
-rw-r--r--libs/ardour/session_export.cc6
-rw-r--r--libs/ardour/session_handle.cc6
-rw-r--r--libs/ardour/session_midi.cc32
-rw-r--r--libs/ardour/session_playlists.cc2
-rw-r--r--libs/ardour/session_state.cc28
-rw-r--r--libs/ardour/sndfilesource.cc3
-rw-r--r--libs/ardour/source_factory.cc2
-rw-r--r--libs/ardour/ticker.cc10
106 files changed, 413 insertions, 460 deletions
diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h
index 1333b58d6f..aaae8ba1c9 100644
--- a/libs/ardour/ardour/ardour.h
+++ b/libs/ardour/ardour/ardour.h
@@ -26,7 +26,7 @@
#include <limits.h>
#include <signal.h>
-#include <boost/signals2.hpp>
+#include "pbd/signals.h"
#include "pbd/error.h"
#include "pbd/failed_constructor.h"
@@ -46,7 +46,7 @@ namespace ARDOUR {
class AudioEngine;
static const nframes_t max_frames = JACK_MAX_FRAMES;
- extern boost::signals2::signal<void(std::string)> BootMessage;
+ extern PBD::Signal1<void,std::string> BootMessage;
int init (bool with_vst, bool try_optimization);
void init_post_engine ();
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h
index ac367ddd64..b22ca9790f 100644
--- a/libs/ardour/ardour/audioengine.h
+++ b/libs/ardour/ardour/audioengine.h
@@ -30,7 +30,7 @@
#include <glibmm/thread.h>
#include "pbd/rcu.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/ardour.h"
#include <jack/jack.h>
@@ -187,32 +187,32 @@ class AudioEngine : public SessionHandlePtr
_ the regular process() call to session->process() is not made.
*/
- boost::signals2::signal<int(nframes_t)> Freewheel;
+ PBD::Signal1<int,nframes_t> Freewheel;
- boost::signals2::signal<void()> Xrun;
+ PBD::Signal0<void> Xrun;
/* this signal is if JACK notifies us of a graph order event */
- boost::signals2::signal<void()> GraphReordered;
+ PBD::Signal0<void> GraphReordered;
/* this signal is emitted if the sample rate changes */
- boost::signals2::signal<void(nframes_t)> SampleRateChanged;
+ PBD::Signal1<void,nframes_t> SampleRateChanged;
/* this signal is sent if JACK ever disconnects us */
- boost::signals2::signal<void()> Halted;
+ PBD::Signal0<void> Halted;
/* these two are emitted when the engine itself is
started and stopped
*/
- boost::signals2::signal<void()> Running;
- boost::signals2::signal<void()> Stopped;
+ PBD::Signal0<void> Running;
+ PBD::Signal0<void> Stopped;
/* this signal is emitted if a JACK port is registered or unregistered */
- boost::signals2::signal<void()> PortRegisteredOrUnregistered;
+ PBD::Signal0<void> PortRegisteredOrUnregistered;
std::string make_port_name_relative (std::string);
std::string make_port_name_non_relative (std::string);
diff --git a/libs/ardour/ardour/audiofilesource.h b/libs/ardour/ardour/audiofilesource.h
index 3312bc889d..f0710843f8 100644
--- a/libs/ardour/ardour/audiofilesource.h
+++ b/libs/ardour/ardour/audiofilesource.h
@@ -84,7 +84,7 @@ public:
static void set_bwf_serial_number (int);
static void set_header_position_offset (nframes_t offset );
- static boost::signals2::signal<void()> HeaderPositionOffsetChanged;
+ static PBD::Signal0<void> HeaderPositionOffsetChanged;
protected:
/** Constructor to be called for existing external-to-session files */
diff --git a/libs/ardour/ardour/audioplaylist.h b/libs/ardour/ardour/audioplaylist.h
index 927ccfbe11..9dd133cbc0 100644
--- a/libs/ardour/ardour/audioplaylist.h
+++ b/libs/ardour/ardour/audioplaylist.h
@@ -52,7 +52,7 @@ class AudioPlaylist : public ARDOUR::Playlist
int set_state (const XMLNode&, int version);
- boost::signals2::signal<void(boost::shared_ptr<Crossfade>)> NewCrossfade;
+ PBD::Signal1<void,boost::shared_ptr<Crossfade> > NewCrossfade;
void foreach_crossfade (boost::function<void (boost::shared_ptr<Crossfade>)>);
void crossfades_at (nframes_t frame, Crossfades&);
diff --git a/libs/ardour/ardour/audiosource.h b/libs/ardour/ardour/audiosource.h
index dfa103f2e3..4f46451907 100644
--- a/libs/ardour/ardour/audiosource.h
+++ b/libs/ardour/ardour/audiosource.h
@@ -72,10 +72,10 @@ class AudioSource : virtual public Source,
sframes_t start, nframes_t cnt, double samples_per_visual_peak) const;
int build_peaks ();
- bool peaks_ready (boost::function<void()> callWhenReady, boost::signals2::connection& connection_established_if_not_ready) const;
+ bool peaks_ready (boost::function<void()> callWhenReady, PBD::Connection& connection_created_if_not_ready) const;
- mutable boost::signals2::signal<void()> PeaksReady;
- mutable boost::signals2::signal<void(nframes_t,nframes_t)> PeakRangeReady;
+ mutable PBD::Signal0<void> PeaksReady;
+ mutable PBD::Signal2<void,nframes_t,nframes_t> PeakRangeReady;
XMLNode& get_state ();
int set_state (const XMLNode&, int version);
diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h
index c75abda0b7..1778771c5f 100644
--- a/libs/ardour/ardour/automation_list.h
+++ b/libs/ardour/ardour/automation_list.h
@@ -56,11 +56,11 @@ class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlL
void set_automation_state (AutoState);
AutoState automation_state() const { return _state; }
- boost::signals2::signal<void()> automation_state_changed;
+ PBD::Signal0<void> automation_state_changed;
void set_automation_style (AutoStyle m);
AutoStyle automation_style() const { return _style; }
- boost::signals2::signal<void()> automation_style_changed;
+ PBD::Signal0<void> automation_style_changed;
bool automation_playback() const {
return (_state & Play) || ((_state & Touch) && !_touching);
@@ -69,10 +69,10 @@ class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlL
return (_state & Write) || ((_state & Touch) && _touching);
}
- boost::signals2::signal<void()> StateChanged;
+ PBD::Signal0<void> StateChanged;
- static boost::signals2::signal<void(AutomationList*)> AutomationListCreated;
- mutable boost::signals2::signal<void()> Dirty;
+ static PBD::Signal1<void,AutomationList*> AutomationListCreated;
+ mutable PBD::Signal0<void> Dirty;
void start_touch ();
void stop_touch ();
diff --git a/libs/ardour/ardour/bundle.h b/libs/ardour/ardour/bundle.h
index 662c3799a5..cc2ee19155 100644
--- a/libs/ardour/ardour/bundle.h
+++ b/libs/ardour/ardour/bundle.h
@@ -25,7 +25,7 @@
#include <glibmm/thread.h>
#include <boost/shared_ptr.hpp>
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/data_type.h"
@@ -120,7 +120,7 @@ class Bundle : public PBD::ScopedConnectionList
DirectionChanged = 0x10 ///< the direction (whether ports are inputs or outputs) has changed
};
- boost::signals2::signal<void(Change)> Changed;
+ PBD::Signal1<void,Change> Changed;
protected:
diff --git a/libs/ardour/ardour/configuration.h b/libs/ardour/ardour/configuration.h
index 1c82309d87..14a43e160c 100644
--- a/libs/ardour/ardour/configuration.h
+++ b/libs/ardour/ardour/configuration.h
@@ -21,7 +21,7 @@
#define __ardour_configuration_h__
#include <boost/function.hpp>
-#include <boost/signals2.hpp>
+#include "pbd/signals.h"
#include "pbd/stateful.h"
#include "ardour/configuration_variable.h"
@@ -41,7 +41,7 @@ class Configuration : public PBD::Stateful
virtual XMLNode & get_variables () = 0;
virtual void set_variables (XMLNode const &) = 0;
- boost::signals2::signal<void(std::string)> ParameterChanged;
+ PBD::Signal1<void,std::string> ParameterChanged;
};
} // namespace ARDOUR
diff --git a/libs/ardour/ardour/crossfade.h b/libs/ardour/ardour/crossfade.h
index 1a492b742b..5e25bbe00d 100644
--- a/libs/ardour/ardour/crossfade.h
+++ b/libs/ardour/ardour/crossfade.h
@@ -105,8 +105,8 @@ class Crossfade : public ARDOUR::AudioRegion
nframes_t overlap_length() const;
- boost::signals2::signal<void(boost::shared_ptr<Region>)> Invalidated;
- boost::signals2::signal<void(Change)> StateChanged;
+ PBD::Signal1<void,boost::shared_ptr<Region> > Invalidated;
+ PBD::Signal1<void,Change> StateChanged;
bool covers (nframes_t frame) const {
return _position <= frame && frame < _position + _length;
diff --git a/libs/ardour/ardour/delivery.h b/libs/ardour/ardour/delivery.h
index 7a5931c5fb..a7ccd96a2d 100644
--- a/libs/ardour/ardour/delivery.h
+++ b/libs/ardour/ardour/delivery.h
@@ -85,9 +85,9 @@ public:
BufferSet& output_buffers() { return *_output_buffers; }
- boost::signals2::signal<void()> MuteChange;
+ PBD::Signal0<void> MuteChange;
- static boost::signals2::signal<void(nframes_t)> CycleStart;
+ static PBD::Signal1<void,nframes_t> CycleStart;
XMLNode& state (bool full);
int set_state (const XMLNode&, int version);
@@ -120,10 +120,10 @@ public:
boost::shared_ptr<Panner> _panner;
static bool panners_legal;
- static boost::signals2::signal<int()> PannersLegal;
+ static PBD::Signal0<int> PannersLegal;
int panners_became_legal ();
- boost::signals2::scoped_connection panner_legal_c;
+ PBD::ScopedConnection panner_legal_c;
void output_changed (IOChange, void*);
gain_t target_gain ();
diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h
index a9664daa32..85e3071021 100644
--- a/libs/ardour/ardour/diskstream.h
+++ b/libs/ardour/ardour/diskstream.h
@@ -49,7 +49,7 @@ class Region;
class Route;
class Session;
-class Diskstream : public SessionObject, public boost::noncopyable
+class Diskstream : public SessionObject
{
public:
enum Flag {
@@ -143,15 +143,15 @@ class Diskstream : public SessionObject, public boost::noncopyable
void move_processor_automation (boost::weak_ptr<Processor>,
std::list< Evoral::RangeMove<nframes_t> > const &);
- boost::signals2::signal<void()> RecordEnableChanged;
- boost::signals2::signal<void()> SpeedChanged;
- boost::signals2::signal<void()> ReverseChanged;
- boost::signals2::signal<void()> PlaylistChanged;
- boost::signals2::signal<void()> AlignmentStyleChanged;
- boost::signals2::signal<void(Location *)> LoopSet;
+ PBD::Signal0<void> RecordEnableChanged;
+ PBD::Signal0<void> SpeedChanged;
+ PBD::Signal0<void> ReverseChanged;
+ PBD::Signal0<void> PlaylistChanged;
+ PBD::Signal0<void> AlignmentStyleChanged;
+ PBD::Signal1<void,Location *> LoopSet;
- static boost::signals2::signal<void()> DiskOverrun;
- static boost::signals2::signal<void()> DiskUnderrun;
+ static PBD::Signal0<void> DiskOverrun;
+ static PBD::Signal0<void> DiskUnderrun;
protected:
friend class Session;
@@ -306,7 +306,7 @@ class Diskstream : public SessionObject, public boost::noncopyable
PBD::ScopedConnectionList playlist_connections;
- boost::signals2::scoped_connection ic_connection;
+ PBD::ScopedConnection ic_connection;
Flag _flags;
diff --git a/libs/ardour/ardour/element_importer.h b/libs/ardour/ardour/element_importer.h
index d728a4b989..8ffa3b90ba 100644
--- a/libs/ardour/ardour/element_importer.h
+++ b/libs/ardour/ardour/element_importer.h
@@ -24,7 +24,7 @@
#include <string>
#include <utility>
-#include <boost/signals2.hpp>
+#include "pbd/signals.h"
#include "ardour/types.h"
class XMLTree;
@@ -72,10 +72,10 @@ class ElementImporter
bool broken () { return _broken; }
/// Signal that requests for anew name
- static boost::signals2::signal <std::pair<bool, std::string> (std::string, std::string)> Rename;
+ static PBD::Signal2<std::pair<bool, std::string>,std::string, std::string> Rename;
/// Signal for ok/cancel prompting
- static boost::signals2::signal <bool(std::string)> Prompt;
+ static PBD::Signal1<bool,std::string> Prompt;
protected:
diff --git a/libs/ardour/ardour/export.h b/libs/ardour/ardour/export.h
index 055168118d..ee533d4c6d 100644
--- a/libs/ardour/ardour/export.h
+++ b/libs/ardour/ardour/export.h
@@ -84,7 +84,7 @@ namespace ARDOUR
SRC_STATE* src_state;
nframes_t pos;
- boost::signals2::scoped_connection freewheel_connection;
+ PBD::ScopedConnection freewheel_connection;
/* shared between UI thread and audio thread */
diff --git a/libs/ardour/ardour/export_channel.h b/libs/ardour/ardour/export_channel.h
index 4a2f74b775..73e3406869 100644
--- a/libs/ardour/ardour/export_channel.h
+++ b/libs/ardour/ardour/export_channel.h
@@ -123,7 +123,7 @@ class RegionExportChannelFactory
Sample * mixdown_buffer;
Sample * gain_buffer;
- boost::signals2::scoped_connection export_connection;
+ PBD::ScopedConnection export_connection;
};
/// Export channel that reads from region channel
diff --git a/libs/ardour/ardour/export_channel_configuration.h b/libs/ardour/ardour/export_channel_configuration.h
index b8d7fa6bf1..9ca49f452d 100644
--- a/libs/ardour/ardour/export_channel_configuration.h
+++ b/libs/ardour/ardour/export_channel_configuration.h
@@ -95,7 +95,7 @@ class ExportChannelConfiguration
/// Writes all files for this channel config @return true if a new thread was spawned
bool write_files (boost::shared_ptr<ExportProcessor> new_processor);
- boost::signals2::signal<void()> FilesWritten;
+ PBD::Signal0<void> FilesWritten;
// Tells the handler the necessary information for it to handle tempfiles
void register_with_timespan (TimespanPtr timespan);
diff --git a/libs/ardour/ardour/export_format_base.h b/libs/ardour/ardour/export_format_base.h
index ceb11a2cc9..dceb943e62 100644
--- a/libs/ardour/ardour/export_format_base.h
+++ b/libs/ardour/ardour/export_format_base.h
@@ -115,8 +115,8 @@ class ExportFormatBase {
: _selected (false), _compatible (true) { }
~SelectableCompatible () {}
- boost::signals2::signal<void(bool)> SelectChanged;
- boost::signals2::signal<void(bool)> CompatibleChanged;
+ PBD::Signal1<void,bool> SelectChanged;
+ PBD::Signal1<void,bool> CompatibleChanged;
bool selected () const { return _selected; }
bool compatible () const { return _compatible; }
diff --git a/libs/ardour/ardour/export_format_manager.h b/libs/ardour/ardour/export_format_manager.h
index 52463350fe..0d1a0310d9 100644
--- a/libs/ardour/ardour/export_format_manager.h
+++ b/libs/ardour/ardour/export_format_manager.h
@@ -27,7 +27,7 @@
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/export_formats.h"
@@ -92,7 +92,7 @@ class ExportFormatManager : public PBD::ScopedConnectionList
/* Signals */
- boost::signals2::signal<void(bool)> CompleteChanged;
+ PBD::Signal1<void,bool> CompleteChanged;
/* Access to lists */
diff --git a/libs/ardour/ardour/export_formats.h b/libs/ardour/ardour/export_formats.h
index 3ef207097b..03585f79a9 100644
--- a/libs/ardour/ardour/export_formats.h
+++ b/libs/ardour/ardour/export_formats.h
@@ -25,7 +25,7 @@
#include <boost/weak_ptr.hpp>
#include "pbd/failed_constructor.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/export_format_base.h"
#include "ardour/export_format_compatibility.h"
@@ -128,11 +128,11 @@ class HasSampleFormat : public PBD::ScopedConnectionList {
/* Proxies for signals from sample formats and dither types */
- boost::signals2::signal<void(bool, WeakSampleFormatPtr)> SampleFormatSelectChanged;
- boost::signals2::signal<void(bool, WeakSampleFormatPtr)> SampleFormatCompatibleChanged;
+ PBD::Signal2<void,bool, WeakSampleFormatPtr> SampleFormatSelectChanged;
+ PBD::Signal2<void,bool, WeakSampleFormatPtr> SampleFormatCompatibleChanged;
- boost::signals2::signal<void(bool, WeakDitherTypePtr)> DitherTypeSelectChanged;
- boost::signals2::signal<void(bool, WeakDitherTypePtr)> DitherTypeCompatibleChanged;
+ PBD::Signal2<void,bool, WeakDitherTypePtr> DitherTypeSelectChanged;
+ PBD::Signal2<void,bool, WeakDitherTypePtr> DitherTypeCompatibleChanged;
static std::string get_sample_format_name (ExportFormatBase::SampleFormat format);
diff --git a/libs/ardour/ardour/export_handler.h b/libs/ardour/ardour/export_handler.h
index ded6ed5b02..bbf1f7e208 100644
--- a/libs/ardour/ardour/export_handler.h
+++ b/libs/ardour/ardour/export_handler.h
@@ -118,8 +118,8 @@ class ExportHandler : public ExportElementFactory
bool realtime;
- boost::signals2::scoped_connection files_written_connection;
- boost::signals2::scoped_connection export_read_finished_connection;
+ PBD::ScopedConnection files_written_connection;
+ PBD::ScopedConnection export_read_finished_connection;
std::list<Glib::ustring> files_written;
void add_file (const Glib::ustring&);
@@ -177,7 +177,7 @@ class ExportHandler : public ExportElementFactory
TimespanPtr current_timespan;
ConfigMap::iterator current_map_it;
TimespanBounds timespan_bounds;
- boost::signals2::scoped_connection channel_config_connection;
+ PBD::ScopedConnection channel_config_connection;
};
diff --git a/libs/ardour/ardour/export_multiplication.h b/libs/ardour/ardour/export_multiplication.h
index aace72cc42..eb90e62c47 100644
--- a/libs/ardour/ardour/export_multiplication.h
+++ b/libs/ardour/ardour/export_multiplication.h
@@ -36,7 +36,7 @@
bool selected () const { return _selected; }
void select (bool value);
- boost::signals2::signal<void(bool)> SelectChanged;
+ PBD::Signal1<void,bool> SelectChanged;
protected:
@@ -151,7 +151,7 @@
void split_node (GraphNode * node, float position);
void remove_node (GraphNode * node);
- boost::signals2::signal<void()> GraphChanged;
+ PBD::Signal0<void> GraphChanged;
private:
diff --git a/libs/ardour/ardour/export_processor.h b/libs/ardour/ardour/export_processor.h
index 8e7918d7c5..493dd3231f 100644
--- a/libs/ardour/ardour/export_processor.h
+++ b/libs/ardour/ardour/export_processor.h
@@ -80,7 +80,7 @@ class ExportProcessor
void write_files ();
- static boost::signals2::signal<void(const Glib::ustring&)> WritingFile;
+ static PBD::Signal1<void,const Glib::ustring&> WritingFile;
private:
diff --git a/libs/ardour/ardour/export_profile_manager.h b/libs/ardour/ardour/export_profile_manager.h
index 30bb3c5b91..a29979460f 100644
--- a/libs/ardour/ardour/export_profile_manager.h
+++ b/libs/ardour/ardour/export_profile_manager.h
@@ -206,7 +206,7 @@ class ExportProfileManager
void remove_format_profile (FormatPtr format);
FormatPtr get_new_format (FormatPtr original);
- boost::signals2::signal<void()> FormatListChanged;
+ PBD::Signal0<void> FormatListChanged;
private:
diff --git a/libs/ardour/ardour/export_status.h b/libs/ardour/ardour/export_status.h
index 9fd3c84ecc..1613fffe52 100644
--- a/libs/ardour/ardour/export_status.h
+++ b/libs/ardour/ardour/export_status.h
@@ -22,7 +22,7 @@
#define __ardour_export_status_h__
#include <list>
-#include <boost/signals2.hpp>
+#include "pbd/signals.h"
#include <stdint.h>
@@ -46,12 +46,12 @@ struct ExportStatus {
volatile bool stop;
volatile bool running;
- boost::signals2::signal<void()> Aborting;
+ PBD::Signal0<void> Aborting;
void abort (bool error_occurred = false);
bool aborted () const { return _aborted; }
bool errors () const { return _errors; }
- boost::signals2::signal<void()> Finished;
+ PBD::Signal0<void> Finished;
void finish ();
bool finished () const { return _finished; }
diff --git a/libs/ardour/ardour/export_timespan.h b/libs/ardour/ardour/export_timespan.h
index 461caf6dd8..7b7ae7cd99 100644
--- a/libs/ardour/ardour/export_timespan.h
+++ b/libs/ardour/ardour/export_timespan.h
@@ -69,7 +69,7 @@ class ExportTimespan
/// Reads data from each channel and writes to tempfile
int process (nframes_t frames);
- boost::signals2::scoped_connection process_connection;
+ PBD::ScopedConnection process_connection;
void set_range (nframes_t start, nframes_t end);
nframes_t get_length () const { return end_frame - start_frame; }
diff --git a/libs/ardour/ardour/internal_return.h b/libs/ardour/ardour/internal_return.h
index 498c9f3605..c5facebef6 100644
--- a/libs/ardour/ardour/internal_return.h
+++ b/libs/ardour/ardour/internal_return.h
@@ -47,7 +47,7 @@ class InternalReturn : public Return
BufferSet* get_buffers();
void release_buffers();
- static boost::signals2::signal<void(nframes_t)> CycleStart;
+ static PBD::Signal1<void,nframes_t> CycleStart;
private:
BufferSet buffers;
diff --git a/libs/ardour/ardour/internal_send.h b/libs/ardour/ardour/internal_send.h
index 7573efd685..2171462ab7 100644
--- a/libs/ardour/ardour/internal_send.h
+++ b/libs/ardour/ardour/internal_send.h
@@ -53,7 +53,7 @@ class InternalSend : public Send
BufferSet* target;
boost::shared_ptr<Route> _send_to;
PBD::ID _send_to_id;
- boost::signals2::scoped_connection connect_c;
+ PBD::ScopedConnection connect_c;
void send_to_going_away ();
void send_to_name_changed ();
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index eeb7ed64f0..b718cfa5c9 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -132,7 +132,7 @@ class IO : public SessionObject, public Latent
const ChanCount& n_ports () const { return _ports.count(); }
- boost::signals2::signal<void(IOChange,void*)> changed;
+ PBD::Signal2<void,IOChange,void*> changed;
virtual XMLNode& state (bool full);
XMLNode& get_state (void);
@@ -144,7 +144,7 @@ class IO : public SessionObject, public Latent
static int disable_ports (void);
static int enable_ports (void);
- static boost::signals2::signal<void(ChanCount)> PortCountChanged; // emitted when the number of ports changes
+ static PBD::Signal1<void,ChanCount> PortCountChanged; // emitted when the number of ports changes
static std::string name_from_state (const XMLNode&);
static void set_name_in_state (XMLNode&, const std::string&);
@@ -152,7 +152,7 @@ class IO : public SessionObject, public Latent
/* we have to defer/order port connection. this is how we do it.
*/
- static boost::signals2::signal<int()> ConnectingLegal;
+ static PBD::Signal0<int> ConnectingLegal;
static bool connecting_legal;
XMLNode *pending_state_node;
@@ -180,14 +180,14 @@ class IO : public SessionObject, public Latent
private:
int connecting_became_legal ();
- boost::signals2::scoped_connection connection_legal_c;
+ PBD::ScopedConnection connection_legal_c;
boost::shared_ptr<Bundle> _bundle; ///< a bundle representing our ports
struct UserBundleInfo {
UserBundleInfo (IO*, boost::shared_ptr<UserBundle> b);
boost::shared_ptr<UserBundle> bundle;
- boost::signals2::scoped_connection changed;
+ PBD::ScopedConnection changed;
};
std::vector<UserBundleInfo*> _bundles_connected; ///< user bundles connected to our ports
diff --git a/libs/ardour/ardour/io_processor.h b/libs/ardour/ardour/io_processor.h
index e4a42a80e2..2acf7337a7 100644
--- a/libs/ardour/ardour/io_processor.h
+++ b/libs/ardour/ardour/io_processor.h
@@ -67,8 +67,8 @@ class IOProcessor : public Processor
virtual bool feeds (boost::shared_ptr<Route> other) const;
- boost::signals2::signal<void(IOProcessor*,bool)> AutomationPlaybackChanged;
- boost::signals2::signal<void(IOProcessor*,uint32_t)> AutomationChanged;
+ PBD::Signal2<void,IOProcessor*,bool> AutomationPlaybackChanged;
+ PBD::Signal2<void,IOProcessor*,uint32_t> AutomationChanged;
XMLNode& state (bool full_state);
int set_state (const XMLNode&, int version);
diff --git a/libs/ardour/ardour/location.h b/libs/ardour/ardour/location.h
index b50a645a93..1f2b80c831 100644
--- a/libs/ardour/ardour/location.h
+++ b/libs/ardour/ardour/location.h
@@ -108,15 +108,15 @@ class Location : public PBD::StatefulDestructible
bool is_range_marker() const { return _flags & IsRangeMarker; }
bool matches (Flags f) const { return _flags & f; }
- boost::signals2::signal<void(Location*)> name_changed;
- boost::signals2::signal<void(Location*)> end_changed;
- boost::signals2::signal<void(Location*)> start_changed;
+ PBD::Signal1<void,Location*> name_changed;
+ PBD::Signal1<void,Location*> end_changed;
+ PBD::Signal1<void,Location*> start_changed;
- boost::signals2::signal<void(Location*,void*)> FlagsChanged;
+ PBD::Signal2<void,Location*,void*> FlagsChanged;
/* this is sent only when both start&end change at the same time */
- boost::signals2::signal<void(Location*)> changed;
+ PBD::Signal1<void,Location*> changed;
/* CD Track / CD-Text info */
@@ -175,11 +175,11 @@ class Locations : public PBD::StatefulDestructible
void find_all_between (nframes64_t start, nframes64_t, LocationList&, Location::Flags);
- boost::signals2::signal<void(Location*)> current_changed;
- boost::signals2::signal<void()> changed;
- boost::signals2::signal<void(Location*)> added;
- boost::signals2::signal<void(Location*)> removed;
- boost::signals2::signal<void(Change)> StateChanged;
+ PBD::Signal1<void,Location*> current_changed;
+ PBD::Signal0<void> changed;
+ PBD::Signal1<void,Location*> added;
+ PBD::Signal1<void,Location*> removed;
+ PBD::Signal1<void,Change> StateChanged;
template<class T> void apply (T& obj, void (T::*method)(LocationList&)) {
Glib::Mutex::Lock lm (lock);
diff --git a/libs/ardour/ardour/meter.h b/libs/ardour/ardour/meter.h
index 1f5e3307d6..2a283c0c64 100644
--- a/libs/ardour/ardour/meter.h
+++ b/libs/ardour/ardour/meter.h
@@ -22,6 +22,7 @@
#include <vector>
#include "ardour/types.h"
#include "ardour/processor.h"
+#include "pbd/signals.h"
#include "pbd/fastlog.h"
namespace ARDOUR {
@@ -33,16 +34,11 @@ class Session;
class Metering {
public:
static void update_meters ();
- static boost::signals2::signal<void()> Meter;
-
- static boost::signals2::connection connect (boost::function<void()>);
- static void disconnect (boost::signals2::connection& c);
+ static PBD::Signal0<void> Meter;
private:
/* this object is not meant to be instantiated */
Metering();
-
- static Glib::StaticMutex m_meter_signal_lock;
};
/** Meters peaks on the input and stores them for access.
diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h
index 9961b51528..3cf64da6ea 100644
--- a/libs/ardour/ardour/midi_model.h
+++ b/libs/ardour/ardour/midi_model.h
@@ -158,7 +158,7 @@ public:
XMLNode& get_state();
int set_state(const XMLNode&) { return 0; }
- boost::signals2::signal<void()> ContentsChanged;
+ PBD::Signal0<void> ContentsChanged;
const MidiSource* midi_source() const { return _midi_source; }
void set_midi_source(MidiSource* source) { _midi_source = source; }
diff --git a/libs/ardour/ardour/midi_patch_manager.h b/libs/ardour/ardour/midi_patch_manager.h
index 8c4ff43d5c..f352009ba7 100644
--- a/libs/ardour/ardour/midi_patch_manager.h
+++ b/libs/ardour/ardour/midi_patch_manager.h
@@ -22,7 +22,7 @@
#define MIDI_PATCH_MANAGER_H_
#include "midi++/midnam_patch.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/session_handle.h"
namespace ARDOUR {
diff --git a/libs/ardour/ardour/midi_source.h b/libs/ardour/ardour/midi_source.h
index 74448991d9..7b867c70fd 100644
--- a/libs/ardour/ardour/midi_source.h
+++ b/libs/ardour/ardour/midi_source.h
@@ -86,10 +86,10 @@ class MidiSource : virtual public Source
uint32_t read_data_count() const { return _read_data_count; }
uint32_t write_data_count() const { return _write_data_count; }
- static boost::signals2::signal<void(MidiSource*)> MidiSourceCreated;
+ static PBD::Signal1<void,MidiSource*> MidiSourceCreated;
// Signal a range of recorded data is available for reading from model()
- mutable boost::signals2::signal<void(sframes_t,nframes_t)> ViewDataRangeReady;
+ mutable PBD::Signal2<void,sframes_t,nframes_t> ViewDataRangeReady;
XMLNode& get_state ();
int set_state (const XMLNode&, int version);
diff --git a/libs/ardour/ardour/midi_ui.h b/libs/ardour/ardour/midi_ui.h
index 0ecf1b0589..869d7ab708 100644
--- a/libs/ardour/ardour/midi_ui.h
+++ b/libs/ardour/ardour/midi_ui.h
@@ -42,7 +42,7 @@ class MidiControlUI : public AbstractUI<MidiUIRequest>
typedef std::list<GSource*> PortSources;
PortSources port_sources;
ARDOUR::Session& _session;
- boost::signals2::scoped_connection rebind_connection;
+ PBD::ScopedConnection rebind_connection;
bool midi_input_handler (Glib::IOCondition, MIDI::Port*);
void reset_ports ();
diff --git a/libs/ardour/ardour/mute_master.h b/libs/ardour/ardour/mute_master.h
index a76775c710..afc1037e42 100644
--- a/libs/ardour/ardour/mute_master.h
+++ b/libs/ardour/ardour/mute_master.h
@@ -64,7 +64,7 @@ class MuteMaster : public AutomationControl
void set_value (float); /* note: float is used as a bitfield of MutePoints */
float get_value () const;
- boost::signals2::signal<void()> MutePointChanged;
+ PBD::Signal0<void> MutePointChanged;
XMLNode& get_state();
int set_state(const XMLNode&, int version);
diff --git a/libs/ardour/ardour/named_selection.h b/libs/ardour/ardour/named_selection.h
index 0c930d5b72..c17ef3bf4d 100644
--- a/libs/ardour/ardour/named_selection.h
+++ b/libs/ardour/ardour/named_selection.h
@@ -46,7 +46,7 @@ struct NamedSelection : public PBD::Stateful
int set_state (const XMLNode&, int version);
- static boost::signals2::signal<void(NamedSelection*)> NamedSelectionCreated;
+ static PBD::Signal1<void,NamedSelection*> NamedSelectionCreated;
};
}/* namespace ARDOUR */
diff --git a/libs/ardour/ardour/panner.h b/libs/ardour/ardour/panner.h
index bf5a04c745..954727d280 100644
--- a/libs/ardour/ardour/panner.h
+++ b/libs/ardour/ardour/panner.h
@@ -81,8 +81,8 @@ class StreamPanner : public PBD::Stateful
boost::shared_ptr<AutomationControl> pan_control() { return _control; }
- boost::signals2::signal<void()> Changed; /* for position */
- boost::signals2::signal<void()> StateChanged; /* for mute */
+ PBD::Signal0<void> Changed; /* for position */
+ PBD::Signal0<void> StateChanged; /* for mute */
int set_state (const XMLNode&, int version);
virtual XMLNode& state (bool full_state) = 0;
@@ -270,9 +270,9 @@ public:
StreamPanner &streampanner( uint32_t n ) const { assert( n < _streampanners.size() ); return *_streampanners[n]; }
uint32_t npanners() const { return _streampanners.size(); }
- boost::signals2::signal<void()> Changed;
- boost::signals2::signal<void()> LinkStateChanged;
- boost::signals2::signal<void()> StateChanged; /* for bypass */
+ PBD::Signal0<void> Changed;
+ PBD::Signal0<void> LinkStateChanged;
+ PBD::Signal0<void> StateChanged; /* for bypass */
/* only StreamPanner should call these */
diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h
index 9c089c2f05..8bcdc5540b 100644
--- a/libs/ardour/ardour/playlist.h
+++ b/libs/ardour/ardour/playlist.h
@@ -51,7 +51,6 @@ class Session;
class Region;
class Playlist : public SessionObject
- , public boost::noncopyable
, public boost::enable_shared_from_this<Playlist> {
public:
typedef std::list<boost::shared_ptr<Region> > RegionList;
@@ -130,13 +129,13 @@ class Playlist : public SessionObject
int set_state (const XMLNode&, int version);
XMLNode& get_template ();
- boost::signals2::signal<void(bool)> InUse;
- boost::signals2::signal<void()> Modified;
- boost::signals2::signal<void(boost::weak_ptr<Region>)> RegionAdded;
- boost::signals2::signal<void(boost::weak_ptr<Region>)> RegionRemoved;
- boost::signals2::signal<void()> NameChanged;
- boost::signals2::signal<void()> LengthChanged;
- boost::signals2::signal<void(std::list< Evoral::RangeMove<nframes_t> > const &)> RangesMoved;
+ PBD::Signal1<void,bool> InUse;
+ PBD::Signal0<void> Modified;
+ PBD::Signal1<void,boost::weak_ptr<Region> > RegionAdded;
+ PBD::Signal1<void,boost::weak_ptr<Region> > RegionRemoved;
+ PBD::Signal0<void> NameChanged;
+ PBD::Signal0<void> LengthChanged;
+ PBD::Signal1<void,std::list< Evoral::RangeMove<nframes_t> > const &> RangesMoved;
static std::string bump_name (std::string old_name, Session&);
diff --git a/libs/ardour/ardour/playlist_factory.h b/libs/ardour/ardour/playlist_factory.h
index 4c3680ae8e..17645ad8a3 100644
--- a/libs/ardour/ardour/playlist_factory.h
+++ b/libs/ardour/ardour/playlist_factory.h
@@ -31,7 +31,7 @@ class Session;
class PlaylistFactory {
public:
- static boost::signals2::signal<void(boost::shared_ptr<Playlist>, bool)> PlaylistCreated;
+ static PBD::Signal2<void,boost::shared_ptr<Playlist>, bool> PlaylistCreated;
static boost::shared_ptr<Playlist> create (Session&, const XMLNode&, bool hidden = false, bool unused = false);
static boost::shared_ptr<Playlist> create (DataType type, Session&, std::string name, bool hidden = false);
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index ea8f95d8f5..4770c43511 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -143,7 +143,7 @@ class Plugin : public PBD::StatefulDestructible, public Latent
virtual bool has_editor() const = 0;
- boost::signals2::signal<void(uint32_t,float)> ParameterChanged;
+ PBD::Signal2<void,uint32_t,float> ParameterChanged;
/* NOTE: this block of virtual methods looks like the interface
to a Processor, but Plugin does not inherit from Processor.
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h
index 6be8f1dda6..25f380c41b 100644
--- a/libs/ardour/ardour/plugin_insert.h
+++ b/libs/ardour/ardour/plugin_insert.h
@@ -106,7 +106,7 @@ class PluginInsert : public Processor
void collect_signal_for_analysis(nframes_t nframes);
- boost::signals2::signal<void(BufferSet*, BufferSet*)> AnalysisDataGathered;
+ PBD::Signal2<void,BufferSet*, BufferSet*> AnalysisDataGathered;
private:
/* disallow copy construction */
diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h
index 44c529835e..14c4190787 100644
--- a/libs/ardour/ardour/plugin_manager.h
+++ b/libs/ardour/ardour/plugin_manager.h
@@ -70,7 +70,7 @@ class PluginManager : public boost::noncopyable {
PluginStatusType get_status (const PluginInfoPtr&);
/** plugins were added to or removed from one of the PluginInfoLists */
- boost::signals2::signal<void()> PluginListChanged;
+ PBD::Signal0<void> PluginListChanged;
private:
struct PluginStatus {
diff --git a/libs/ardour/ardour/port.h b/libs/ardour/ardour/port.h
index be4df6bd02..ce4b88f8f2 100644
--- a/libs/ardour/ardour/port.h
+++ b/libs/ardour/ardour/port.h
@@ -25,7 +25,7 @@
#include <vector>
#include <jack/jack.h>
#include <boost/utility.hpp>
-#include <boost/signals2.hpp>
+#include "pbd/signals.h"
#include "ardour/data_type.h"
#include "ardour/types.h"
@@ -118,7 +118,7 @@ public:
static void set_engine (AudioEngine *);
- boost::signals2::signal<void(bool)> MonitorInputChanged;
+ PBD::Signal1<void,bool> MonitorInputChanged;
protected:
diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h
index 5962e8f44e..2dd78c66f4 100644
--- a/libs/ardour/ardour/processor.h
+++ b/libs/ardour/ardour/processor.h
@@ -98,10 +98,10 @@ class Processor : public SessionObject, public AutomatableControls, public Laten
void *get_gui () const { return _gui; }
void set_gui (void *p) { _gui = p; }
- static boost::signals2::signal<void(Processor*)> ProcessorCreated;
+ static PBD::Signal1<void,Processor*> ProcessorCreated;
- boost::signals2::signal<void()> ActiveChanged;
- boost::signals2::signal<void(ChanCount,ChanCount)> ConfigurationChanged;
+ PBD::Signal0<void> ActiveChanged;
+ PBD::Signal2<void,ChanCount,ChanCount> ConfigurationChanged;
protected:
int _pending_active;
diff --git a/libs/ardour/ardour/region.h b/libs/ardour/ardour/region.h
index a276fb19ee..4cae00c532 100644
--- a/libs/ardour/ardour/region.h
+++ b/libs/ardour/ardour/region.h
@@ -26,7 +26,7 @@
#include <boost/utility.hpp>
#include "pbd/undo.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/ardour.h"
#include "ardour/data_type.h"
@@ -49,10 +49,9 @@ enum RegionEditState {
};
class Region
- : public SessionObject
- , public boost::noncopyable
- , public boost::enable_shared_from_this<Region>
- , public Readable
+ : public SessionObject
+ , public boost::enable_shared_from_this<Region>
+ , public Readable
{
public:
typedef std::vector<boost::shared_ptr<Source> > SourceList;
@@ -96,8 +95,8 @@ class Region
static Change LayerChanged;
static Change HiddenChanged;
- boost::signals2::signal<void(Change)> StateChanged;
- static boost::signals2::signal<void(boost::shared_ptr<ARDOUR::Region>)> RegionPropertyChanged;
+ PBD::Signal1<void,Change> StateChanged;
+ static PBD::Signal1<void,boost::shared_ptr<ARDOUR::Region> > RegionPropertyChanged;
void unlock_property_changes () { _flags = Flag (_flags & ~DoNotSendPropertyChanges); }
void block_property_changes () { _flags = Flag (_flags | DoNotSendPropertyChanges); }
diff --git a/libs/ardour/ardour/region_factory.h b/libs/ardour/ardour/region_factory.h
index 51858e4926..b53e9490de 100644
--- a/libs/ardour/ardour/region_factory.h
+++ b/libs/ardour/ardour/region_factory.h
@@ -40,7 +40,7 @@ class RegionFactory {
itself, to permit dynamic_cast<> to be used to
infer the type of Region.
*/
- static boost::signals2::signal<void(boost::shared_ptr<Region>)> CheckNewRegion;
+ static PBD::Signal1<void,boost::shared_ptr<Region> > CheckNewRegion;
static boost::shared_ptr<Region> create (boost::shared_ptr<const Region>);
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index dd6173e963..9630975d1f 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -227,28 +227,28 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou
void set_user_latency (nframes_t);
nframes_t initial_delay() const { return _initial_delay; }
- boost::signals2::signal<void()> active_changed;
- boost::signals2::signal<void()> phase_invert_changed;
- boost::signals2::signal<void()> denormal_protection_changed;
- boost::signals2::signal<void(void*)> listen_changed;
- boost::signals2::signal<void(void*)> solo_changed;
- boost::signals2::signal<void(void*)> solo_safe_changed;
- boost::signals2::signal<void(void*)> solo_isolated_changed;
- boost::signals2::signal<void(void*)> comment_changed;
- boost::signals2::signal<void(void*)> mute_changed;
- boost::signals2::signal<void()> mute_points_changed;
+ PBD::Signal0<void> active_changed;
+ PBD::Signal0<void> phase_invert_changed;
+ PBD::Signal0<void> denormal_protection_changed;
+ PBD::Signal1<void,void*> listen_changed;
+ PBD::Signal1<void,void*> solo_changed;
+ PBD::Signal1<void,void*> solo_safe_changed;
+ PBD::Signal1<void,void*> solo_isolated_changed;
+ PBD::Signal1<void,void*> comment_changed;
+ PBD::Signal1<void,void*> mute_changed;
+ PBD::Signal0<void> mute_points_changed;
/** the processors have changed; the parameter indicates what changed */
- boost::signals2::signal<void(RouteProcessorChange)> processors_changed;
- boost::signals2::signal<void(void*)> record_enable_changed;
+ PBD::Signal1<void,RouteProcessorChange> processors_changed;
+ PBD::Signal1<void,void*> record_enable_changed;
/** the metering point has changed */
- boost::signals2::signal<void(void*)> meter_change;
- boost::signals2::signal<void()> signal_latency_changed;
- boost::signals2::signal<void()> initial_delay_changed;
+ PBD::Signal1<void,void*> meter_change;
+ PBD::Signal0<void> signal_latency_changed;
+ PBD::Signal0<void> initial_delay_changed;
/* gui's call this for their own purposes. */
- boost::signals2::signal<void(std::string,void*)> gui_changed;
+ PBD::Signal2<void,std::string,void*> gui_changed;
/* stateful */
@@ -261,7 +261,7 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou
int save_as_template (const std::string& path, const std::string& name);
- boost::signals2::signal<void(void*)> SelectedChanged;
+ PBD::Signal1<void,void*> SelectedChanged;
int listen_via (boost::shared_ptr<Route>, Placement p, bool active, bool aux);
void drop_listen (boost::shared_ptr<Route>);
@@ -306,10 +306,10 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou
void set_remote_control_id (uint32_t id);
uint32_t remote_control_id () const;
- boost::signals2::signal<void()> RemoteControlIDChanged;
+ PBD::Signal0<void> RemoteControlIDChanged;
void sync_order_keys (std::string const &);
- static boost::signals2::signal<void(std::string const &)> SyncOrderKeys;
+ static PBD::Signal1<void,std::string const &> SyncOrderKeys;
protected:
friend class Session;
diff --git a/libs/ardour/ardour/route_group.h b/libs/ardour/ardour/route_group.h
index fe4079050d..48b5cb52db 100644
--- a/libs/ardour/ardour/route_group.h
+++ b/libs/ardour/ardour/route_group.h
@@ -24,10 +24,10 @@
#include <set>
#include <string>
#include <stdint.h>
-#include <boost/signals2.hpp>
+#include "pbd/signals.h"
#include "pbd/stateful.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/types.h"
@@ -128,8 +128,8 @@ public:
boost::shared_ptr<RouteList> route_list() { return routes; }
- boost::signals2::signal<void()> changed;
- boost::signals2::signal<void(void*)> FlagsChanged;
+ PBD::Signal0<void> changed;
+ PBD::Signal1<void,void*> FlagsChanged;
XMLNode& get_state ();
diff --git a/libs/ardour/ardour/route_group_member.h b/libs/ardour/ardour/route_group_member.h
index 8743423b18..824fd52bd3 100644
--- a/libs/ardour/ardour/route_group_member.h
+++ b/libs/ardour/ardour/route_group_member.h
@@ -33,7 +33,7 @@ class RouteGroupMember
RouteGroup* route_group () const { return _route_group; }
- boost::signals2::signal<void()> route_group_changed;
+ PBD::Signal0<void> route_group_changed;
protected:
RouteGroup* _route_group;
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 273f251f3d..7c6c83a121 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -38,7 +38,7 @@
#include "pbd/error.h"
#include "pbd/rcu.h"
#include "pbd/statefuldestructible.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "pbd/undo.h"
#include "midi++/mmc.h"
@@ -118,7 +118,7 @@ class VSTPlugin;
extern void setup_enum_writer ();
-class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionList, public SessionEventManager, public boost::noncopyable
+class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionList, public SessionEventManager
{
public:
enum RecordState {
@@ -164,14 +164,14 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void set_deletion_in_progress ();
void clear_deletion_in_progress ();
bool deletion_in_progress() const { return _state_of_the_state & Deletion; }
- boost::signals2::signal<void()> DirtyChanged;
+ PBD::Signal0<void> DirtyChanged;
const SessionDirectory& session_directory () const { return *(_session_dir.get()); }
- static boost::signals2::signal<void()> AutoBindingOn;
- static boost::signals2::signal<void()> AutoBindingOff;
+ static PBD::Signal0<void> AutoBindingOn;
+ static PBD::Signal0<void> AutoBindingOff;
- static boost::signals2::signal<void(std::string)> Dialog;
+ static PBD::Signal1<void,std::string> Dialog;
std::string sound_dir (bool with_path = true) const;
std::string peak_dir () const;
@@ -272,29 +272,29 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
/* Proxy signal for region hidden changes */
- boost::signals2::signal<void(boost::shared_ptr<Region>)> RegionHiddenChange;
+ PBD::Signal1<void,boost::shared_ptr<Region> > RegionHiddenChange;
/* Emitted when all i/o connections are complete */
- boost::signals2::signal<void()> IOConnectionsComplete;
+ PBD::Signal0<void> IOConnectionsComplete;
/* Record status signals */
- boost::signals2::signal<void()> RecordStateChanged;
+ PBD::Signal0<void> RecordStateChanged;
/* Transport mechanism signals */
- boost::signals2::signal<void()> TransportStateChange; /* generic */
- boost::signals2::signal<void(nframes64_t)> PositionChanged; /* sent after any non-sequential motion */
- boost::signals2::signal<void()> DurationChanged;
- boost::signals2::signal<void(nframes64_t)> Xrun;
- boost::signals2::signal<void()> TransportLooped;
+ PBD::Signal0<void> TransportStateChange; /* generic */
+ PBD::Signal1<void,nframes64_t> PositionChanged; /* sent after any non-sequential motion */
+ PBD::Signal0<void> DurationChanged;
+ PBD::Signal1<void,nframes64_t> Xrun;
+ PBD::Signal0<void> TransportLooped;
/** emitted when a locate has occurred */
- boost::signals2::signal<void()> Located;
+ PBD::Signal0<void> Located;
- boost::signals2::signal<void(RouteList&)> RouteAdded;
- boost::signals2::signal<void()> RouteGroupChanged;
+ PBD::Signal1<void,RouteList&> RouteAdded;
+ PBD::Signal0<void> RouteGroupChanged;
void queue_event (SessionEvent*);
@@ -348,9 +348,9 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
Locations *locations() { return &_locations; }
- boost::signals2::signal<void(Location*)> auto_loop_location_changed;
- boost::signals2::signal<void(Location*)> auto_punch_location_changed;
- boost::signals2::signal<void()> locations_modified;
+ PBD::Signal1<void,Location*> auto_loop_location_changed;
+ PBD::Signal1<void,Location*> auto_punch_location_changed;
+ PBD::Signal0<void> locations_modified;
void set_auto_punch_location (Location *);
void set_auto_loop_location (Location *);
@@ -375,8 +375,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
static int rename_template (std::string old_name, std::string new_name);
static int delete_template (std::string name);
- boost::signals2::signal<void(std::string)> StateSaved;
- boost::signals2::signal<void()> StateReady;
+ PBD::Signal1<void,std::string> StateSaved;
+ PBD::Signal0<void> StateReady;
std::vector<std::string*>* possible_states() const;
static std::vector<std::string*>* possible_states (std::string path);
@@ -406,8 +406,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
RouteGroup *route_group_by_name (std::string);
- boost::signals2::signal<void(RouteGroup*)> route_group_added;
- boost::signals2::signal<void()> route_group_removed;
+ PBD::Signal1<void,RouteGroup*> route_group_added;
+ PBD::Signal0<void> route_group_removed;
void foreach_route_group (boost::function<void(RouteGroup*)> f) {
for (std::list<RouteGroup *>::iterator i = _route_groups.begin(); i != _route_groups.end(); i++) {
@@ -476,9 +476,9 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
nframes_t convert_to_frames_at (nframes_t position, AnyTime const &);
- static boost::signals2::signal<void()> StartTimeChanged;
- static boost::signals2::signal<void()> EndTimeChanged;
- static boost::signals2::signal<void()> TimecodeOffsetChanged;
+ static PBD::Signal0<void> StartTimeChanged;
+ static PBD::Signal0<void> EndTimeChanged;
+ static PBD::Signal0<void> TimecodeOffsetChanged;
std::vector<SyncSource> get_available_sync_options() const;
void request_sync_source (Slave*);
@@ -496,15 +496,15 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
TempoMap& tempo_map() { return *_tempo_map; }
/// signals the current transport position in frames, bbt and timecode time (in that order)
- boost::signals2::signal<void(const nframes_t&, const BBT_Time&, const Timecode::Time&)> tick;
+ PBD::Signal3<void,const nframes_t&, const BBT_Time&, const Timecode::Time&> tick;
/* region info */
void add_regions (std::vector<boost::shared_ptr<Region> >&);
- boost::signals2::signal<void(boost::weak_ptr<Region>)> RegionAdded;
- boost::signals2::signal<void(std::vector<boost::weak_ptr<Region> >&)> RegionsAdded;
- boost::signals2::signal<void(boost::weak_ptr<Region>)> RegionRemoved;
+ PBD::Signal1<void,boost::weak_ptr<Region> > RegionAdded;
+ PBD::Signal1<void,std::vector<boost::weak_ptr<Region> >&> RegionsAdded;
+ PBD::Signal1<void,boost::weak_ptr<Region> > RegionRemoved;
int region_name (std::string& result, std::string base = std::string(""), bool newlevel = false);
std::string new_region_name (std::string);
@@ -529,9 +529,9 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
int start_audio_export (nframes_t position, bool realtime);
- boost::signals2::signal<int(nframes_t)> ProcessExport;
- boost::signals2::signal<void()> ExportReadFinished;
- static boost::signals2::signal<void(std::string, std::string)> Exported;
+ PBD::Signal1<int,nframes_t> ProcessExport;
+ PBD::Signal0<void> ExportReadFinished;
+ static PBD::Signal2<void,std::string, std::string> Exported;
void add_source (boost::shared_ptr<Source>);
void remove_source (boost::weak_ptr<Source>);
@@ -548,16 +548,16 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
0 for "yes, delete this playlist",
1 for "no, don't delete this playlist".
*/
- boost::signals2::signal<void(boost::shared_ptr<Playlist>)> AskAboutPlaylistDeletion;
+ PBD::Signal1<void,boost::shared_ptr<Playlist> > AskAboutPlaylistDeletion;
/** handlers should return 0 for "ignore the rate mismatch",
!0 for "do not use this session"
*/
- static boost::signals2::signal<int(nframes_t, nframes_t)> AskAboutSampleRateMismatch;
+ static PBD::Signal2<int,nframes_t, nframes_t> AskAboutSampleRateMismatch;
/** handlers should return !0 for use pending state, 0 for ignore it.
*/
- static boost::signals2::signal<int()> AskAboutPendingState;
+ static PBD::Signal0<int> AskAboutPendingState;
boost::shared_ptr<AudioFileSource> create_audio_source_for_session (ARDOUR::AudioDiskstream&, uint32_t which_channel, bool destructive);
@@ -575,8 +575,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void remove_named_selection (NamedSelection *);
template<class T> void foreach_named_selection (T& obj, void (T::*func)(NamedSelection&));
- boost::signals2::signal<void()> NamedSelectionAdded;
- boost::signals2::signal<void()> NamedSelectionRemoved;
+ PBD::Signal0<void> NamedSelectionAdded;
+ PBD::Signal0<void> NamedSelectionRemoved;
/* Curves and AutomationLists (TODO when they go away) */
void add_automation_list(AutomationList*);
@@ -595,7 +595,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void cancel_audition ();
bool is_auditioning () const;
- boost::signals2::signal<void(bool)> AuditionActive;
+ PBD::Signal1<void,bool> AuditionActive;
/* flattening stuff */
@@ -617,8 +617,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void set_listen (boost::shared_ptr<RouteList>, bool, SessionEvent::RTeventCallback after = rt_cleanup, bool group_override = false);
void set_record_enable (boost::shared_ptr<RouteList>, bool, SessionEvent::RTeventCallback after = rt_cleanup, bool group_override = false);
- boost::signals2::signal<void(bool)> SoloActive;
- boost::signals2::signal<void()> SoloChanged;
+ PBD::Signal1<void,bool> SoloActive;
+ PBD::Signal0<void> SoloChanged;
/* control/master out */
@@ -656,8 +656,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void remove_bundle (boost::shared_ptr<Bundle>);
boost::shared_ptr<Bundle> bundle_by_name (std::string) const;
- boost::signals2::signal<void(boost::shared_ptr<Bundle>)> BundleAdded;
- boost::signals2::signal<void(boost::shared_ptr<Bundle>)> BundleRemoved;
+ PBD::Signal1<void,boost::shared_ptr<Bundle> > BundleAdded;
+ PBD::Signal1<void,boost::shared_ptr<Bundle> > BundleRemoved;
/* MIDI control */
@@ -671,10 +671,10 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
MIDI::Port *midi_port() const { return _midi_port; }
MIDI::Port *midi_clock_port() const { return _midi_clock_port; }
- boost::signals2::signal<void()> MTC_PortChanged;
- boost::signals2::signal<void()> MMC_PortChanged;
- boost::signals2::signal<void()> MIDI_PortChanged;
- boost::signals2::signal<void()> MIDIClock_PortChanged;
+ PBD::Signal0<void> MTC_PortChanged;
+ PBD::Signal0<void> MMC_PortChanged;
+ PBD::Signal0<void> MIDI_PortChanged;
+ PBD::Signal0<void> MIDIClock_PortChanged;
void set_trace_midi_input (bool, MIDI::Port* port = 0);
void set_trace_midi_output (bool, MIDI::Port* port = 0);
@@ -691,7 +691,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void stop_scrub ();
void set_scrub_speed (float);
nframes_t scrub_buffer_size() const;
- boost::signals2::signal<void()> ScrubReady;
+ PBD::Signal0<void> ScrubReady;
/* History (for editors, mixers, UIs etc.) */
@@ -765,7 +765,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void* ptr,
float opt);
- static boost::signals2::signal<void()> SendFeedback;
+ static PBD::Signal0<void> SendFeedback;
/* Controllables */
@@ -943,7 +943,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
int stop_audio_export ();
void finalize_audio_export ();
- boost::signals2::scoped_connection export_freewheel_connection;
+ PBD::ScopedConnection export_freewheel_connection;
void prepare_diskstreams ();
void commit_diskstreams (nframes_t, bool& session_requires_butler);
diff --git a/libs/ardour/ardour/session_handle.h b/libs/ardour/ardour/session_handle.h
index c747ee9976..87c6fb6670 100644
--- a/libs/ardour/ardour/session_handle.h
+++ b/libs/ardour/ardour/session_handle.h
@@ -20,7 +20,7 @@
#ifndef __libardour_session_handle_h__
#define __libardour_session_handle_h__
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
namespace ARDOUR {
class Session;
diff --git a/libs/ardour/ardour/session_object.h b/libs/ardour/ardour/session_object.h
index eb1a7c3e30..47caab5475 100644
--- a/libs/ardour/ardour/session_object.h
+++ b/libs/ardour/ardour/session_object.h
@@ -22,7 +22,7 @@
#include <string>
#include "pbd/statefuldestructible.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/session_handle.h"
@@ -53,7 +53,7 @@ class SessionObject : public SessionHandleRef, public PBD::StatefulDestructible
return true;
}
- boost::signals2::signal<void()> NameChanged;
+ PBD::Signal0<void> NameChanged;
protected:
std::string _name;
diff --git a/libs/ardour/ardour/session_playlists.h b/libs/ardour/ardour/session_playlists.h
index 8870794cc0..db29ee8c05 100644
--- a/libs/ardour/ardour/session_playlists.h
+++ b/libs/ardour/ardour/session_playlists.h
@@ -27,7 +27,7 @@
#include <boost/shared_ptr.hpp>
#include <boost/function.hpp>
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
class XMLNode;
diff --git a/libs/ardour/ardour/slave.h b/libs/ardour/ardour/slave.h
index 4fe8e1ec46..1cc73474d7 100644
--- a/libs/ardour/ardour/slave.h
+++ b/libs/ardour/ardour/slave.h
@@ -27,7 +27,7 @@
#include <jack/jack.h>
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/types.h"
#include "midi++/parser.h"
@@ -242,7 +242,7 @@ class MTC_Slave : public Slave {
private:
Session& session;
MIDI::Port* port;
- PBD::ScopedConnectionList* port_connections;
+ PBD::ScopedConnectionList port_connections;
bool can_notify_on_unknown_rate;
PIChaser* pic;
@@ -303,7 +303,7 @@ class MIDIClock_Slave : public Slave {
private:
ISlaveSessionProxy* session;
MIDI::Port* port;
- PBD::ScopedConnectionList* port_connections;
+ PBD::ScopedConnectionList port_connections;
/// pulses per quarter note for one MIDI clock frame (default 24)
int ppqn;
diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h
index 45d535e916..95829769f6 100644
--- a/libs/ardour/ardour/sndfilesource.h
+++ b/libs/ardour/ardour/sndfilesource.h
@@ -98,6 +98,7 @@ class SndFileSource : public AudioFileSource {
nframes_t destructive_write_unlocked (Sample *dst, nframes_t cnt);
nframes_t nondestructive_write_unlocked (Sample *dst, nframes_t cnt);
void handle_header_position_change ();
+ PBD::ScopedConnection header_position_connection;
};
} // namespace ARDOUR
diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h
index a7a6e2207c..b91d8f129c 100644
--- a/libs/ardour/ardour/source.h
+++ b/libs/ardour/ardour/source.h
@@ -35,7 +35,7 @@ namespace ARDOUR {
class Session;
-class Source : public SessionObject, public boost::noncopyable
+class Source : public SessionObject
{
public:
enum Flag {
@@ -81,15 +81,15 @@ class Source : public SessionObject, public boost::noncopyable
virtual bool set_destructive (bool /*yn*/) { return false; }
virtual bool length_mutable() const { return false; }
- static boost::signals2::signal<void(Source*)> SourceCreated;
- boost::signals2::signal<void(boost::shared_ptr<Source>)> Switched;
+ static PBD::Signal1<void,Source*> SourceCreated;
+ PBD::Signal1<void,boost::shared_ptr<Source> > Switched;
bool has_been_analysed() const;
virtual bool can_be_analysed() const { return false; }
virtual void set_been_analysed (bool yn);
virtual bool check_for_analysis_data_on_disk();
- boost::signals2::signal<void()> AnalysisChanged;
+ PBD::Signal0<void> AnalysisChanged;
AnalysisFeatureList transients;
std::string get_transients_path() const;
diff --git a/libs/ardour/ardour/source_factory.h b/libs/ardour/ardour/source_factory.h
index 4da285e980..c32b96ae97 100644
--- a/libs/ardour/ardour/source_factory.h
+++ b/libs/ardour/ardour/source_factory.h
@@ -37,7 +37,7 @@ class SourceFactory {
public:
static void init ();
- static boost::signals2::signal<void(boost::shared_ptr<Source>)> SourceCreated;
+ static PBD::Signal1<void,boost::shared_ptr<Source> > SourceCreated;
static boost::shared_ptr<Source> create (Session&, const XMLNode& node, bool async = false);
static boost::shared_ptr<Source> createSilent (Session&, const XMLNode& node,
diff --git a/libs/ardour/ardour/tempo.h b/libs/ardour/ardour/tempo.h
index ba7bbbcf7e..9fe6f1fee5 100644
--- a/libs/ardour/ardour/tempo.h
+++ b/libs/ardour/ardour/tempo.h
@@ -258,7 +258,7 @@ class TempoMap : public PBD::StatefulDestructible
nframes_t frame_rate () const { return _frame_rate; }
- boost::signals2::signal<void(ARDOUR::Change)> StateChanged;
+ PBD::Signal1<void,ARDOUR::Change> StateChanged;
private:
static Tempo _default_tempo;
diff --git a/libs/ardour/ardour/ticker.h b/libs/ardour/ardour/ticker.h
index 9a26d4d3ff..e133ad5d23 100644
--- a/libs/ardour/ardour/ticker.h
+++ b/libs/ardour/ardour/ticker.h
@@ -20,7 +20,7 @@
#include "midi++/jack.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
#include "ardour/types.h"
#include "ardour/session_handle.h"
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index 82b4f701b4..0ed4b8c70b 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -43,7 +43,7 @@ class Track : public Route
TrackMode mode () const { return _mode; }
virtual int set_mode (TrackMode /*m*/) { return false; }
virtual bool can_use_mode (TrackMode /*m*/, bool& /*bounce_required*/) { return false; }
- boost::signals2::signal<void()> TrackModeChanged;
+ PBD::Signal0<void> TrackModeChanged;
virtual int no_roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
bool state_changing, bool can_record, bool rec_monitors_input);
@@ -90,8 +90,8 @@ class Track : public Route
bool record_enabled() const;
void set_record_enable (bool yn, void *src);
- boost::signals2::signal<void()> DiskstreamChanged;
- boost::signals2::signal<void()> FreezeChange;
+ PBD::Signal0<void> DiskstreamChanged;
+ PBD::Signal0<void> FreezeChange;
protected:
Track (Session& sess, const XMLNode& node, DataType default_type = DataType::AUDIO);
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc
index 2ad323ca1c..f60d16391f 100644
--- a/libs/ardour/audio_diskstream.cc
+++ b/libs/ardour/audio_diskstream.cc
@@ -1504,7 +1504,7 @@ AudioDiskstream::transport_stopped (struct tm& when, time_t twhen, bool abort_ca
continue; /* XXX is this OK? */
}
- scoped_connect (region->GoingAway, boost::bind (&Diskstream::remove_region_from_last_capture, this, boost::weak_ptr<Region>(region)));
+ region->GoingAway.connect (*this, boost::bind (&Diskstream::remove_region_from_last_capture, this, boost::weak_ptr<Region>(region)));
_last_capture_regions.push_back (region);
diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc
index acb44e43c4..85c3ffe1b2 100644
--- a/libs/ardour/audio_playlist.cc
+++ b/libs/ardour/audio_playlist.cc
@@ -528,8 +528,8 @@ AudioPlaylist::add_crossfade (boost::shared_ptr<Crossfade> xfade)
} else {
_crossfades.push_back (xfade);
- scoped_connect (xfade->Invalidated, boost::bind (&AudioPlaylist::crossfade_invalidated, this, _1));
- scoped_connect (xfade->StateChanged, boost::bind (&AudioPlaylist::crossfade_changed, this, _1));
+ xfade->Invalidated.connect (*this, boost::bind (&AudioPlaylist::crossfade_invalidated, this, _1));
+ xfade->StateChanged.connect (*this, boost::bind (&AudioPlaylist::crossfade_changed, this, _1));
notify_crossfade_added (xfade);
}
@@ -584,8 +584,8 @@ AudioPlaylist::set_state (const XMLNode& node, int version)
try {
boost::shared_ptr<Crossfade> xfade = boost::shared_ptr<Crossfade> (new Crossfade (*((const Playlist *)this), *child));
_crossfades.push_back (xfade);
- scoped_connect (xfade->Invalidated, boost::bind (&AudioPlaylist::crossfade_invalidated, this, _1));
- scoped_connect (xfade->StateChanged, boost::bind (&AudioPlaylist::crossfade_changed, this, _1));
+ xfade->Invalidated.connect (*this, boost::bind (&AudioPlaylist::crossfade_invalidated, this, _1));
+ xfade->StateChanged.connect (*this, boost::bind (&AudioPlaylist::crossfade_changed, this, _1));
NewCrossfade(xfade);
}
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 736fe41738..19b5bd7be5 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -182,7 +182,7 @@ AudioTrack::set_diskstream (boost::shared_ptr<AudioDiskstream> ds, void * /*src*
if (audio_diskstream()->deprecated_io_node) {
if (!IO::connecting_legal) {
- scoped_connect (IO::ConnectingLegal, boost::bind (&AudioTrack::deprecated_use_diskstream_connections, this));
+ IO::ConnectingLegal.connect (*this, boost::bind (&AudioTrack::deprecated_use_diskstream_connections, this));
} else {
deprecated_use_diskstream_connections ();
}
@@ -304,7 +304,7 @@ AudioTrack::_set_state (const XMLNode& node, int version, bool call_base)
pending_state = const_cast<XMLNode*> (&node);
if (_session.state_of_the_state() & Session::Loading) {
- scoped_connect (_session.StateReady, boost::bind (&AudioTrack::set_state_part_two, this));
+ _session.StateReady.connect (*this, boost::bind (&AudioTrack::set_state_part_two, this));
} else {
set_state_part_two ();
}
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index b1c5527570..5b6a7da73a 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -550,7 +550,7 @@ AudioEngine::meter_thread ()
if (g_atomic_int_get(&m_meter_exit)) {
break;
}
- Metering::update_meters ();
+ Metering::Meter ();
}
}
@@ -735,9 +735,9 @@ AudioEngine::connect (const string& source, const string& destination)
Port* dst = get_port_by_name_locked (d);
if (src) {
- ret = src->connect (d);
+ ret = src->connect (d);
} else if (dst) {
- ret = dst->connect (s);
+ ret = dst->connect (s);
} else {
/* neither port is known to us, and this API isn't intended for use as a general patch bay */
ret = -1;
diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc
index 1500b139ac..297c02e418 100644
--- a/libs/ardour/audiofilesource.cc
+++ b/libs/ardour/audiofilesource.cc
@@ -70,7 +70,7 @@ using namespace Glib;
ustring AudioFileSource::peak_dir = "";
-boost::signals2::signal<void()> AudioFileSource::HeaderPositionOffsetChanged;
+PBD::Signal0<void> AudioFileSource::HeaderPositionOffsetChanged;
uint64_t AudioFileSource::header_position_offset = 0;
/* XXX maybe this too */
diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc
index ac173db546..cce7869072 100644
--- a/libs/ardour/audioregion.cc
+++ b/libs/ardour/audioregion.cc
@@ -96,7 +96,7 @@ AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, nframes_t start, n
{
boost::shared_ptr<AudioFileSource> afs = boost::dynamic_pointer_cast<AudioFileSource> (src);
if (afs) {
- scoped_connect (afs->HeaderPositionOffsetChanged, boost::bind (&AudioRegion::source_offset_changed, this));
+ afs->HeaderPositionOffsetChanged.connect (*this, boost::bind (&AudioRegion::source_offset_changed, this));
}
init ();
@@ -113,7 +113,7 @@ AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, nframes_t start, n
{
boost::shared_ptr<AudioFileSource> afs = boost::dynamic_pointer_cast<AudioFileSource> (src);
if (afs) {
- scoped_connect (afs->HeaderPositionOffsetChanged, boost::bind (&AudioRegion::source_offset_changed, this));
+ afs->HeaderPositionOffsetChanged.connect (*this, boost::bind (&AudioRegion::source_offset_changed, this));
}
init ();
@@ -205,7 +205,7 @@ AudioRegion::AudioRegion (boost::shared_ptr<const AudioRegion> other, const Sour
boost::shared_ptr<AudioFileSource> afs = boost::dynamic_pointer_cast<AudioFileSource> ((*i));
if (afs) {
- scoped_connect (afs->HeaderPositionOffsetChanged, boost::bind (&AudioRegion::source_offset_changed, this));
+ afs->HeaderPositionOffsetChanged.connect (*this, boost::bind (&AudioRegion::source_offset_changed, this));
}
}
@@ -229,7 +229,7 @@ AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, const XMLNode& nod
{
boost::shared_ptr<AudioFileSource> afs = boost::dynamic_pointer_cast<AudioFileSource> (src);
if (afs) {
- scoped_connect (afs->HeaderPositionOffsetChanged, boost::bind (&AudioRegion::source_offset_changed, this));
+ afs->HeaderPositionOffsetChanged.connect (*this, boost::bind (&AudioRegion::source_offset_changed, this));
}
init ();
@@ -270,7 +270,7 @@ void
AudioRegion::connect_to_analysis_changed ()
{
for (SourceList::const_iterator i = _sources.begin(); i != _sources.end(); ++i) {
- scoped_connect ((*i)->AnalysisChanged, boost::bind (&AudioRegion::invalidate_transients, this));
+ (*i)->AnalysisChanged.connect (*this, boost::bind (&AudioRegion::invalidate_transients, this));
}
}
@@ -285,7 +285,7 @@ AudioRegion::connect_to_header_position_offset_changed ()
unique_srcs.insert (*i);
boost::shared_ptr<AudioFileSource> afs = boost::dynamic_pointer_cast<AudioFileSource> (*i);
if (afs) {
- scoped_connect (afs->HeaderPositionOffsetChanged, boost::bind (&AudioRegion::source_offset_changed, this));
+ afs->HeaderPositionOffsetChanged.connect (*this, boost::bind (&AudioRegion::source_offset_changed, this));
}
}
}
@@ -294,9 +294,9 @@ AudioRegion::connect_to_header_position_offset_changed ()
void
AudioRegion::listen_to_my_curves ()
{
- scoped_connect (_envelope->StateChanged, boost::bind (&AudioRegion::envelope_changed, this));
- scoped_connect (_fade_in->StateChanged, boost::bind (&AudioRegion::fade_in_changed, this));
- scoped_connect (_fade_out->StateChanged, boost::bind (&AudioRegion::fade_out_changed, this));
+ _envelope->StateChanged.connect (*this, boost::bind (&AudioRegion::envelope_changed, this));
+ _fade_in->StateChanged.connect (*this, boost::bind (&AudioRegion::fade_in_changed, this));
+ _fade_out->StateChanged.connect (*this, boost::bind (&AudioRegion::fade_out_changed, this));
}
void
diff --git a/libs/ardour/audiosource.cc b/libs/ardour/audiosource.cc
index fd481c9730..5fcabb0c77 100644
--- a/libs/ardour/audiosource.cc
+++ b/libs/ardour/audiosource.cc
@@ -149,7 +149,7 @@ AudioSource::update_length (sframes_t pos, sframes_t cnt)
***********************************************************************/
bool
-AudioSource::peaks_ready (boost::function<void()> doThisWhenReady, boost::signals2::connection& connect_here_if_not) const
+AudioSource::peaks_ready (boost::function<void()> doThisWhenReady, Connection& connect_here_if_not) const
{
bool ret;
Glib::Mutex::Lock lm (_peaks_ready_lock);
@@ -159,7 +159,7 @@ AudioSource::peaks_ready (boost::function<void()> doThisWhenReady, boost::signal
*/
if (!(ret = _peaks_built)) {
- connect_here_if_not = PeaksReady.connect (doThisWhenReady);
+ PeaksReady.connect (connect_here_if_not, doThisWhenReady);
}
return ret;
diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc
index 7d353a1bdd..1e28ebc8b4 100644
--- a/libs/ardour/auditioner.cc
+++ b/libs/ardour/auditioner.cc
@@ -72,7 +72,7 @@ Auditioner::Auditioner (Session& s)
_main_outs->allow_pan_reset ();
_main_outs->reset_panner ();
- scoped_connect (_output->changed, boost::bind (&Auditioner::output_changed, this, _1, _2));
+ _output->changed.connect (*this, boost::bind (&Auditioner::output_changed, this, _1, _2));
the_region.reset ((AudioRegion*) 0);
g_atomic_int_set (&_active, 0);
diff --git a/libs/ardour/automation_list.cc b/libs/ardour/automation_list.cc
index 9a6eb08e45..3543f8b51f 100644
--- a/libs/ardour/automation_list.cc
+++ b/libs/ardour/automation_list.cc
@@ -35,7 +35,7 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
-boost::signals2::signal<void(AutomationList *)> AutomationList::AutomationListCreated;
+PBD::Signal1<void,AutomationList *> AutomationList::AutomationListCreated;
#if 0
static void dumpit (const AutomationList& al, string prefix = "")
diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc
index 7f159a441c..1438f93722 100644
--- a/libs/ardour/delivery.cc
+++ b/libs/ardour/delivery.cc
@@ -42,8 +42,8 @@ using namespace std;
using namespace PBD;
using namespace ARDOUR;
-boost::signals2::signal<void(nframes_t)> Delivery::CycleStart;
-boost::signals2::signal<int()> Delivery::PannersLegal;
+PBD::Signal1<void,nframes_t> Delivery::CycleStart;
+PBD::Signal0<int> Delivery::PannersLegal;
bool Delivery::panners_legal = false;
/* deliver to an existing IO object */
@@ -64,10 +64,10 @@ Delivery::Delivery (Session& s, boost::shared_ptr<IO> io, boost::shared_ptr<Mute
_display_to_user = false;
if (_output) {
- scoped_connect (_output->changed, boost::bind (&Delivery::output_changed, this, _1, _2));
+ _output->changed.connect (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
- scoped_connect (CycleStart, boost::bind (&Delivery::cycle_start, this, _1));
+ CycleStart.connect (*this, boost::bind (&Delivery::cycle_start, this, _1));
}
/* deliver to a new IO object */
@@ -88,10 +88,10 @@ Delivery::Delivery (Session& s, boost::shared_ptr<MuteMaster> mm, const string&
_display_to_user = false;
if (_output) {
- scoped_connect (_output->changed, boost::bind (&Delivery::output_changed, this, _1, _2));
+ _output->changed.connect (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
- scoped_connect (CycleStart, boost::bind (&Delivery::cycle_start, this, _1));
+ CycleStart.connect (*this, boost::bind (&Delivery::cycle_start, this, _1));
}
/* deliver to a new IO object, reconstruct from XML */
@@ -116,10 +116,10 @@ Delivery::Delivery (Session& s, boost::shared_ptr<MuteMaster> mm, const XMLNode&
}
if (_output) {
- scoped_connect (_output->changed, boost::bind (&Delivery::output_changed, this, _1, _2));
+ _output->changed.connect (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
- scoped_connect (CycleStart, boost::bind (&Delivery::cycle_start, this, _1));
+ CycleStart.connect (*this, boost::bind (&Delivery::cycle_start, this, _1));
}
/* deliver to an existing IO object, reconstruct from XML */
@@ -144,10 +144,10 @@ Delivery::Delivery (Session& s, boost::shared_ptr<IO> out, boost::shared_ptr<Mut
}
if (_output) {
- scoped_connect (_output->changed, boost::bind (&Delivery::output_changed, this, _1, _2));
+ _output->changed.connect (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
- scoped_connect (CycleStart, boost::bind (&Delivery::cycle_start, this, _1));
+ CycleStart.connect (*this, boost::bind (&Delivery::cycle_start, this, _1));
}
std::string
@@ -419,7 +419,7 @@ Delivery::reset_panner ()
}
} else {
panner_legal_c.disconnect ();
- panner_legal_c = PannersLegal.connect (boost::bind (&Delivery::panners_became_legal, this));
+ PannersLegal.connect (panner_legal_c, boost::bind (&Delivery::panners_became_legal, this));
}
}
diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc
index f9e8202ebc..8af85a553c 100644
--- a/libs/ardour/diskstream.cc
+++ b/libs/ardour/diskstream.cc
@@ -68,8 +68,8 @@ using namespace PBD;
*/
ARDOUR::nframes_t Diskstream::disk_io_chunk_frames = 1024 * 256;
-boost::signals2::signal<void()> Diskstream::DiskOverrun;
-boost::signals2::signal<void()> Diskstream::DiskUnderrun;
+PBD::Signal0<void> Diskstream::DiskOverrun;
+PBD::Signal0<void> Diskstream::DiskUnderrun;
Diskstream::Diskstream (Session &sess, const string &name, Flag flag)
: SessionObject(sess, name)
@@ -142,13 +142,13 @@ Diskstream::set_route (Route& r)
_io = _route->input();
ic_connection.disconnect();
- ic_connection = _io->changed.connect (boost::bind (&Diskstream::handle_input_change, this, _1, _2));
+ _io->changed.connect (ic_connection, boost::bind (&Diskstream::handle_input_change, this, _1, _2));
input_change_pending = ConfigurationChanged;
non_realtime_input_change ();
set_align_style_from_io ();
- scoped_connect (_route->GoingAway, boost::bind (&Diskstream::route_going_away, this));
+ _route->GoingAway.connect (*this, boost::bind (&Diskstream::route_going_away, this));
}
void
@@ -339,9 +339,9 @@ Diskstream::use_playlist (boost::shared_ptr<Playlist> playlist)
reset_write_sources (false);
}
- playlist_connections.add_connection (_playlist->Modified.connect (boost::bind (&Diskstream::playlist_modified, this)));
- playlist_connections.add_connection (_playlist->GoingAway.connect (boost::bind (&Diskstream::playlist_deleted, this, boost::weak_ptr<Playlist>(_playlist))));
- playlist_connections.add_connection (_playlist->RangesMoved.connect (boost::bind (&Diskstream::playlist_ranges_moved, this, _1)));
+ _playlist->Modified.connect (playlist_connections, boost::bind (&Diskstream::playlist_modified, this));
+ _playlist->GoingAway.connect (playlist_connections, boost::bind (&Diskstream::playlist_deleted, this, boost::weak_ptr<Playlist>(_playlist)));
+ _playlist->RangesMoved.connect (playlist_connections, boost::bind (&Diskstream::playlist_ranges_moved, this, _1));
}
/* don't do this if we've already asked for it *or* if we are setting up
diff --git a/libs/ardour/element_importer.cc b/libs/ardour/element_importer.cc
index 3e7c2c9a91..9f217c2cd9 100644
--- a/libs/ardour/element_importer.cc
+++ b/libs/ardour/element_importer.cc
@@ -32,8 +32,8 @@ using namespace std;
using namespace PBD;
using namespace ARDOUR;
-boost::signals2::signal <std::pair<bool, string> (string, string)> ElementImporter::Rename;
-boost::signals2::signal <bool (string)> ElementImporter::Prompt;
+Signal2<std::pair<bool, string>,string, string> ElementImporter::Rename;
+Signal1 <bool,string> ElementImporter::Prompt;
ElementImporter::ElementImporter (XMLTree const & source, ARDOUR::Session & session) :
source (source),
diff --git a/libs/ardour/export_channel.cc b/libs/ardour/export_channel.cc
index 3006fbc3ee..dfe038734b 100644
--- a/libs/ardour/export_channel.cc
+++ b/libs/ardour/export_channel.cc
@@ -108,7 +108,7 @@ RegionExportChannelFactory::RegionExportChannelFactory (Session * session, Audio
throw ExportFailed ("Unhandled type in ExportChannelFactory constructor");
}
- export_connection = session->ProcessExport.connect (boost::bind (&RegionExportChannelFactory::new_cycle_started, this, _1));
+ session->ProcessExport.connect (export_connection, boost::bind (&RegionExportChannelFactory::new_cycle_started, this, _1));
buffers.set_count (ChanCount (DataType::AUDIO, n_channels));
buffers.ensure_buffers (DataType::AUDIO, n_channels, frames_per_cycle);
diff --git a/libs/ardour/export_format_manager.cc b/libs/ardour/export_format_manager.cc
index f26f0635d8..d25877c5bc 100644
--- a/libs/ardour/export_format_manager.cc
+++ b/libs/ardour/export_format_manager.cc
@@ -211,13 +211,13 @@ void
ExportFormatManager::add_compatibility (CompatPtr ptr)
{
compatibilities.push_back (ptr);
- scoped_connect (ptr->SelectChanged, boost::bind (&ExportFormatManager::change_compatibility_selection, this, _1, WeakCompatPtr (ptr)));
+ ptr->SelectChanged.connect (*this, boost::bind (&ExportFormatManager::change_compatibility_selection, this, _1, WeakCompatPtr (ptr)));
}
void
ExportFormatManager::add_quality (QualityPtr ptr)
{
- scoped_connect (ptr->SelectChanged, boost::bind (&ExportFormatManager::change_quality_selection, this, _1, WeakQualityPtr (ptr)));
+ ptr->SelectChanged.connect (*this, boost::bind (&ExportFormatManager::change_quality_selection, this, _1, WeakQualityPtr (ptr)));
qualities.push_back (ptr);
}
@@ -225,7 +225,7 @@ void
ExportFormatManager::add_format (FormatPtr ptr)
{
formats.push_back (ptr);
- scoped_connect (ptr->SelectChanged, boost::bind (&ExportFormatManager::change_format_selection, this, _1, WeakFormatPtr (ptr)));
+ ptr->SelectChanged.connect (*this, boost::bind (&ExportFormatManager::change_format_selection, this, _1, WeakFormatPtr (ptr)));
universal_set = universal_set->get_union (*ptr);
/* Encoding options */
@@ -233,15 +233,15 @@ ExportFormatManager::add_format (FormatPtr ptr)
boost::shared_ptr<HasSampleFormat> hsf;
if (hsf = boost::dynamic_pointer_cast<HasSampleFormat> (ptr)) {
- scoped_connect (hsf->SampleFormatSelectChanged, boost::bind (&ExportFormatManager::change_sample_format_selection, this, _1, _2));
- scoped_connect (hsf->DitherTypeSelectChanged, boost::bind (&ExportFormatManager::change_dither_type_selection, this, _1, _2));
+ hsf->SampleFormatSelectChanged.connect (*this, boost::bind (&ExportFormatManager::change_sample_format_selection, this, _1, _2));
+ hsf->DitherTypeSelectChanged.connect (*this, boost::bind (&ExportFormatManager::change_dither_type_selection, this, _1, _2));
}
}
void
ExportFormatManager::add_sample_rate (SampleRatePtr ptr)
{
- scoped_connect (ptr->SelectChanged, boost::bind (&ExportFormatManager::change_sample_rate_selection, this, _1, WeakSampleRatePtr (ptr)));
+ ptr->SelectChanged.connect (*this, boost::bind (&ExportFormatManager::change_sample_rate_selection, this, _1, WeakSampleRatePtr (ptr)));
sample_rates.push_back (ptr);
}
diff --git a/libs/ardour/export_formats.cc b/libs/ardour/export_formats.cc
index b7637f3c07..a7dd544d47 100644
--- a/libs/ardour/export_formats.cc
+++ b/libs/ardour/export_formats.cc
@@ -59,10 +59,10 @@ HasSampleFormat::add_sample_format (ExportFormatBase::SampleFormat format)
SampleFormatPtr ptr (new SampleFormatState (format, get_sample_format_name (format)));
sample_format_states.push_back (ptr);
- scoped_connect (ptr->SelectChanged, boost::bind (&HasSampleFormat::update_sample_format_selection, this, _1));
+ ptr->SelectChanged.connect (*this, boost::bind (&HasSampleFormat::update_sample_format_selection, this, _1));
// BOOST SIGNALS how to connect one signal to another
- // scoped_connect (ptr->SelectChanged, boost::bind (SampleFormatSelectChanged, _1, WeakSampleFormatPtr (ptr));
- // scoped_connect (ptr->CompatibleChanged, boost::bind (SampleFormatCompatibleChanged, _1, WeakSampleFormatPtr (ptr));
+ // ptr->SelectChanged.connect (*this, boost::bind (SampleFormatSelectChanged, _1, WeakSampleFormatPtr (ptr));
+ // ptr->CompatibleChanged.connect (*this, boost::bind (SampleFormatCompatibleChanged, _1, WeakSampleFormatPtr (ptr));
}
void
@@ -70,10 +70,10 @@ HasSampleFormat::add_dither_type (ExportFormatBase::DitherType type, Glib::ustri
{
DitherTypePtr ptr (new DitherTypeState (type, name));
dither_type_states.push_back (ptr);
- scoped_connect (ptr->SelectChanged, boost::bind (&HasSampleFormat::update_dither_type_selection, this, _1));
+ ptr->SelectChanged.connect (*this, boost::bind (&HasSampleFormat::update_dither_type_selection, this, _1));
// BOOST SIGNALS how to connect one signal to another
- // scoped_connect (ptr->SelectChanged, boost::bind (DitherTypeSelectChanged, _1, WeakDitherTypePtr (ptr));
- // scoped_connect (ptr->CompatibleChanged, boost::bind (DitherTypeCompatibleChanged, _1, WeakDitherTypePtr (ptr));
+ // ptr->SelectChanged.connect (*this, boost::bind (DitherTypeSelectChanged, _1, WeakDitherTypePtr (ptr));
+ // ptr->CompatibleChanged.connect (*this, boost::bind (DitherTypeCompatibleChanged, _1, WeakDitherTypePtr (ptr));
}
HasSampleFormat::SampleFormatPtr
diff --git a/libs/ardour/export_handler.cc b/libs/ardour/export_handler.cc
index 7bf231acd2..a85e41d40a 100644
--- a/libs/ardour/export_handler.cc
+++ b/libs/ardour/export_handler.cc
@@ -106,7 +106,7 @@ ExportHandler::ExportHandler (Session & session)
{
processor.reset (new ExportProcessor (session));
- files_written_connection = ExportProcessor::WritingFile.connect (boost::bind (&ExportHandler::add_file, this, _1));
+ ExportProcessor::WritingFile.connect (files_written_connection, boost::bind (&ExportHandler::add_file, this, _1));
}
ExportHandler::~ExportHandler ()
@@ -168,7 +168,7 @@ ExportHandler::do_export (bool rt)
realtime = rt;
- export_read_finished_connection = session.ExportReadFinished.connect (boost::bind (&ExportHandler::finish_timespan, this));
+ session.ExportReadFinished.connect (export_read_finished_connection, boost::bind (&ExportHandler::finish_timespan, this));
start_timespan ();
}
@@ -505,7 +505,7 @@ ExportHandler::start_timespan ()
/* connect stuff and start export */
- current_timespan->process_connection = session.ProcessExport.connect (boost::bind (&ExportTimespan::process, current_timespan, _1));
+ session.ProcessExport.connect (current_timespan->process_connection, boost::bind (&ExportTimespan::process, current_timespan, _1));
session.start_audio_export (current_timespan->get_start(), realtime);
}
@@ -566,7 +566,7 @@ ExportHandler::timespan_thread_finished ()
cc = current_map_it->second.channel_config;
}
- channel_config_connection = cc->FilesWritten.connect (boost::bind (&ExportHandler::timespan_thread_finished, this));
+ cc->FilesWritten.connect (channel_config_connection, boost::bind (&ExportHandler::timespan_thread_finished, this));
++current_map_it;
} else { /* All files are written from current timespan, reset timespan and start new */
diff --git a/libs/ardour/export_processor.cc b/libs/ardour/export_processor.cc
index 7d04e8f8d6..c7fcbd55aa 100644
--- a/libs/ardour/export_processor.cc
+++ b/libs/ardour/export_processor.cc
@@ -38,7 +38,7 @@ using namespace PBD;
namespace ARDOUR
{
-boost::signals2::signal<void (const Glib::ustring&)> ExportProcessor::WritingFile;
+PBD::Signal1<void,const Glib::ustring&> ExportProcessor::WritingFile;
ExportProcessor::ExportProcessor (Session & session) :
session (session),
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index e3e37a7107..b2f71ca6e6 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -109,7 +109,7 @@ apply_gain_to_buffer_t ARDOUR::apply_gain_to_buffer = 0;
mix_buffers_with_gain_t ARDOUR::mix_buffers_with_gain = 0;
mix_buffers_no_gain_t ARDOUR::mix_buffers_no_gain = 0;
-boost::signals2::signal<void(std::string)> ARDOUR::BootMessage;
+PBD::Signal1<void,std::string> ARDOUR::BootMessage;
void ARDOUR::setup_enum_writer ();
diff --git a/libs/ardour/internal_return.cc b/libs/ardour/internal_return.cc
index ccee62c988..f42d3c4e80 100644
--- a/libs/ardour/internal_return.cc
+++ b/libs/ardour/internal_return.cc
@@ -27,20 +27,20 @@
using namespace std;
using namespace ARDOUR;
-boost::signals2::signal<void(nframes_t)> InternalReturn::CycleStart;
+PBD::Signal1<void,nframes_t> InternalReturn::CycleStart;
InternalReturn::InternalReturn (Session& s)
: Return (s, true)
, user_count (0)
{
- scoped_connect (CycleStart, boost::bind (&InternalReturn::cycle_start, this, _1));
+ CycleStart.connect (*this, boost::bind (&InternalReturn::cycle_start, this, _1));
}
InternalReturn::InternalReturn (Session& s, const XMLNode& node)
: Return (s, node, true)
, user_count (0)
{
- scoped_connect (CycleStart, boost::bind (&InternalReturn::cycle_start, this, _1));
+ CycleStart.connect (*this, boost::bind (&InternalReturn::cycle_start, this, _1));
}
void
diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc
index d6489f8f49..7fc2efe9b9 100644
--- a/libs/ardour/internal_send.cc
+++ b/libs/ardour/internal_send.cc
@@ -43,8 +43,8 @@ InternalSend::InternalSend (Session& s, boost::shared_ptr<MuteMaster> mm, boost:
set_name (sendto->name());
- scoped_connect (_send_to->GoingAway, boost::bind (&InternalSend::send_to_going_away, this));
- scoped_connect (_send_to->NameChanged, boost::bind (&InternalSend::send_to_name_changed, this));
+ _send_to->GoingAway.connect (*this, boost::bind (&InternalSend::send_to_going_away, this));
+ _send_to->NameChanged.connect (*this, boost::bind (&InternalSend::send_to_name_changed, this));
}
InternalSend::InternalSend (Session& s, boost::shared_ptr<MuteMaster> mm, const XMLNode& node)
@@ -187,7 +187,7 @@ InternalSend::set_our_state (const XMLNode& node, int version)
*/
if (!IO::connecting_legal) {
- connect_c = IO::ConnectingLegal.connect (boost::bind (&InternalSend::connect_when_legal, this));
+ IO::ConnectingLegal.connect (connect_c, boost::bind (&InternalSend::connect_when_legal, this));
} else {
connect_when_legal ();
}
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index b9fd9ccbc6..f47e147a18 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -67,8 +67,8 @@ using namespace PBD;
const string IO::state_node_name = "IO";
bool IO::connecting_legal = false;
-boost::signals2::signal<int()> IO::ConnectingLegal;
-boost::signals2::signal<void(ChanCount)> IO::PortCountChanged;
+PBD::Signal0<int> IO::ConnectingLegal;
+PBD::Signal1<void,ChanCount> IO::PortCountChanged;
/** @param default_type The type of port that will be created by ensure_io
* and friends if no type is explicitly requested (to avoid breakage).
@@ -566,7 +566,7 @@ IO::set_state (const XMLNode& node, int version)
pending_state_node = new XMLNode (node);
pending_state_node_version = version;
pending_state_node_in = false;
- connection_legal_c = ConnectingLegal.connect (boost::bind (&IO::connecting_became_legal, this));
+ ConnectingLegal.connect (connection_legal_c, boost::bind (&IO::connecting_became_legal, this));
}
@@ -619,7 +619,7 @@ IO::set_state_2X (const XMLNode& node, int version, bool in)
pending_state_node = new XMLNode (node);
pending_state_node_version = version;
pending_state_node_in = in;
- connection_legal_c = ConnectingLegal.connect (boost::bind (&IO::connecting_became_legal, this));
+ ConnectingLegal.connect (connection_legal_c, boost::bind (&IO::connecting_became_legal, this));
}
return 0;
@@ -1399,7 +1399,7 @@ IO::bundles_connected ()
IO::UserBundleInfo::UserBundleInfo (IO* io, boost::shared_ptr<UserBundle> b)
{
bundle = b;
- changed = b->Changed.connect (boost::bind (&IO::bundle_changed, io, _1));
+ b->Changed.connect (changed, boost::bind (&IO::bundle_changed, io, _1));
}
std::string
diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc
index 4ad0f58580..580fd7804c 100644
--- a/libs/ardour/meter.cc
+++ b/libs/ardour/meter.cc
@@ -31,39 +31,7 @@ using namespace std;
using namespace ARDOUR;
-boost::signals2::signal<void()> Metering::Meter;
-Glib::StaticMutex Metering::m_meter_signal_lock;
-
-boost::signals2::connection
-Metering::connect (boost::function<void()> f)
-{
- // SignalProcessor::Meter is emitted from another thread so the
- // Meter signal must be protected.
- Glib::Mutex::Lock guard (m_meter_signal_lock);
- return Meter.connect (f);
-}
-
-void
-Metering::disconnect (boost::signals2::connection& c)
-{
- Glib::Mutex::Lock guard (m_meter_signal_lock);
- c.disconnect ();
-}
-
-/**
- Update the meters.
-
- The meter signal lock is taken to prevent modification of the
- Meter signal while updating the meters, taking the meter signal
- lock prior to taking the io_lock ensures that all IO will remain
- valid while metering.
-*/
-void
-Metering::update_meters()
-{
- Glib::Mutex::Lock guard (m_meter_signal_lock);
- Meter(); /* EMIT SIGNAL */
-}
+PBD::Signal0<void> Metering::Meter;
PeakMeter::PeakMeter (Session& s, const XMLNode& node)
: Processor (s, node)
diff --git a/libs/ardour/midi_clock_slave.cc b/libs/ardour/midi_clock_slave.cc
index 12d25ac9ae..7303059207 100644
--- a/libs/ardour/midi_clock_slave.cc
+++ b/libs/ardour/midi_clock_slave.cc
@@ -43,8 +43,7 @@ using namespace MIDI;
using namespace PBD;
MIDIClock_Slave::MIDIClock_Slave (Session& s, MIDI::Port& p, int ppqn)
- : port_connections (0)
- , ppqn (ppqn)
+ : ppqn (ppqn)
, bandwidth (30.0 / 60.0) // 1 BpM = 1 / 60 Hz
{
session = (ISlaveSessionProxy *) new SlaveSessionProxy(s);
@@ -54,7 +53,6 @@ MIDIClock_Slave::MIDIClock_Slave (Session& s, MIDI::Port& p, int ppqn)
MIDIClock_Slave::MIDIClock_Slave (ISlaveSessionProxy* session_proxy, int ppqn)
: session(session_proxy)
- , port_connections (0)
, ppqn (ppqn)
, bandwidth (30.0 / 60.0) // 1 BpM = 1 / 60 Hz
{
@@ -65,26 +63,24 @@ MIDIClock_Slave::MIDIClock_Slave (ISlaveSessionProxy* session_proxy, int ppqn)
MIDIClock_Slave::~MIDIClock_Slave()
{
delete session;
- delete port_connections;
}
void
MIDIClock_Slave::rebind (MIDI::Port& p)
{
- delete port_connections;
- port_connections = new ScopedConnectionList;
-
+ port_connections.drop_connections();
+
port = &p;
#ifdef DEBUG_MIDI_CLOCK
std::cerr << "MIDIClock_Slave: connecting to port " << port->name() << std::endl;
#endif
- port_connections->add_connection (port->input()->timing.connect (boost::bind (&MIDIClock_Slave::update_midi_clock, this, _1, _2)));
- port_connections->add_connection (port->input()->start.connect (boost::bind (&MIDIClock_Slave::start, this, _1, _2)));
- port_connections->add_connection (port->input()->contineu.connect (boost::bind (&MIDIClock_Slave::contineu, this, _1, _2)));
- port_connections->add_connection (port->input()->stop.connect (boost::bind (&MIDIClock_Slave::stop, this, _1, _2)));
- port_connections->add_connection (port->input()->position.connect (boost::bind (&MIDIClock_Slave::position, this, _1, _2, 3)));
+ port->input()->timing.connect (port_connections, boost::bind (&MIDIClock_Slave::update_midi_clock, this, _1, _2));
+ port->input()->start.connect (port_connections, boost::bind (&MIDIClock_Slave::start, this, _1, _2));
+ port->input()->contineu.connect (port_connections, boost::bind (&MIDIClock_Slave::contineu, this, _1, _2));
+ port->input()->stop.connect (port_connections, boost::bind (&MIDIClock_Slave::stop, this, _1, _2));
+ port->input()->position.connect (port_connections, boost::bind (&MIDIClock_Slave::position, this, _1, _2, 3));
}
void
diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc
index 6b181b1a27..2320bd4be4 100644
--- a/libs/ardour/midi_diskstream.cc
+++ b/libs/ardour/midi_diskstream.cc
@@ -1024,7 +1024,7 @@ MidiDiskstream::transport_stopped (struct tm& /*when*/, time_t /*twhen*/, bool a
continue; /* XXX is this OK? */
}
- scoped_connect (region->GoingAway, boost::bind (&Diskstream::remove_region_from_last_capture, this, boost::weak_ptr<Region>(region)));
+ region->GoingAway.connect (*this, boost::bind (&Diskstream::remove_region_from_last_capture, this, boost::weak_ptr<Region>(region)));
_last_capture_regions.push_back (region);
diff --git a/libs/ardour/midi_region.cc b/libs/ardour/midi_region.cc
index 3b13d4db8d..b477dbb2f9 100644
--- a/libs/ardour/midi_region.cc
+++ b/libs/ardour/midi_region.cc
@@ -52,7 +52,7 @@ MidiRegion::MidiRegion (boost::shared_ptr<MidiSource> src, nframes_t start, nfra
: Region (src, start, length, PBD::basename_nosuffix(src->name()), DataType::MIDI, 0, Region::Flag(Region::DefaultFlags|Region::External))
{
assert(_name.find("/") == string::npos);
- scoped_connect (midi_source(0)->Switched, boost::bind (&MidiRegion::switch_source, this, _1));
+ midi_source(0)->Switched.connect (*this, boost::bind (&MidiRegion::switch_source, this, _1));
}
/* Basic MidiRegion constructor (one channel) */
@@ -60,7 +60,7 @@ MidiRegion::MidiRegion (boost::shared_ptr<MidiSource> src, nframes_t start, nfra
: Region (src, start, length, name, DataType::MIDI, layer, flags)
{
assert(_name.find("/") == string::npos);
- scoped_connect (midi_source(0)->Switched, boost::bind (&MidiRegion::switch_source, this, _1));
+ midi_source(0)->Switched.connect (*this, boost::bind (&MidiRegion::switch_source, this, _1));
}
/* Basic MidiRegion constructor (many channels) */
@@ -68,7 +68,7 @@ MidiRegion::MidiRegion (const SourceList& srcs, nframes_t start, nframes_t lengt
: Region (srcs, start, length, name, DataType::MIDI, layer, flags)
{
assert(_name.find("/") == string::npos);
- scoped_connect (midi_source(0)->Switched, boost::bind (&MidiRegion::switch_source, this, _1));
+ midi_source(0)->Switched.connect (*this, boost::bind (&MidiRegion::switch_source, this, _1));
}
@@ -77,14 +77,14 @@ MidiRegion::MidiRegion (boost::shared_ptr<const MidiRegion> other, nframes_t off
: Region (other, offset, length, name, layer, flags)
{
assert(_name.find("/") == string::npos);
- scoped_connect (midi_source(0)->Switched, boost::bind (&MidiRegion::switch_source, this, _1));
+ midi_source(0)->Switched.connect (*this, boost::bind (&MidiRegion::switch_source, this, _1));
}
MidiRegion::MidiRegion (boost::shared_ptr<const MidiRegion> other)
: Region (other)
{
assert(_name.find("/") == string::npos);
- scoped_connect (midi_source(0)->Switched, boost::bind (&MidiRegion::switch_source, this, _1));
+ midi_source(0)->Switched.connect (*this, boost::bind (&MidiRegion::switch_source, this, _1));
}
MidiRegion::MidiRegion (boost::shared_ptr<MidiSource> src, const XMLNode& node)
@@ -94,7 +94,7 @@ MidiRegion::MidiRegion (boost::shared_ptr<MidiSource> src, const XMLNode& node)
throw failed_constructor();
}
- scoped_connect (midi_source(0)->Switched, boost::bind (&MidiRegion::switch_source, this, _1));
+ midi_source(0)->Switched.connect (*this, boost::bind (&MidiRegion::switch_source, this, _1));
assert(_name.find("/") == string::npos);
assert(_type == DataType::MIDI);
}
@@ -106,7 +106,7 @@ MidiRegion::MidiRegion (const SourceList& srcs, const XMLNode& node)
throw failed_constructor();
}
- scoped_connect (midi_source(0)->Switched, boost::bind (&MidiRegion::switch_source, this, _1));
+ midi_source(0)->Switched.connect (*this, boost::bind (&MidiRegion::switch_source, this, _1));
assert(_name.find("/") == string::npos);
assert(_type == DataType::MIDI);
}
diff --git a/libs/ardour/midi_source.cc b/libs/ardour/midi_source.cc
index 14b096c915..1e890170c4 100644
--- a/libs/ardour/midi_source.cc
+++ b/libs/ardour/midi_source.cc
@@ -49,7 +49,7 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
-boost::signals2::signal<void(MidiSource*)> MidiSource::MidiSourceCreated;
+PBD::Signal1<void,MidiSource*> MidiSource::MidiSourceCreated;
MidiSource::MidiSource (Session& s, string name, Source::Flag flags)
: Source(s, DataType::MIDI, name, flags)
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index 179d0bb57c..a6c64c3c30 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -230,7 +230,7 @@ MidiTrack::_set_state (const XMLNode& node, int version, bool call_base)
pending_state = const_cast<XMLNode*> (&node);
if (_session.state_of_the_state() & Session::Loading) {
- scoped_connect (_session.StateReady, boost::bind (&MidiTrack::set_state_part_two, this));
+ _session.StateReady.connect (*this, boost::bind (&MidiTrack::set_state_part_two, this));
} else {
set_state_part_two ();
}
diff --git a/libs/ardour/midi_ui.cc b/libs/ardour/midi_ui.cc
index db26ee8e83..be7a2bafc0 100644
--- a/libs/ardour/midi_ui.cc
+++ b/libs/ardour/midi_ui.cc
@@ -46,7 +46,7 @@ MidiControlUI::MidiControlUI (Session& s)
: AbstractUI<MidiUIRequest> (_("midiui"))
, _session (s)
{
- rebind_connection = MIDI::Manager::instance()->PortsChanged.connect (boost::bind (&MidiControlUI::change_midi_ports, this));
+ MIDI::Manager::instance()->PortsChanged.connect (rebind_connection, boost::bind (&MidiControlUI::change_midi_ports, this));
}
MidiControlUI::~MidiControlUI ()
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc
index 50ef5011ba..91ac47c883 100644
--- a/libs/ardour/mtc_slave.cc
+++ b/libs/ardour/mtc_slave.cc
@@ -52,7 +52,6 @@ const int MTC_Slave::frame_tolerance = 2;
MTC_Slave::MTC_Slave (Session& s, MIDI::Port& p)
: session (s)
- , port_connections (0)
{
can_notify_on_unknown_rate = true;
did_reset_tc_format = false;
@@ -71,8 +70,6 @@ MTC_Slave::MTC_Slave (Session& s, MIDI::Port& p)
MTC_Slave::~MTC_Slave()
{
- delete port_connections;
-
if (did_reset_tc_format) {
session.config.set_timecode_format (saved_tc_format);
}
@@ -91,14 +88,13 @@ MTC_Slave::give_slave_full_control_over_transport_speed() const
void
MTC_Slave::rebind (MIDI::Port& p)
{
- delete port_connections;
- port_connections = new ScopedConnectionList;
+ port_connections.drop_connections ();
port = &p;
- port_connections->add_connection (port->input()->mtc_time.connect ( boost::bind (&MTC_Slave::update_mtc_time, this, _1, _2, _3)));
- port_connections->add_connection (port->input()->mtc_qtr.connect (boost::bind (&MTC_Slave::update_mtc_qtr, this, _1, _2, _3)));
- port_connections->add_connection (port->input()->mtc_status.connect (boost::bind (&MTC_Slave::update_mtc_status, this, _1)));
+ port->input()->mtc_time.connect (port_connections, boost::bind (&MTC_Slave::update_mtc_time, this, _1, _2, _3));
+ port->input()->mtc_qtr.connect (port_connections, boost::bind (&MTC_Slave::update_mtc_qtr, this, _1, _2, _3));
+ port->input()->mtc_status.connect (port_connections, boost::bind (&MTC_Slave::update_mtc_status, this, _1));
}
void
diff --git a/libs/ardour/named_selection.cc b/libs/ardour/named_selection.cc
index 81e9f9df8a..a829c44a50 100644
--- a/libs/ardour/named_selection.cc
+++ b/libs/ardour/named_selection.cc
@@ -32,7 +32,7 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
-boost::signals2::signal<void(NamedSelection*)> NamedSelection::NamedSelectionCreated;
+PBD::Signal1<void,NamedSelection*> NamedSelection::NamedSelectionCreated;
typedef std::list<boost::shared_ptr<Playlist> > PlaylistList;
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index b93e2b311a..985cd6740a 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -270,7 +270,7 @@ Playlist::init (bool hide)
freeze_length = 0;
_explicit_relayering = false;
- scoped_connect (Modified, boost::bind (&Playlist::mark_session_dirty, this));
+ Modified.connect (*this, boost::bind (&Playlist::mark_session_dirty, this));
}
Playlist::~Playlist ()
@@ -605,8 +605,7 @@ Playlist::add_region_internal (boost::shared_ptr<Region> region, nframes_t posit
}
}
- region_state_changed_connections.add_connection
- (region->StateChanged.connect (boost::bind (&Playlist::region_changed_proxy, this, _1, boost::weak_ptr<Region> (region))));
+ region->StateChanged.connect (region_state_changed_connections, boost::bind (&Playlist::region_changed_proxy, this, _1, boost::weak_ptr<Region> (region)));
return true;
}
diff --git a/libs/ardour/playlist_factory.cc b/libs/ardour/playlist_factory.cc
index cfcec40d1b..2619d0e0c4 100644
--- a/libs/ardour/playlist_factory.cc
+++ b/libs/ardour/playlist_factory.cc
@@ -31,7 +31,7 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
-boost::signals2::signal<void(boost::shared_ptr<Playlist>, bool)> PlaylistFactory::PlaylistCreated;
+PBD::Signal2<void,boost::shared_ptr<Playlist>, bool> PlaylistFactory::PlaylistCreated;
boost::shared_ptr<Playlist>
PlaylistFactory::create (Session& s, const XMLNode& node, bool hidden, bool unused)
diff --git a/libs/ardour/processor.cc b/libs/ardour/processor.cc
index 54701ae8d4..65517be4b1 100644
--- a/libs/ardour/processor.cc
+++ b/libs/ardour/processor.cc
@@ -56,7 +56,7 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
-boost::signals2::signal<void(Processor*)> Processor::ProcessorCreated;
+PBD::Signal1<void,Processor*> Processor::ProcessorCreated;
// Always saved as Processor, but may be IOProcessor or Send in legacy sessions
const string Processor::state_node_name = "Processor";
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc
index 4fcb7de3ca..731a7c04dd 100644
--- a/libs/ardour/region.cc
+++ b/libs/ardour/region.cc
@@ -54,7 +54,7 @@ Change Region::LockChanged = ARDOUR::new_change ();
Change Region::LayerChanged = ARDOUR::new_change ();
Change Region::HiddenChanged = ARDOUR::new_change ();
-boost::signals2::signal<void(boost::shared_ptr<ARDOUR::Region>)> Region::RegionPropertyChanged;
+PBD::Signal1<void,boost::shared_ptr<ARDOUR::Region> > Region::RegionPropertyChanged;
/* derived-from-derived constructor (no sources in constructor) */
Region::Region (Session& s, nframes_t start, nframes_t length, const string& name, DataType type, layer_t layer, Region::Flag flags)
@@ -109,7 +109,7 @@ Region::Region (boost::shared_ptr<Source> src, nframes_t start, nframes_t length
_sources.push_back (src);
_master_sources.push_back (src);
- scoped_connect (src->GoingAway, boost::bind (&Region::source_deleted, this, boost::weak_ptr<Source>(src)));
+ src->GoingAway.connect (*this, boost::bind (&Region::source_deleted, this, boost::weak_ptr<Source>(src)));
assert(_sources.size() > 0);
_positional_lock_style = AudioTime;
@@ -1586,14 +1586,14 @@ Region::use_sources (SourceList const & s)
for (SourceList::const_iterator i = s.begin (); i != s.end(); ++i) {
_sources.push_back (*i);
- scoped_connect ((*i)->GoingAway, boost::bind (&Region::source_deleted, this, boost::weak_ptr<Source>(*i)));
+ (*i)->GoingAway.connect (*this, boost::bind (&Region::source_deleted, this, boost::weak_ptr<Source>(*i)));
unique_srcs.insert (*i);
}
for (SourceList::const_iterator i = s.begin (); i != s.end(); ++i) {
_master_sources.push_back (*i);
if (unique_srcs.find (*i) == unique_srcs.end()) {
- scoped_connect ((*i)->GoingAway, boost::bind (&Region::source_deleted, this, boost::weak_ptr<Source>(*i)));
+ (*i)->GoingAway.connect (*this, boost::bind (&Region::source_deleted, this, boost::weak_ptr<Source>(*i)));
}
}
}
diff --git a/libs/ardour/region_factory.cc b/libs/ardour/region_factory.cc
index ff4b9d5270..6399645be1 100644
--- a/libs/ardour/region_factory.cc
+++ b/libs/ardour/region_factory.cc
@@ -34,7 +34,7 @@
using namespace ARDOUR;
using namespace PBD;
-boost::signals2::signal<void(boost::shared_ptr<Region>)> RegionFactory::CheckNewRegion;
+PBD::Signal1<void,boost::shared_ptr<Region> > RegionFactory::CheckNewRegion;
boost::shared_ptr<Region>
RegionFactory::create (boost::shared_ptr<Region> region, nframes_t start,
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 154c5fd0a0..eeb8ae83c1 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -63,7 +63,7 @@ using namespace ARDOUR;
using namespace PBD;
uint32_t Route::order_key_cnt = 0;
-boost::signals2::signal<void(string const&)> Route::SyncOrderKeys;
+PBD::Signal1<void,string const&> Route::SyncOrderKeys;
Route::Route (Session& sess, string name, Flag flg, DataType default_type)
: SessionObject (sess, name)
@@ -93,7 +93,7 @@ Route::Route (Session& sess, string name, Flag flg, DataType default_type)
/* now that we have _meter, its safe to connect to this */
- scoped_connect (Metering::Meter, (boost::bind (&Route::meter, this)));
+ Metering::Meter.connect (*this, (boost::bind (&Route::meter, this)));
}
Route::Route (Session& sess, const XMLNode& node, DataType default_type)
@@ -109,7 +109,7 @@ Route::Route (Session& sess, const XMLNode& node, DataType default_type)
/* now that we have _meter, its safe to connect to this */
- scoped_connect (Metering::Meter, (boost::bind (&Route::meter, this)));
+ Metering::Meter.connect (*this, (boost::bind (&Route::meter, this)));
}
void
@@ -147,8 +147,8 @@ Route::init ()
_input.reset (new IO (_session, _name, IO::Input, _default_type));
_output.reset (new IO (_session, _name, IO::Output, _default_type));
- scoped_connect (_input->changed, boost::bind (&Route::input_change_handler, this, _1, _2));
- scoped_connect (_output->changed, boost::bind (&Route::output_change_handler, this, _1, _2));
+ _input->changed.connect (*this, boost::bind (&Route::input_change_handler, this, _1, _2));
+ _output->changed.connect (*this, boost::bind (&Route::output_change_handler, this, _1, _2));
/* add amp processor */
@@ -792,7 +792,7 @@ Route::add_processor (boost::shared_ptr<Processor> processor, ProcessorList::ite
// XXX: do we want to emit the signal here ? change call order.
processor->activate ();
}
- scoped_connect (processor->ActiveChanged, boost::bind (&Session::update_latency_compensation, &_session, false, false));
+ processor->ActiveChanged.connect (*this, boost::bind (&Session::update_latency_compensation, &_session, false, false));
_output->set_user_latency (0);
}
@@ -1047,7 +1047,7 @@ Route::add_processors (const ProcessorList& others, ProcessorList::iterator iter
return -1;
}
- scoped_connect ((*i)->ActiveChanged, boost::bind (&Session::update_latency_compensation, &_session, false, false));
+ (*i)->ActiveChanged.connect (*this, boost::bind (&Session::update_latency_compensation, &_session, false, false));
}
_output->set_user_latency (0);
diff --git a/libs/ardour/route_group.cc b/libs/ardour/route_group.cc
index 82953be0f8..1da2eda678 100644
--- a/libs/ardour/route_group.cc
+++ b/libs/ardour/route_group.cc
@@ -76,7 +76,7 @@ RouteGroup::add (boost::shared_ptr<Route> r)
routes->push_back (r);
r->join_route_group (this);
- scoped_connect (r->GoingAway, boost::bind (&RouteGroup::remove_when_going_away, this, boost::weak_ptr<Route> (r)));
+ r->GoingAway.connect (*this, boost::bind (&RouteGroup::remove_when_going_away, this, boost::weak_ptr<Route> (r)));
_session.set_dirty ();
changed (); /* EMIT SIGNAL */
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index d8e3b2843c..b2a1aa8da8 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -103,17 +103,17 @@ using boost::weak_ptr;
bool Session::_disable_all_loaded_plugins = false;
-boost::signals2::signal<void(std::string)> Session::Dialog;
-boost::signals2::signal<int()> Session::AskAboutPendingState;
-boost::signals2::signal<int(nframes_t,nframes_t)> Session::AskAboutSampleRateMismatch;
-boost::signals2::signal<void()> Session::SendFeedback;
-
-boost::signals2::signal<void()> Session::TimecodeOffsetChanged;
-boost::signals2::signal<void()> Session::StartTimeChanged;
-boost::signals2::signal<void()> Session::EndTimeChanged;
-boost::signals2::signal<void()> Session::AutoBindingOn;
-boost::signals2::signal<void()> Session::AutoBindingOff;
-boost::signals2::signal<void(std::string, std::string)> Session::Exported;
+PBD::Signal1<void,std::string> Session::Dialog;
+PBD::Signal0<int> Session::AskAboutPendingState;
+PBD::Signal2<int,nframes_t,nframes_t> Session::AskAboutSampleRateMismatch;
+PBD::Signal0<void> Session::SendFeedback;
+
+PBD::Signal0<void> Session::TimecodeOffsetChanged;
+PBD::Signal0<void> Session::StartTimeChanged;
+PBD::Signal0<void> Session::EndTimeChanged;
+PBD::Signal0<void> Session::AutoBindingOn;
+PBD::Signal0<void> Session::AutoBindingOff;
+PBD::Signal2<void,std::string, std::string> Session::Exported;
static void clean_up_session_event (SessionEvent* ev) { delete ev; }
const SessionEvent::RTeventCallback Session::rt_cleanup (clean_up_session_event);
@@ -189,8 +189,8 @@ Session::Session (AudioEngine &eng,
_state_of_the_state = StateOfTheState (_state_of_the_state & ~Dirty);
- scoped_connect (Config->ParameterChanged, boost::bind (&Session::config_changed, this, _1, false));
- scoped_connect (config.ParameterChanged, boost::bind (&Session::config_changed, this, _1, true));
+ Config->ParameterChanged.connect (*this, boost::bind (&Session::config_changed, this, _1, false));
+ config.ParameterChanged.connect (*this, boost::bind (&Session::config_changed, this, _1, true));
if (was_dirty) {
DirtyChanged (); /* EMIT SIGNAL */
@@ -326,7 +326,7 @@ Session::Session (AudioEngine &eng,
_state_of_the_state = StateOfTheState (_state_of_the_state & ~Dirty);
- scoped_connect (Config->ParameterChanged, boost::bind (&Session::config_changed, this, _1, false));
+ Config->ParameterChanged.connect (*this, boost::bind (&Session::config_changed, this, _1, false));
}
Session::~Session ()
@@ -524,7 +524,7 @@ Session::when_engine_running ()
/* every time we reconnect, recompute worst case output latencies */
- scoped_connect (_engine.Running, boost::bind (&Session::set_worst_io_latencies, this));
+ _engine.Running.connect (*this, boost::bind (&Session::set_worst_io_latencies, this));
if (synced_to_jack()) {
_engine.transport_stop ();
@@ -878,7 +878,7 @@ Session::diskstream_playlist_changed (boost::weak_ptr<Diskstream> wp)
boost::shared_ptr<Playlist> playlist;
if ((playlist = dstream->playlist()) != 0) {
- scoped_connect (playlist->LengthChanged, boost::bind (&Session::playlist_length_changed, this));
+ playlist->LengthChanged.connect (*this, boost::bind (&Session::playlist_length_changed, this));
}
/* see comment in playlist_length_changed () */
@@ -1014,9 +1014,9 @@ Session::set_auto_punch_location (Location* location)
punch_connections.drop_connections ();
- punch_connections.add_connection (location->start_changed.connect (boost::bind (&Session::auto_punch_start_changed, this, _1)));
- punch_connections.add_connection (location->end_changed.connect (boost::bind (&Session::auto_punch_end_changed, this, _1)));
- punch_connections.add_connection (location->changed.connect (boost::bind (&Session::auto_punch_changed, this, _1)));
+ location->start_changed.connect (punch_connections, boost::bind (&Session::auto_punch_start_changed, this, _1));
+ location->end_changed.connect (punch_connections, boost::bind (&Session::auto_punch_end_changed, this, _1));
+ location->changed.connect (punch_connections, boost::bind (&Session::auto_punch_changed, this, _1));
location->set_auto_punch (true, this);
@@ -1052,9 +1052,9 @@ Session::set_auto_loop_location (Location* location)
loop_connections.drop_connections ();
- loop_connections.add_connection (location->start_changed.connect (boost::bind (&Session::auto_loop_changed, this, _1)));
- loop_connections.add_connection (location->end_changed.connect (boost::bind (&Session::auto_loop_changed, this, _1)));
- loop_connections.add_connection (location->changed.connect (boost::bind (&Session::auto_loop_changed, this, _1)));
+ location->start_changed.connect (loop_connections, boost::bind (&Session::auto_loop_changed, this, _1));
+ location->end_changed.connect (loop_connections, boost::bind (&Session::auto_loop_changed, this, _1));
+ location->changed.connect (loop_connections, boost::bind (&Session::auto_loop_changed, this, _1));
location->set_auto_loop (true, this);
@@ -1648,7 +1648,7 @@ Session::new_midi_track (TrackMode mode, RouteGroup* route_group, uint32_t how_m
route_group->add (track);
}
- scoped_connect (track->DiskstreamChanged, boost::bind (&Session::resort_routes, this));
+ track->DiskstreamChanged.connect (*this, boost::bind (&Session::resort_routes, this));
//track->set_remote_control_id (control_id);
new_routes.push_back (track);
@@ -1823,7 +1823,7 @@ Session::new_audio_track (int input_channels, int output_channels, TrackMode mod
track->audio_diskstream()->non_realtime_input_change();
- scoped_connect (track->DiskstreamChanged, boost::bind (&Session::resort_routes, this));
+ track->DiskstreamChanged.connect (*this, boost::bind (&Session::resort_routes, this));
track->set_remote_control_id (control_id);
++control_id;
@@ -2150,12 +2150,12 @@ Session::add_routes (RouteList& new_routes, bool save)
boost::weak_ptr<Route> wpr (*x);
- scoped_connect ((*x)->listen_changed, boost::bind (&Session::route_listen_changed, this, _1, wpr));
- scoped_connect ((*x)->solo_changed, boost::bind (&Session::route_solo_changed, this, _1, wpr));
- scoped_connect ((*x)->mute_changed, boost::bind (&Session::route_mute_changed, this, _1));
- scoped_connect ((*x)->output()->changed, boost::bind (&Session::set_worst_io_latencies_x, this, _1, _2));
- scoped_connect ((*x)->processors_changed, boost::bind (&Session::route_processors_changed, this, _1));
- scoped_connect ((*x)->route_group_changed, boost::bind (&Session::route_group_changed, this));
+ (*x)->listen_changed.connect (*this, boost::bind (&Session::route_listen_changed, this, _1, wpr));
+ (*x)->solo_changed.connect (*this, boost::bind (&Session::route_solo_changed, this, _1, wpr));
+ (*x)->mute_changed.connect (*this, boost::bind (&Session::route_mute_changed, this, _1));
+ (*x)->output()->changed.connect (*this, boost::bind (&Session::set_worst_io_latencies_x, this, _1, _2));
+ (*x)->processors_changed.connect (*this, boost::bind (&Session::route_processors_changed, this, _1));
+ (*x)->route_group_changed.connect (*this, boost::bind (&Session::route_group_changed, this));
if ((*x)->is_master()) {
_master_out = (*x);
@@ -2295,11 +2295,11 @@ Session::add_diskstream (boost::shared_ptr<Diskstream> dstream)
/* writer goes out of scope, copies ds back to main */
}
- scoped_connect (dstream->PlaylistChanged, boost::bind (&Session::diskstream_playlist_changed, this, boost::weak_ptr<Diskstream> (dstream)));
+ dstream->PlaylistChanged.connect (*this, boost::bind (&Session::diskstream_playlist_changed, this, boost::weak_ptr<Diskstream> (dstream)));
/* this will connect to future changes, and check the current length */
diskstream_playlist_changed (boost::weak_ptr<Diskstream> (dstream));
- scoped_connect (dstream->RecordEnableChanged, boost::bind (&Session::update_have_rec_enabled_diskstream, this));
+ dstream->RecordEnableChanged.connect (*this, boost::bind (&Session::update_have_rec_enabled_diskstream, this));
dstream->prepare ();
@@ -2813,8 +2813,8 @@ Session::add_regions (vector<boost::shared_ptr<Region> >& new_regions)
}
}
- scoped_connect (region->StateChanged, boost::bind (&Session::region_changed, this, _1, boost::weak_ptr<Region>(region)));
- scoped_connect (region->GoingAway, boost::bind (&Session::remove_region, this, boost::weak_ptr<Region>(region)));
+ region->StateChanged.connect (*this, boost::bind (&Session::region_changed, this, _1, boost::weak_ptr<Region>(region)));
+ region->GoingAway.connect (*this, boost::bind (&Session::remove_region, this, boost::weak_ptr<Region>(region)));
update_region_name_map (region);
}
@@ -3002,7 +3002,7 @@ Session::add_source (boost::shared_ptr<Source> source)
}
if (result.second) {
- scoped_connect (source->GoingAway, boost::bind (&Session::remove_source, this, boost::weak_ptr<Source> (source)));
+ source->GoingAway.connect (*this, boost::bind (&Session::remove_source, this, boost::weak_ptr<Source> (source)));
set_dirty();
}
@@ -3393,7 +3393,7 @@ Session::add_playlist (boost::shared_ptr<Playlist> playlist, bool unused)
bool existing = playlists->add (playlist);
if (!existing) {
- scoped_connect (playlist->GoingAway, boost::bind (&Session::remove_playlist, this, boost::weak_ptr<Playlist>(playlist)));
+ playlist->GoingAway.connect (*this, boost::bind (&Session::remove_playlist, this, boost::weak_ptr<Playlist>(playlist)));
}
if (unused) {
@@ -3567,7 +3567,7 @@ Session::graph_reordered ()
void
Session::add_processor (Processor* processor)
{
- scoped_connect (processor->GoingAway, boost::bind (&Session::remove_processor, this, processor));
+ processor->GoingAway.connect (*this, boost::bind (&Session::remove_processor, this, processor));
set_dirty();
}
diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc
index 8b56271e42..1bd0c2e7c7 100644
--- a/libs/ardour/session_export.cc
+++ b/libs/ardour/session_export.cc
@@ -91,8 +91,8 @@ Session::pre_export ()
_exporting = true;
export_status->running = true;
- scoped_connect (export_status->Aborting, boost::bind (&Session::stop_audio_export, this));
- scoped_connect (export_status->Finished, boost::bind (&Session::finalize_audio_export, this));
+ export_status->Aborting.connect (*this, boost::bind (&Session::stop_audio_export, this));
+ export_status->Finished.connect (*this, boost::bind (&Session::finalize_audio_export, this));
return 0;
}
@@ -150,7 +150,7 @@ Session::start_audio_export (nframes_t position, bool realtime)
last_process_function = process_function;
process_function = &Session::process_export;
} else {
- export_freewheel_connection = _engine.Freewheel.connect (boost::bind (&Session::process_export_fw, this, _1));
+ _engine.Freewheel.connect (export_freewheel_connection, boost::bind (&Session::process_export_fw, this, _1));
return _engine.freewheel (true);
}
diff --git a/libs/ardour/session_handle.cc b/libs/ardour/session_handle.cc
index 03671cfa68..f1f6147960 100644
--- a/libs/ardour/session_handle.cc
+++ b/libs/ardour/session_handle.cc
@@ -32,7 +32,7 @@ SessionHandlePtr::SessionHandlePtr (Session* s)
: _session (s)
{
if (_session) {
- _session_connections.add_connection (_session->GoingAway.connect (boost::bind (&SessionHandlePtr::session_going_away, this)));
+ _session->GoingAway.connect (_session_connections, boost::bind (&SessionHandlePtr::session_going_away, this));
}
}
@@ -47,7 +47,7 @@ SessionHandlePtr::set_session (Session* s)
if (s) {
_session = s;
- _session_connections.add_connection (_session->GoingAway.connect (boost::bind (&SessionHandlePtr::session_going_away, this)));
+ _session->GoingAway.connect (_session_connections, boost::bind (&SessionHandlePtr::session_going_away, this));
}
}
@@ -63,7 +63,7 @@ SessionHandlePtr::session_going_away ()
SessionHandleRef::SessionHandleRef (Session& s)
: _session (s)
{
- scoped_connect (_session.GoingAway, boost::bind (&SessionHandleRef::session_going_away, this));
+ _session.GoingAway.connect (*this, boost::bind (&SessionHandleRef::session_going_away, this));
}
void
diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc
index b2cece991c..4f0c70aa20 100644
--- a/libs/ardour/session_midi.cc
+++ b/libs/ardour/session_midi.cc
@@ -208,26 +208,26 @@ Session::set_mmc_port (string port_tag)
mmc->set_send_device_id (old_send_device_id);
}
- scoped_connect (mmc->Play, boost::bind (&Session::mmc_deferred_play, this, _1));
- scoped_connect (mmc->DeferredPlay, boost::bind (&Session::mmc_deferred_play, this, _1));
- scoped_connect (mmc->Stop, boost::bind (&Session::mmc_stop, this, _1));
- scoped_connect (mmc->FastForward, boost::bind (&Session::mmc_fast_forward, this, _1));
- scoped_connect (mmc->Rewind, boost::bind (&Session::mmc_rewind, this, _1));
- scoped_connect (mmc->Pause, boost::bind (&Session::mmc_pause, this, _1));
- scoped_connect (mmc->RecordPause, boost::bind (&Session::mmc_record_pause, this, _1));
- scoped_connect (mmc->RecordStrobe, boost::bind (&Session::mmc_record_strobe, this, _1));
- scoped_connect (mmc->RecordExit, boost::bind (&Session::mmc_record_exit, this, _1));
- scoped_connect (mmc->Locate, boost::bind (&Session::mmc_locate, this, _1, _2));
- scoped_connect (mmc->Step, boost::bind (&Session::mmc_step, this, _1, _2));
- scoped_connect (mmc->Shuttle, boost::bind (&Session::mmc_shuttle, this, _1, _2, _3));
- scoped_connect (mmc->TrackRecordStatusChange, boost::bind (&Session::mmc_record_enable, this, _1, _2, _3));
+ mmc->Play.connect (*this, boost::bind (&Session::mmc_deferred_play, this, _1));
+ mmc->DeferredPlay.connect (*this, boost::bind (&Session::mmc_deferred_play, this, _1));
+ mmc->Stop.connect (*this, boost::bind (&Session::mmc_stop, this, _1));
+ mmc->FastForward.connect (*this, boost::bind (&Session::mmc_fast_forward, this, _1));
+ mmc->Rewind.connect (*this, boost::bind (&Session::mmc_rewind, this, _1));
+ mmc->Pause.connect (*this, boost::bind (&Session::mmc_pause, this, _1));
+ mmc->RecordPause.connect (*this, boost::bind (&Session::mmc_record_pause, this, _1));
+ mmc->RecordStrobe.connect (*this, boost::bind (&Session::mmc_record_strobe, this, _1));
+ mmc->RecordExit.connect (*this, boost::bind (&Session::mmc_record_exit, this, _1));
+ mmc->Locate.connect (*this, boost::bind (&Session::mmc_locate, this, _1, _2));
+ mmc->Step.connect (*this, boost::bind (&Session::mmc_step, this, _1, _2));
+ mmc->Shuttle.connect (*this, boost::bind (&Session::mmc_shuttle, this, _1, _2, _3));
+ mmc->TrackRecordStatusChange.connect (*this, boost::bind (&Session::mmc_record_enable, this, _1, _2, _3));
/* also handle MIDI SPP because its so common */
- scoped_connect (_mmc_port->input()->start, boost::bind (&Session::spp_start, this, _1, _2));
- scoped_connect (_mmc_port->input()->contineu, boost::bind (&Session::spp_continue, this, _1, _2));
- scoped_connect (_mmc_port->input()->stop, boost::bind (&Session::spp_stop, this, _1, _2));
+ _mmc_port->input()->start.connect (*this, boost::bind (&Session::spp_start, this, _1, _2));
+ _mmc_port->input()->contineu.connect (*this, boost::bind (&Session::spp_continue, this, _1, _2));
+ _mmc_port->input()->stop.connect (*this, boost::bind (&Session::spp_stop, this, _1, _2));
Config->set_mmc_port_name (port_tag);
diff --git a/libs/ardour/session_playlists.cc b/libs/ardour/session_playlists.cc
index ec9220ed41..0d32ea75d7 100644
--- a/libs/ardour/session_playlists.cc
+++ b/libs/ardour/session_playlists.cc
@@ -74,7 +74,7 @@ SessionPlaylists::add (boost::shared_ptr<Playlist> playlist)
if (!existing) {
playlists.insert (playlists.begin(), playlist);
- scoped_connect (playlist->InUse, boost::bind (&SessionPlaylists::track, this, _1, boost::weak_ptr<Playlist>(playlist)));
+ playlist->InUse.connect (*this, boost::bind (&SessionPlaylists::track, this, _1, boost::weak_ptr<Playlist>(playlist)));
}
return existing;
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 4c7515f5e4..16cbfd1d36 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -164,7 +164,7 @@ Session::first_stage_init (string fullpath, string snapshot_name)
_base_frame_rate = _current_frame_rate;
_tempo_map = new TempoMap (_current_frame_rate);
- scoped_connect (_tempo_map->StateChanged, boost::bind (&Session::tempo_map_changed, this, _1));
+ _tempo_map->StateChanged.connect (*this, boost::bind (&Session::tempo_map_changed, this, _1));
_non_soloed_outs_muted = false;
@@ -266,21 +266,21 @@ Session::first_stage_init (string fullpath, string snapshot_name)
delta_accumulator_cnt = 0;
_slave_state = Stopped;
- scoped_connect (_engine.GraphReordered, boost::bind (&Session::graph_reordered, this));
+ _engine.GraphReordered.connect (*this, boost::bind (&Session::graph_reordered, this));
/* These are all static "per-class" signals */
- scoped_connect (RegionFactory::CheckNewRegion, boost::bind (&Session::add_region, this, _1));
- scoped_connect (SourceFactory::SourceCreated, boost::bind (&Session::add_source, this, _1));
- scoped_connect (PlaylistFactory::PlaylistCreated, boost::bind (&Session::add_playlist, this, _1, _2));
- scoped_connect (Processor::ProcessorCreated, boost::bind (&Session::add_processor, this, _1));
- scoped_connect (NamedSelection::NamedSelectionCreated, boost::bind (&Session::add_named_selection, this, _1));
- scoped_connect (AutomationList::AutomationListCreated, boost::bind (&Session::add_automation_list, this, _1));
+ RegionFactory::CheckNewRegion.connect (*this, boost::bind (&Session::add_region, this, _1));
+ SourceFactory::SourceCreated.connect (*this, boost::bind (&Session::add_source, this, _1));
+ PlaylistFactory::PlaylistCreated.connect (*this, boost::bind (&Session::add_playlist, this, _1, _2));
+ Processor::ProcessorCreated.connect (*this, boost::bind (&Session::add_processor, this, _1));
+ NamedSelection::NamedSelectionCreated.connect (*this, boost::bind (&Session::add_named_selection, this, _1));
+ AutomationList::AutomationListCreated.connect (*this, boost::bind (&Session::add_automation_list, this, _1));
// BOOST SIGNALS
- // scoped_connect (Controllable::Destroyed, boost::bind (&Session::remove_controllable, this, _1));
+ // Controllable::Destroyed.connect (*this, boost::bind (&Session::remove_controllable, this, _1));
- scoped_connect (IO::PortCountChanged, boost::bind (&Session::ensure_buffers, this, _1));
+ IO::PortCountChanged.connect (*this, boost::bind (&Session::ensure_buffers, this, _1));
/* stop IO objects from doing stuff until we're ready for them */
@@ -332,15 +332,15 @@ Session::second_stage_init (bool new_session)
_state_of_the_state = StateOfTheState (_state_of_the_state|CannotSave|Loading);
- scoped_connect (_locations.changed, boost::bind (&Session::locations_changed, this));
- scoped_connect (_locations.added, boost::bind (&Session::locations_added, this, _1));
+ _locations.changed.connect (*this, boost::bind (&Session::locations_changed, this));
+ _locations.added.connect (*this, boost::bind (&Session::locations_added, this, _1));
setup_click_sounds (0);
setup_midi_control ();
/* Pay attention ... */
- scoped_connect (_engine.Halted, boost::bind (&Session::engine_halted, this));
- scoped_connect (_engine.Xrun, boost::bind (&Session::xrun_recovery, this));
+ _engine.Halted.connect (*this, boost::bind (&Session::engine_halted, this));
+ _engine.Xrun.connect (*this, boost::bind (&Session::xrun_recovery, this));
try {
when_engine_running();
diff --git a/libs/ardour/sndfilesource.cc b/libs/ardour/sndfilesource.cc
index 64cad0f2b6..6805e5f6dd 100644
--- a/libs/ardour/sndfilesource.cc
+++ b/libs/ardour/sndfilesource.cc
@@ -192,8 +192,7 @@ SndFileSource::init_sndfile ()
_timeline_position = header_position_offset;
}
- AudioFileSource::HeaderPositionOffsetChanged.connect (
- boost::bind (&SndFileSource::handle_header_position_change, this));
+ AudioFileSource::HeaderPositionOffsetChanged.connect (header_position_connection, boost::bind (&SndFileSource::handle_header_position_change, this));
}
int
diff --git a/libs/ardour/source_factory.cc b/libs/ardour/source_factory.cc
index e401b010ea..9b9a28c698 100644
--- a/libs/ardour/source_factory.cc
+++ b/libs/ardour/source_factory.cc
@@ -50,7 +50,7 @@ using namespace ARDOUR;
using namespace std;
using namespace PBD;
-boost::signals2::signal<void(boost::shared_ptr<Source>)> SourceFactory::SourceCreated;
+PBD::Signal1<void,boost::shared_ptr<Source> > SourceFactory::SourceCreated;
Glib::Cond* SourceFactory::PeaksToBuild;
Glib::StaticMutex SourceFactory::peak_building_lock = GLIBMM_STATIC_MUTEX_INIT;
std::list<boost::weak_ptr<AudioSource> > SourceFactory::files_with_peaks;
diff --git a/libs/ardour/ticker.cc b/libs/ardour/ticker.cc
index 0a6bb8b20b..30d6c5f2d0 100644
--- a/libs/ardour/ticker.cc
+++ b/libs/ardour/ticker.cc
@@ -34,7 +34,7 @@ void Ticker::set_session (Session* s)
SessionHandlePtr::set_session (s);
if (_session) {
- _session_connections.add_connection (_session->tick.connect (boost::bind (&Ticker::tick, this, _1, _2, _3)));
+ _session->tick.connect (_session_connections, boost::bind (&Ticker::tick, this, _1, _2, _3));
}
}
@@ -43,10 +43,10 @@ void MidiClockTicker::set_session (Session* s)
Ticker::set_session (s);
if (_session) {
- _session_connections.add_connection (_session->MIDIClock_PortChanged.connect (boost::bind (&MidiClockTicker::update_midi_clock_port, this)));
- _session_connections.add_connection (_session->TransportStateChange.connect (boost::bind (&MidiClockTicker::transport_state_changed, this)));
- _session_connections.add_connection (_session->PositionChanged.connect (boost::bind (&MidiClockTicker::position_changed, this, _1)));
- _session_connections.add_connection (_session->TransportLooped.connect (boost::bind (&MidiClockTicker::transport_looped, this)));
+ _session->MIDIClock_PortChanged.connect (_session_connections, boost::bind (&MidiClockTicker::update_midi_clock_port, this));
+ _session->TransportStateChange.connect (_session_connections, boost::bind (&MidiClockTicker::transport_state_changed, this));
+ _session->PositionChanged.connect (_session_connections, boost::bind (&MidiClockTicker::position_changed, this, _1));
+ _session->TransportLooped.connect (_session_connections, boost::bind (&MidiClockTicker::transport_looped, this));
update_midi_clock_port();
}
}