diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/amp.h | 3 | ||||
-rw-r--r-- | libs/ardour/ardour/audio_track.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/configuration_vars.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/control_outputs.h | 27 | ||||
-rw-r--r-- | libs/ardour/ardour/delivery.h | 79 | ||||
-rw-r--r-- | libs/ardour/ardour/io.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/io_processor.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/meter.h | 3 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_diskstream.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_state_tracker.h | 3 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_track.h | 7 | ||||
-rw-r--r-- | libs/ardour/ardour/panner.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/playlist.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin_insert.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/port_insert.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/processor.h | 19 | ||||
-rw-r--r-- | libs/ardour/ardour/return.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/route.h | 40 | ||||
-rw-r--r-- | libs/ardour/ardour/send.h | 9 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 10 | ||||
-rw-r--r-- | libs/ardour/ardour/track.h | 8 |
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 (); |