X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudioregion.h;h=2d74d91482a14a3a499b5c111ab1cecae260fcb0;hb=da5119583aca2caec4082e3d13cfb1f687a5989d;hp=a6cd22895c97c852d334c79323d92443ab8c5dec;hpb=24d2b5ec9200bf46ccb42528560de4a02b7be516;p=ardour.git diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h index a6cd22895c..2d74d91482 100644 --- a/libs/ardour/ardour/audioregion.h +++ b/libs/ardour/ardour/audioregion.h @@ -74,6 +74,10 @@ class LIBARDOUR_API AudioRegion : public Region boost::shared_ptr audio_source (uint32_t n=0) const; + // if several audio files associated with a region, + // information about file with MAX channel count will be provided + uint32_t get_related_audio_file_channel_count () const; + void set_scale_amplitude (gain_t); gain_t scale_amplitude() const { return _scale_amplitude; } @@ -94,7 +98,7 @@ class LIBARDOUR_API AudioRegion : public Region virtual framecnt_t read_peaks (PeakData *buf, framecnt_t npeaks, framecnt_t offset, framecnt_t cnt, - uint32_t chan_n=0, double samples_per_unit= 1.0) const; + uint32_t chan_n=0, double frames_per_pixel = 1.0) const; /* Readable interface */ @@ -115,7 +119,8 @@ class LIBARDOUR_API AudioRegion : public Region XMLNode& get_basic_state (); int set_state (const XMLNode&, int version); - static void set_default_fade (float steepness, framecnt_t len); + void fade_range (framepos_t, framepos_t); + bool fade_in_is_default () const; bool fade_out_is_default () const; @@ -135,7 +140,7 @@ class LIBARDOUR_API AudioRegion : public Region void set_default_fade_out (); framecnt_t verify_xfade_bounds (framecnt_t, bool start); - + void set_envelope_active (bool yn); void set_default_envelope (); @@ -162,12 +167,12 @@ class LIBARDOUR_API AudioRegion : public Region void add_transient (framepos_t where); void remove_transient (framepos_t where); - int set_transients (AnalysisFeatureList&); - int get_transients (AnalysisFeatureList&, bool force_new = false); - int update_transient (framepos_t old_position, framepos_t new_position); - int adjust_transients (frameoffset_t delta); + void clear_transients (); + void set_onsets (AnalysisFeatureList&); + void get_transients (AnalysisFeatureList&); + void update_transient (framepos_t old_position, framepos_t new_position); - AudioIntervalResult find_silence (Sample, framecnt_t, InterThreadInfo&) const; + AudioIntervalResult find_silence (Sample, framecnt_t, framecnt_t, InterThreadInfo&) const; private: friend class RegionFactory; @@ -182,7 +187,9 @@ class LIBARDOUR_API AudioRegion : public Region private: friend class ::AudioRegionReadTest; friend class ::PlaylistReadTest; - + + void build_transients (); + PBD::Property _envelope_active; PBD::Property _default_fade_in; PBD::Property _default_fade_out; @@ -238,9 +245,9 @@ class LIBARDOUR_API AudioRegion : public Region /* access from C objects */ extern "C" { - int region_read_peaks_from_c (void *arg, uint32_t npeaks, uint32_t start, uint32_t length, intptr_t data, uint32_t n_chan, double samples_per_unit); - uint32_t region_length_from_c (void *arg); - uint32_t sourcefile_length_from_c (void *arg, double); + LIBARDOUR_API int region_read_peaks_from_c (void *arg, uint32_t npeaks, uint32_t start, uint32_t length, intptr_t data, uint32_t n_chan, double samples_per_unit); + LIBARDOUR_API uint32_t region_length_from_c (void *arg); + LIBARDOUR_API uint32_t sourcefile_length_from_c (void *arg, double); } #endif /* __ardour_audio_region_h__ */