int init ();
bool set_name (const std::string& str);
+ void resync_track_name ();
TrackMode mode () const { return _mode; }
virtual int set_mode (TrackMode /*m*/) { return false; }
PBD::Signal0<void> MonitoringChanged;
MeterState metering_state () const;
-
+
virtual int no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame,
bool state_changing);
*/
virtual bool bounceable (boost::shared_ptr<Processor> endpoint, bool include_endpoint) const = 0;
virtual boost::shared_ptr<Region> bounce (InterThreadInfo&) = 0;
- virtual boost::shared_ptr<Region> bounce_range (framepos_t start, framepos_t end, InterThreadInfo&,
+ virtual boost::shared_ptr<Region> bounce_range (framepos_t start, framepos_t end, InterThreadInfo&,
boost::shared_ptr<Processor> endpoint, bool include_endpoint) = 0;
virtual int export_stuff (BufferSet& bufs, framepos_t start_frame, framecnt_t nframes,
- boost::shared_ptr<Processor> endpoint, bool include_endpoint, bool for_export) = 0;
+ boost::shared_ptr<Processor> endpoint, bool include_endpoint, bool for_export, bool for_freeze) = 0;
XMLNode& get_state();
XMLNode& get_template();
boost::shared_ptr<AutomationControl> rec_enable_control() { return _rec_enable_control; }
bool record_enabled() const;
+ bool record_safe () const;
void set_record_enabled (bool yn, void *src);
+ void set_record_safe (bool yn, void *src);
void prep_record_enabled (bool yn, void *src);
bool using_diskstream_id (PBD::ID) const;
bool destructive () const;
std::list<boost::shared_ptr<Source> > & last_capture_sources ();
void set_capture_offset ();
- std::list<boost::shared_ptr<Source> > steal_write_sources();
+ std::string steal_write_source_name ();
void reset_write_sources (bool, bool force = false);
float playback_buffer_load () const;
float capture_buffer_load () const;
void transport_stopped_wallclock (struct tm &, time_t, bool);
bool pending_overwrite () const;
double speed () const;
- void prepare_to_stop (framepos_t);
+ void prepare_to_stop (framepos_t, framepos_t);
void set_slaved (bool);
ChanCount n_channels ();
framepos_t get_capture_start_frame (uint32_t n = 0) const;
/* Emitted when our diskstream is set to use a different playlist */
PBD::Signal0<void> PlaylistChanged;
PBD::Signal0<void> RecordEnableChanged;
+ PBD::Signal0<void> RecordSafeChanged;
PBD::Signal0<void> SpeedChanged;
PBD::Signal0<void> AlignmentStyleChanged;
struct RecEnableControl : public AutomationControl {
RecEnableControl (boost::shared_ptr<Track> t);
- void set_value (double);
+ void set_value (double, PBD::Controllable::GroupControlDisposition);
+ void set_value_unchecked (double);
double get_value (void) const;
boost::weak_ptr<Track> track;
void maybe_declick (BufferSet&, framecnt_t, int);
boost::shared_ptr<RecEnableControl> _rec_enable_control;
-
+
framecnt_t check_initial_delay (framecnt_t nframes, framepos_t&);
private:
virtual boost::shared_ptr<Diskstream> diskstream_factory (XMLNode const &) = 0;
-
+
void diskstream_playlist_changed ();
void diskstream_record_enable_changed ();
+ void diskstream_record_safe_changed ();
void diskstream_speed_changed ();
void diskstream_alignment_style_changed ();
+ void parameter_changed (std::string const & p);
+
+ std::string _diskstream_name;
};
}; /* namespace ARDOUR*/