nframes_t last_transport_start() const { return _last_roll_location; }
void goto_end ();
void goto_start ();
- void set_session_start (nframes_t);
- void set_session_end (nframes_t);
void use_rf_shuttle_speed ();
void allow_auto_play (bool yn);
void request_transport_speed (double speed);
/* Locations */
- Locations *locations() { return &_locations; }
+ Locations *locations() { return _locations; }
PBD::Signal1<void,Location*> auto_loop_location_changed;
PBD::Signal1<void,Location*> auto_punch_location_changed;
/* flattening stuff */
- boost::shared_ptr<Region> write_one_track (AudioTrack&, nframes_t start, nframes_t end,
+ boost::shared_ptr<Region> write_one_track (AudioTrack&, framepos_t start, framepos_t end,
bool overwrite, std::vector<boost::shared_ptr<Source> >&, InterThreadInfo& wot,
bool enable_processing = true);
int freeze_all (InterThreadInfo&);
bool step_editing() const { return (_step_editors > 0); }
+ void request_suspend_timecode_transmission ();
+ void request_resume_timecode_transmission ();
+ bool timecode_transmission_suspended () const;
+
protected:
friend class AudioEngine;
void set_block_size (nframes_t nframes);
void set_rf_speed (float speed);
void reset_rf_scale (nframes_t frames_moved);
- Locations _locations;
+ Locations* _locations;
void locations_changed ();
void locations_added (Location*);
void handle_locations_changed (Locations::LocationList&);
void step_edit_status_change (bool);
uint32_t _step_editors;
+
+ /** true if timecode transmission by the transport is suspended, otherwise false */
+ mutable gint _suspend_timecode_transmission;
+
+ void update_locations_after_tempo_map_change (Locations::LocationList &);
};
} // namespace ARDOUR