summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/amp.h3
-rw-r--r--libs/ardour/ardour/audio_track.h4
-rw-r--r--libs/ardour/ardour/configuration_vars.h1
-rw-r--r--libs/ardour/ardour/control_outputs.h27
-rw-r--r--libs/ardour/ardour/delivery.h79
-rw-r--r--libs/ardour/ardour/io.h4
-rw-r--r--libs/ardour/ardour/io_processor.h6
-rw-r--r--libs/ardour/ardour/meter.h3
-rw-r--r--libs/ardour/ardour/midi_diskstream.h1
-rw-r--r--libs/ardour/ardour/midi_state_tracker.h3
-rw-r--r--libs/ardour/ardour/midi_track.h7
-rw-r--r--libs/ardour/ardour/panner.h2
-rw-r--r--libs/ardour/ardour/playlist.h2
-rw-r--r--libs/ardour/ardour/plugin_insert.h2
-rw-r--r--libs/ardour/ardour/port_insert.h2
-rw-r--r--libs/ardour/ardour/processor.h19
-rw-r--r--libs/ardour/ardour/return.h2
-rw-r--r--libs/ardour/ardour/route.h40
-rw-r--r--libs/ardour/ardour/send.h9
-rw-r--r--libs/ardour/ardour/session.h10
-rw-r--r--libs/ardour/ardour/track.h8
21 files changed, 162 insertions, 72 deletions
diff --git a/libs/ardour/ardour/amp.h b/libs/ardour/ardour/amp.h
index fa9de724ad..152b89a431 100644
--- a/libs/ardour/ardour/amp.h
+++ b/libs/ardour/ardour/amp.h
@@ -39,7 +39,7 @@ public:
bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
bool configure_io (ChanCount in, ChanCount out);
- void run_in_place (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
+ void run_in_place (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
bool apply_gain() const { return _apply_gain; }
void apply_gain(bool yn) { _apply_gain = yn; }
@@ -61,7 +61,6 @@ public:
}
XMLNode& state (bool full);
- XMLNode& get_state();
static void apply_gain (BufferSet& bufs, nframes_t nframes,
gain_t initial, gain_t target, bool invert_polarity);
diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h
index 145272b331..5813c2d697 100644
--- a/libs/ardour/ardour/audio_track.h
+++ b/libs/ardour/ardour/audio_track.h
@@ -39,7 +39,7 @@ class AudioTrack : public Track
int set_mode (TrackMode m);
bool can_use_mode (TrackMode m, bool& bounce_required);
- int roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
+ int roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
int declick, bool can_record, bool rec_monitors_input);
boost::shared_ptr<AudioDiskstream> audio_diskstream() const;
@@ -47,7 +47,7 @@ class AudioTrack : public Track
int use_diskstream (std::string name);
int use_diskstream (const PBD::ID& id);
- int export_stuff (BufferSet& bufs, nframes_t nframes, nframes_t end_frame, bool enable_processing = true);
+ int export_stuff (BufferSet& bufs, sframes_t start_frame, nframes_t nframes, bool enable_processing = true);
void freeze (InterThreadInfo&);
void unfreeze ();
diff --git a/libs/ardour/ardour/configuration_vars.h b/libs/ardour/ardour/configuration_vars.h
index 3091538e38..f49663b55b 100644
--- a/libs/ardour/ardour/configuration_vars.h
+++ b/libs/ardour/ardour/configuration_vars.h
@@ -19,6 +19,7 @@
/* IO connection */
+CONFIG_VARIABLE (bool, auto_connect_master, "auto-connect-master", true)
CONFIG_VARIABLE (AutoConnectOption, output_auto_connect, "output-auto-connect", AutoConnectOption (0))
CONFIG_VARIABLE (AutoConnectOption, input_auto_connect, "input-auto-connect", AutoConnectOption (0))
diff --git a/libs/ardour/ardour/control_outputs.h b/libs/ardour/ardour/control_outputs.h
index 72d9534ddf..0a09ab10f4 100644
--- a/libs/ardour/ardour/control_outputs.h
+++ b/libs/ardour/ardour/control_outputs.h
@@ -26,26 +26,19 @@
namespace ARDOUR {
-class BufferSet;
-class IO;
+/* this exists for one reason only: so that it can override the "type"
+ property in the state of the Delivery processor. we need this
+ because ControlOutputs are "unique" because they deliver to
+ an IO object that is private to a Route and so cannot be looked
+ up in the Session etc.
+*/
-class ControlOutputs : public IOProcessor {
+class ControlOutputs : public Delivery {
public:
- ControlOutputs(Session& s, IO* io);
-
- bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
- bool configure_io (ChanCount in, ChanCount out);
-
- void run_in_place (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
-
- bool deliver() const { return _deliver; }
- void deliver(bool yn) { _deliver = yn; }
-
- XMLNode& state (bool full);
- XMLNode& get_state();
+ ControlOutputs(Session& s);
+ XMLNode& get_state ();
-private:
- bool _deliver;
+ static const std::string processor_type_name;
};
diff --git a/libs/ardour/ardour/delivery.h b/libs/ardour/ardour/delivery.h
new file mode 100644
index 0000000000..8d083695b1
--- /dev/null
+++ b/libs/ardour/ardour/delivery.h
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2006 Paul Davis
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef __ardour_delivery_h__
+#define __ardour_delivery_h__
+
+#include <string>
+#include "ardour/types.h"
+#include "ardour/chan_count.h"
+#include "ardour/io_processor.h"
+
+namespace ARDOUR {
+
+class BufferSet;
+class IO;
+
+class Delivery : public IOProcessor {
+public:
+ enum Role {
+ Send = 0x1,
+ Solo = 0x2,
+ Listen = 0x4,
+ Main = 0x8
+ };
+
+ Delivery (Session& s, IO* io, const std::string& name, Role);
+ Delivery (Session& s, const std::string& name, Role);
+ Delivery (Session&, const XMLNode&);
+
+ bool visible() const;
+
+ Role role() const { return _role; }
+
+ bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
+ bool configure_io (ChanCount in, ChanCount out);
+
+ void run_in_place (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
+
+ void set_metering (bool yn);
+
+ bool muted_by_self() const { return _muted_by_self; }
+ bool muted_by_others() const { return _muted_by_others; }
+
+ void set_self_mute (bool);
+ void set_nonself_mute (bool);
+
+ sigc::signal<void> SelfMuteChange;
+ sigc::signal<void> OtherMuteChange;
+
+ XMLNode& state (bool full);
+ int set_state (const XMLNode&);
+
+private:
+ Role _role;
+ bool _metering;
+ bool _muted_by_self;
+ bool _muted_by_others;
+};
+
+
+} // namespace ARDOUR
+
+#endif // __ardour__h__
+
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index 8b236eadff..297a4ee82c 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -100,8 +100,8 @@ class IO : public SessionObject, public AutomatableControls, public Latent
virtual void silence (nframes_t);
void collect_input (BufferSet& bufs, nframes_t nframes, ChanCount offset=ChanCount::ZERO);
- void deliver_output (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
- void just_meter_input (nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
+ void deliver_output (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
+ void just_meter_input (sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
BufferSet& output_buffers() { return *_output_buffers; }
diff --git a/libs/ardour/ardour/io_processor.h b/libs/ardour/ardour/io_processor.h
index 7f847c9221..896de52a3b 100644
--- a/libs/ardour/ardour/io_processor.h
+++ b/libs/ardour/ardour/io_processor.h
@@ -49,6 +49,8 @@ class IOProcessor : public Processor
ARDOUR::DataType default_type = DataType::AUDIO);
virtual ~IOProcessor ();
+ bool set_name (const std::string& str);
+
virtual ChanCount output_streams() const;
virtual ChanCount input_streams () const;
virtual ChanCount natural_output_streams() const;
@@ -56,10 +58,11 @@ class IOProcessor : public Processor
boost::shared_ptr<IO> io() { return _io; }
boost::shared_ptr<const IO> io() const { return _io; }
+ void set_io (boost::shared_ptr<IO>);
virtual void automation_snapshot (nframes_t now, bool force);
- virtual void run_in_place (BufferSet& in, nframes_t start, nframes_t end, nframes_t nframes) = 0;
+ virtual void run_in_place (BufferSet& in, sframes_t start, sframes_t end, nframes_t nframes) = 0;
void silence (nframes_t nframes);
sigc::signal<void,IOProcessor*,bool> AutomationPlaybackChanged;
@@ -74,6 +77,7 @@ class IOProcessor : public Processor
private:
/* disallow copy construction */
IOProcessor (const IOProcessor&);
+ bool _own_io;
};
diff --git a/libs/ardour/ardour/meter.h b/libs/ardour/ardour/meter.h
index 0a49ddf99f..250fb3111e 100644
--- a/libs/ardour/ardour/meter.h
+++ b/libs/ardour/ardour/meter.h
@@ -44,7 +44,7 @@ public:
bool configure_io (ChanCount in, ChanCount out);
/** Compute peaks */
- void run_in_place (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
+ void run_in_place (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
float peak_power (uint32_t n) {
if (n < _visible_peak_power.size()) {
@@ -63,7 +63,6 @@ public:
}
XMLNode& state (bool full);
- XMLNode& get_state();
private:
friend class IO;
diff --git a/libs/ardour/ardour/midi_diskstream.h b/libs/ardour/ardour/midi_diskstream.h
index a7b4f5e120..d5c2d0cdb3 100644
--- a/libs/ardour/ardour/midi_diskstream.h
+++ b/libs/ardour/ardour/midi_diskstream.h
@@ -180,6 +180,7 @@ class MidiDiskstream : public Diskstream
nframes_t _last_flush_frame;
NoteMode _note_mode;
MidiStateTracker _midi_state_tracker;
+ MidiStateTracker _incoming_midi_state_tracker;
volatile gint _frames_written_to_ringbuffer;
volatile gint _frames_read_from_ringbuffer;
};
diff --git a/libs/ardour/ardour/midi_state_tracker.h b/libs/ardour/ardour/midi_state_tracker.h
index 3f74d67b17..4c15ab1e0f 100644
--- a/libs/ardour/ardour/midi_state_tracker.h
+++ b/libs/ardour/ardour/midi_state_tracker.h
@@ -24,7 +24,6 @@
#include "ardour/midi_buffer.h"
-
namespace ARDOUR {
@@ -38,6 +37,8 @@ public:
bool track (const MidiBuffer::iterator& from, const MidiBuffer::iterator& to);
void resolve_notes (MidiBuffer& buffer, nframes_t time);
+ void dump (std::ostream&);
+ void reset ();
private:
void track_note_onoffs(const Evoral::MIDIEvent<MidiBuffer::TimeType>& event);
diff --git a/libs/ardour/ardour/midi_track.h b/libs/ardour/ardour/midi_track.h
index fe8290d5d9..e7ffd40d67 100644
--- a/libs/ardour/ardour/midi_track.h
+++ b/libs/ardour/ardour/midi_track.h
@@ -38,7 +38,7 @@ public:
MidiTrack (Session&, const XMLNode&);
~MidiTrack ();
- int roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
+ int roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
int declick, bool can_record, bool rec_monitors_input);
boost::shared_ptr<MidiDiskstream> midi_diskstream() const;
@@ -48,8 +48,7 @@ public:
void set_latency_delay (nframes_t);
- int export_stuff (BufferSet& bufs,
- nframes_t nframes, nframes_t end_frame);
+ int export_stuff (BufferSet& bufs, nframes_t nframes, sframes_t end_frame);
void freeze (InterThreadInfo&);
void unfreeze ();
@@ -85,7 +84,7 @@ protected:
int _set_state (const XMLNode&, bool call_base);
private:
- void write_controller_messages(MidiBuffer& buf, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
+ void write_controller_messages(MidiBuffer& buf, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
int set_diskstream (boost::shared_ptr<MidiDiskstream> ds);
void use_new_diskstream ();
diff --git a/libs/ardour/ardour/panner.h b/libs/ardour/ardour/panner.h
index be3de9a5a3..9bc1817af0 100644
--- a/libs/ardour/ardour/panner.h
+++ b/libs/ardour/ardour/panner.h
@@ -215,7 +215,7 @@ class Panner : public Processor
bool is_out_of_place () const { return true; }
bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const { return true; };
- void run_out_of_place(BufferSet& src, BufferSet& dest, nframes_t start_frame, nframes_t end_frames, nframes_t nframes);
+ void run_out_of_place(BufferSet& src, BufferSet& dest, sframes_t start_frame, sframes_t end_frames, nframes_t nframes);
//void* get_inline_gui() const = 0;
//void* get_full_gui() const = 0;
diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h
index 15aa041ed6..8be95ca74b 100644
--- a/libs/ardour/ardour/playlist.h
+++ b/libs/ardour/ardour/playlist.h
@@ -129,6 +129,8 @@ class Playlist : public SessionObject,
sigc::signal<void,bool> InUse;
sigc::signal<void> Modified;
+ sigc::signal<void, boost::weak_ptr<Region> > RegionAdded;
+ sigc::signal<void, boost::weak_ptr<Region> > RegionRemoved;
sigc::signal<void> NameChanged;
sigc::signal<void> LengthChanged;
sigc::signal<void, std::list< Evoral::RangeMove<nframes_t> > const &> RangesMoved;
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h
index 59ab6de2d8..01cf9bedfd 100644
--- a/libs/ardour/ardour/plugin_insert.h
+++ b/libs/ardour/ardour/plugin_insert.h
@@ -54,7 +54,7 @@ class PluginInsert : public Processor
XMLNode& get_state(void);
int set_state(const XMLNode&);
- void run_in_place (BufferSet& in, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
+ void run_in_place (BufferSet& in, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
void silence (nframes_t nframes);
void activate ();
diff --git a/libs/ardour/ardour/port_insert.h b/libs/ardour/ardour/port_insert.h
index ce21d9f223..56aa43c6c5 100644
--- a/libs/ardour/ardour/port_insert.h
+++ b/libs/ardour/ardour/port_insert.h
@@ -50,7 +50,7 @@ class PortInsert : public IOProcessor
void init ();
- void run_in_place (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
+ void run_in_place (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
nframes_t signal_latency() const;
diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h
index 757af64c87..68fdb5c6a6 100644
--- a/libs/ardour/ardour/processor.h
+++ b/libs/ardour/ardour/processor.h
@@ -60,6 +60,8 @@ class Processor : public SessionObject, public AutomatableControls, public Laten
ChanCount in;
ChanCount out;
};
+
+ virtual bool visible() const { return true; }
uint32_t sort_key() const { return _sort_key; }
void set_sort_key (uint32_t key);
@@ -76,12 +78,12 @@ class Processor : public SessionObject, public AutomatableControls, public Laten
virtual void set_block_size (nframes_t nframes) {}
virtual void run_in_place (BufferSet& bufs,
- nframes_t start_frame, nframes_t end_frame,
- nframes_t nframes) { assert(is_in_place()); }
+ sframes_t start_frame, sframes_t end_frame,
+ nframes_t nframes) { assert(is_in_place()); }
virtual void run_out_of_place (BufferSet& input, BufferSet& output,
- nframes_t start_frame, nframes_t end_frame,
- nframes_t nframes) { assert(is_out_of_place()); }
+ sframes_t start_frame, sframes_t end_frame,
+ nframes_t nframes) { assert(is_out_of_place()); }
virtual void silence (nframes_t nframes) {}
@@ -103,9 +105,14 @@ class Processor : public SessionObject, public AutomatableControls, public Laten
virtual ChanCount input_streams () const { return _configured_input; }
virtual ChanCount output_streams() const { return _configured_output; }
+ /* note: derived classes should implement state(), NOT get_state(), to allow
+ us to merge C++ inheritance and XML lack-of-inheritance reasonably
+ smoothly.
+ */
+
virtual XMLNode& state (bool full);
- virtual XMLNode& get_state (void);
- virtual int set_state (const XMLNode&);
+ XMLNode& get_state (void);
+ int set_state (const XMLNode&);
void *get_gui () const { return _gui; }
void set_gui (void *p) { _gui = p; }
diff --git a/libs/ardour/ardour/return.h b/libs/ardour/ardour/return.h
index af55df59ed..2b6cd0b69e 100644
--- a/libs/ardour/ardour/return.h
+++ b/libs/ardour/ardour/return.h
@@ -41,7 +41,7 @@ public:
uint32_t bit_slot() const { return _bitslot; }
- void run_in_place (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
+ void run_in_place (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
void activate() {}
void deactivate () {}
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index 9537097f74..aee361d3a5 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -45,7 +45,7 @@
namespace ARDOUR {
class Amp;
-class ControlOutputs;
+class Delivery;
class IOProcessor;
class Processor;
class RouteGroup;
@@ -84,6 +84,8 @@ class Route : public IO
std::string comment() { return _comment; }
void set_comment (std::string str, void *src);
+ bool set_name (const std::string& str);
+
long order_key (const char* name) const;
void set_order_key (const char* name, long n);
@@ -94,13 +96,13 @@ class Route : public IO
/* these are the core of the API of a Route. see the protected sections as well */
- virtual int roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
+ virtual int roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
int declick, bool can_record, bool rec_monitors_input);
- virtual int no_roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
+ 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);
- virtual int silent_roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
+ virtual int silent_roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
bool can_record, bool rec_monitors_input);
virtual void toggle_monitor_input ();
@@ -173,9 +175,16 @@ class Route : public IO
return *i;
}
}
+
+ uint32_t fader_sort_key() const;
ChanCount max_processor_streams () const { return processor_max_streams; }
ChanCount pre_fader_streams() const;
+
+ /* special processors */
+
+ boost::shared_ptr<Delivery> control_outs() const { return _control_outs; }
+ boost::shared_ptr<Delivery> main_outs() const { return _main_outs; }
/** A record of the stream configuration at some point in the processor list.
* Used to return where and why an processor list configuration request failed.
@@ -187,8 +196,8 @@ class Route : public IO
ChanCount count; ///< Input requested of processor
};
- int add_processor (boost::shared_ptr<Processor>, ProcessorStreams* err = 0, ProcessorList::iterator* iter=0, Placement=PreFader);
- int add_processors (const ProcessorList&, ProcessorStreams* err = 0, Placement placement=PreFader);
+ int add_processor (boost::shared_ptr<Processor>, ProcessorStreams* err = 0, ProcessorList::iterator* iter=0);
+ int add_processors (const ProcessorList&, ProcessorStreams* err = 0, uint32_t first_sort_key = 0);
int remove_processor (boost::shared_ptr<Processor>, ProcessorStreams* err = 0);
int sort_processors (ProcessorStreams* err = 0);
void disable_processors (Placement);
@@ -237,9 +246,9 @@ class Route : public IO
int save_as_template (const std::string& path, const std::string& name);
sigc::signal<void,void*> SelectedChanged;
-
- int set_control_outs (const std::vector<std::string>& ports);
- boost::shared_ptr<ControlOutputs> control_outs() { return _control_outs; }
+
+ int listen_via (boost::shared_ptr<IO>, const std::string& name);
+ void drop_listen (boost::shared_ptr<IO>);
bool feeds (boost::shared_ptr<Route>);
std::set<boost::shared_ptr<Route> > fed_by;
@@ -288,11 +297,11 @@ class Route : public IO
protected:
nframes_t check_initial_delay (nframes_t, nframes_t&);
- void passthru (nframes_t start_frame, nframes_t end_frame,
- nframes_t nframes, int declick);
+ void passthru (sframes_t start_frame, sframes_t end_frame,
+ nframes_t nframes, int declick);
virtual void process_output_buffers (BufferSet& bufs,
- nframes_t start_frame, nframes_t end_frame,
+ sframes_t start_frame, sframes_t end_frame,
nframes_t nframes, bool with_processors, int declick);
Flag _flags;
@@ -308,7 +317,8 @@ class Route : public IO
nframes_t _roll_delay;
ProcessorList _processors;
Glib::RWLock _processor_lock;
- boost::shared_ptr<ControlOutputs> _control_outs;
+ boost::shared_ptr<Delivery> _main_outs;
+ boost::shared_ptr<Delivery> _control_outs; // XXX to be removed/generalized by listen points
RouteGroup *_edit_group;
RouteGroup *_mix_group;
std::string _comment;
@@ -336,7 +346,7 @@ class Route : public IO
virtual XMLNode& state(bool);
- void passthru_silence (nframes_t start_frame, nframes_t end_frame,
+ void passthru_silence (sframes_t start_frame, sframes_t end_frame,
nframes_t nframes, int declick);
void silence (nframes_t nframes);
@@ -354,6 +364,8 @@ class Route : public IO
virtual int _set_state (const XMLNode&, bool call_base);
virtual void _set_processor_states (const XMLNodeList&);
+ boost::shared_ptr<Delivery> add_listener (boost::shared_ptr<IO>, const std::string&);
+
private:
void init ();
diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h
index 825506f0e2..7bdc7ed02f 100644
--- a/libs/ardour/ardour/send.h
+++ b/libs/ardour/ardour/send.h
@@ -27,11 +27,11 @@
#include "pbd/stateful.h"
#include "ardour/ardour.h"
#include "ardour/audioengine.h"
-#include "ardour/io_processor.h"
+#include "ardour/delivery.h"
namespace ARDOUR {
-class Send : public IOProcessor
+class Send : public Delivery
{
public:
Send (Session&);
@@ -40,13 +40,9 @@ class Send : public IOProcessor
uint32_t bit_slot() const { return _bitslot; }
- void run_in_place (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
-
void activate() {}
void deactivate () {}
- void set_metering (bool yn);
-
XMLNode& state(bool full);
XMLNode& get_state(void);
int set_state(const XMLNode& node);
@@ -63,7 +59,6 @@ class Send : public IOProcessor
/* disallow copy construction */
Send (const Send&);
- bool _metering;
uint32_t _bitslot;
};
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 31bbded03b..344b79bcd1 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -1020,12 +1020,10 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
bool _silent;
volatile double _transport_speed;
double _last_transport_speed;
- // fixed point transport speed for varispeed playback
- uint64_t phi;
- // fixed point target transport speed for varispeed playback when tempo changes
- uint64_t target_phi;
- // fixed point phase for varispeed playback
- uint64_t phase;
+ // varispeed playback
+ uint64_t phi; // fixed point transport speed
+ uint64_t target_phi; // fixed point target transport speed
+ uint64_t phase; // fixed point phase
bool auto_play_legal;
nframes_t _last_slave_transport_frame;
nframes_t maximum_output_latency;
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index 700380417b..aca7c6f968 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -45,13 +45,13 @@ class Track : public Route
virtual bool can_use_mode (TrackMode m, bool& bounce_required) { return false; }
sigc::signal<void> TrackModeChanged;
- int no_roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
- bool state_changing, bool can_record, bool rec_monitors_input);
+ int no_roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
+ bool state_changing, bool can_record, bool rec_monitors_input);
- int silent_roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
+ int silent_roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
bool can_record, bool rec_monitors_input);
- virtual int roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
+ virtual int roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
int declick, bool can_record, bool rec_monitors_input) = 0;
void toggle_monitor_input ();