uint32_t n_channels() const { return sources.size(); }
vector<string> master_source_names();
- void set_master_sources (SourceList&);
+ void set_master_sources (const SourceList&);
+ const SourceList& get_master_sources() const { return master_sources; }
bool envelope_active () const { return _flags & Region::EnvelopeActive; }
bool fade_in_active () const { return _flags & Region::FadeIn; }
void set_playlist (boost::weak_ptr<Playlist>);
- int get_transients (std::vector<nframes64_t>&);
+ int get_transients (AnalysisFeatureList&, bool force_new = false);
private:
friend class RegionFactory;
void recompute_gain_at_end ();
void recompute_gain_at_start ();
- nframes_t _read_at (const SourceList&, Sample *buf, Sample *mixdown_buffer,
+ nframes_t _read_at (const SourceList&, nframes_t limit,
+ Sample *buf, Sample *mixdown_buffer,
float *gain_buffer, nframes_t position, nframes_t cnt,
uint32_t chan_n = 0,
nframes_t read_frames = 0,
void fade_out_changed ();
void source_offset_changed ();
void listen_to_my_curves ();
+ void listen_to_my_sources ();
void source_deleted ();