summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/audioregion.h6
-rw-r--r--libs/ardour/ardour/coreaudiosource.h2
-rw-r--r--libs/ardour/ardour/sndfilesource.h1
3 files changed, 8 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h
index 8e510b3e43..086544f3aa 100644
--- a/libs/ardour/ardour/audioregion.h
+++ b/libs/ardour/ardour/audioregion.h
@@ -73,7 +73,11 @@ class LIBARDOUR_API AudioRegion : public Region
bool speed_mismatch (float) const;
boost::shared_ptr<AudioSource> 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; }
diff --git a/libs/ardour/ardour/coreaudiosource.h b/libs/ardour/ardour/coreaudiosource.h
index 5e8e696bf9..44016b46a4 100644
--- a/libs/ardour/ardour/coreaudiosource.h
+++ b/libs/ardour/ardour/coreaudiosource.h
@@ -39,6 +39,8 @@ class LIBARDOUR_API CoreAudioSource : public AudioFileSource {
float sample_rate() const;
int update_header (framepos_t when, struct tm&, time_t);
+ uint32_t channel_count () const { return n_channels; }
+
int flush_header () {return 0;};
void set_header_timeline_position () {};
bool clamped_at_unity () const { return false; }
diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h
index 5a4a11515c..45e049e35f 100644
--- a/libs/ardour/ardour/sndfilesource.h
+++ b/libs/ardour/ardour/sndfilesource.h
@@ -66,6 +66,7 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource {
bool set_destructive (bool yn);
bool one_of_several_channels () const;
+ uint32_t channel_count () const { return _info.channels; }
bool clamped_at_unity () const;