summaryrefslogtreecommitdiff
path: root/libs/ardour/audioregion.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audioregion.cc')
-rw-r--r--libs/ardour/audioregion.cc110
1 files changed, 53 insertions, 57 deletions
diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc
index 9a5f5892e0..ee3840063d 100644
--- a/libs/ardour/audioregion.cc
+++ b/libs/ardour/audioregion.cc
@@ -65,7 +65,7 @@ AudioRegionState::AudioRegionState (string why)
{
}
-AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, jack_nframes_t start, jack_nframes_t length)
+AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, nframes_t start, nframes_t length)
: Region (start, length, PBD::basename_nosuffix(src->name()), 0, Region::Flag(Region::DefaultFlags|Region::External)),
_fade_in (0.0, 2.0, 1.0, false),
_fade_out (0.0, 2.0, 1.0, false),
@@ -92,7 +92,7 @@ AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, jack_nframes_t sta
_envelope.StateChanged.connect (mem_fun (*this, &AudioRegion::envelope_changed));
}
-AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, jack_nframes_t start, jack_nframes_t length, const string& name, layer_t layer, Flag flags)
+AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, nframes_t start, nframes_t length, const string& name, layer_t layer, Flag flags)
: Region (start, length, name, layer, flags),
_fade_in (0.0, 2.0, 1.0, false),
_fade_out (0.0, 2.0, 1.0, false),
@@ -118,7 +118,7 @@ AudioRegion::AudioRegion (boost::shared_ptr<AudioSource> src, jack_nframes_t sta
_envelope.StateChanged.connect (mem_fun (*this, &AudioRegion::envelope_changed));
}
-AudioRegion::AudioRegion (SourceList& srcs, jack_nframes_t start, jack_nframes_t length, const string& name, layer_t layer, Flag flags)
+AudioRegion::AudioRegion (SourceList& srcs, nframes_t start, nframes_t length, const string& name, layer_t layer, Flag flags)
: Region (start, length, name, layer, flags),
_fade_in (0.0, 2.0, 1.0, false),
_fade_out (0.0, 2.0, 1.0, false),
@@ -147,7 +147,7 @@ AudioRegion::AudioRegion (SourceList& srcs, jack_nframes_t start, jack_nframes_t
}
-AudioRegion::AudioRegion (boost::shared_ptr<const AudioRegion> other, jack_nframes_t offset, jack_nframes_t length, const string& name, layer_t layer, Flag flags)
+AudioRegion::AudioRegion (boost::shared_ptr<const AudioRegion> other, nframes_t offset, nframes_t length, const string& name, layer_t layer, Flag flags)
: Region (other, offset, length, name, layer, flags),
_fade_in (other->_fade_in),
_fade_out (other->_fade_out),
@@ -411,7 +411,7 @@ AudioRegion::get_memento() const
}
bool
-AudioRegion::verify_length (jack_nframes_t len)
+AudioRegion::verify_length (nframes_t len)
{
if (boost::dynamic_pointer_cast<DestructiveFileSource>(source())) {
return true;
@@ -426,7 +426,7 @@ AudioRegion::verify_length (jack_nframes_t len)
}
bool
-AudioRegion::verify_start_and_length (jack_nframes_t new_start, jack_nframes_t new_length)
+AudioRegion::verify_start_and_length (nframes_t new_start, nframes_t new_length)
{
if (boost::dynamic_pointer_cast<DestructiveFileSource>(source())) {
return true;
@@ -440,7 +440,7 @@ AudioRegion::verify_start_and_length (jack_nframes_t new_start, jack_nframes_t n
return true;
}
bool
-AudioRegion::verify_start (jack_nframes_t pos)
+AudioRegion::verify_start (nframes_t pos)
{
if (boost::dynamic_pointer_cast<DestructiveFileSource>(source())) {
return true;
@@ -455,7 +455,7 @@ AudioRegion::verify_start (jack_nframes_t pos)
}
bool
-AudioRegion::verify_start_mutable (jack_nframes_t& new_start)
+AudioRegion::verify_start_mutable (nframes_t& new_start)
{
if (boost::dynamic_pointer_cast<DestructiveFileSource>(source())) {
return true;
@@ -488,8 +488,8 @@ AudioRegion::set_envelope_active (bool yn)
}
}
-jack_nframes_t
-AudioRegion::read_peaks (PeakData *buf, jack_nframes_t npeaks, jack_nframes_t offset, jack_nframes_t cnt, uint32_t chan_n, double samples_per_unit) const
+nframes_t
+AudioRegion::read_peaks (PeakData *buf, nframes_t npeaks, nframes_t offset, nframes_t cnt, uint32_t chan_n, double samples_per_unit) const
{
if (chan_n >= sources.size()) {
return 0;
@@ -499,7 +499,7 @@ AudioRegion::read_peaks (PeakData *buf, jack_nframes_t npeaks, jack_nframes_t of
return 0;
} else {
if (_scale_amplitude != 1.0) {
- for (jack_nframes_t n = 0; n < npeaks; ++n) {
+ for (nframes_t n = 0; n < npeaks; ++n) {
buf[n].max *= _scale_amplitude;
buf[n].min *= _scale_amplitude;
}
@@ -508,30 +508,30 @@ AudioRegion::read_peaks (PeakData *buf, jack_nframes_t npeaks, jack_nframes_t of
}
}
-jack_nframes_t
-AudioRegion::read_at (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, jack_nframes_t position,
- jack_nframes_t cnt,
- uint32_t chan_n, jack_nframes_t read_frames, jack_nframes_t skip_frames) const
+nframes_t
+AudioRegion::read_at (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, nframes_t position,
+ nframes_t cnt,
+ uint32_t chan_n, nframes_t read_frames, nframes_t skip_frames) const
{
return _read_at (sources, buf, mixdown_buffer, gain_buffer, position, cnt, chan_n, read_frames, skip_frames);
}
-jack_nframes_t
-AudioRegion::master_read_at (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, jack_nframes_t position,
- jack_nframes_t cnt, uint32_t chan_n) const
+nframes_t
+AudioRegion::master_read_at (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, nframes_t position,
+ nframes_t cnt, uint32_t chan_n) const
{
return _read_at (master_sources, buf, mixdown_buffer, gain_buffer, position, cnt, chan_n, 0, 0);
}
-jack_nframes_t
+nframes_t
AudioRegion::_read_at (const SourceList& srcs, Sample *buf, Sample *mixdown_buffer, float *gain_buffer,
- jack_nframes_t position, jack_nframes_t cnt,
- uint32_t chan_n, jack_nframes_t read_frames, jack_nframes_t skip_frames) const
+ nframes_t position, nframes_t cnt,
+ uint32_t chan_n, nframes_t read_frames, nframes_t skip_frames) const
{
- jack_nframes_t internal_offset;
- jack_nframes_t buf_offset;
- jack_nframes_t to_read;
-
+ nframes_t internal_offset;
+ nframes_t buf_offset;
+ nframes_t to_read;
+
/* precondition: caller has verified that we cover the desired section */
if (chan_n >= sources.size()) {
@@ -550,7 +550,6 @@ AudioRegion::_read_at (const SourceList& srcs, Sample *buf, Sample *mixdown_buff
if (internal_offset >= _length) {
return 0; /* read nothing */
}
-
if ((to_read = min (cnt, _length - internal_offset)) == 0) {
return 0; /* read nothing */
@@ -579,19 +578,19 @@ AudioRegion::_read_at (const SourceList& srcs, Sample *buf, Sample *mixdown_buff
if (_flags & FadeIn) {
- jack_nframes_t fade_in_length = (jack_nframes_t) _fade_in.back()->when;
+ nframes_t fade_in_length = (nframes_t) _fade_in.back()->when;
/* see if this read is within the fade in */
if (internal_offset < fade_in_length) {
- jack_nframes_t limit;
+ nframes_t limit;
limit = min (to_read, fade_in_length - internal_offset);
_fade_in.get_vector (internal_offset, internal_offset+limit, gain_buffer, limit);
- for (jack_nframes_t n = 0; n < limit; ++n) {
+ for (nframes_t n = 0; n < limit; ++n) {
mixdown_buffer[n] *= gain_buffer[n];
}
}
@@ -601,9 +600,6 @@ AudioRegion::_read_at (const SourceList& srcs, Sample *buf, Sample *mixdown_buff
if (_flags & FadeOut) {
-
-
-
/* see if some part of this read is within the fade out */
/* ................. >| REGION
@@ -623,20 +619,20 @@ AudioRegion::_read_at (const SourceList& srcs, Sample *buf, Sample *mixdown_buff
*/
- jack_nframes_t fade_out_length = (jack_nframes_t) _fade_out.back()->when;
- jack_nframes_t fade_interval_start = max(internal_offset, _length-fade_out_length);
- jack_nframes_t fade_interval_end = min(internal_offset + to_read, _length);
+ nframes_t fade_out_length = (nframes_t) _fade_out.back()->when;
+ nframes_t fade_interval_start = max(internal_offset, _length-fade_out_length);
+ nframes_t fade_interval_end = min(internal_offset + to_read, _length);
if (fade_interval_end > fade_interval_start) {
/* (part of the) the fade out is in this buffer */
- jack_nframes_t limit = fade_interval_end - fade_interval_start;
- jack_nframes_t curve_offset = fade_interval_start - (_length-fade_out_length);
- jack_nframes_t fade_offset = fade_interval_start - internal_offset;
+ nframes_t limit = fade_interval_end - fade_interval_start;
+ nframes_t curve_offset = fade_interval_start - (_length-fade_out_length);
+ nframes_t fade_offset = fade_interval_start - internal_offset;
_fade_out.get_vector (curve_offset,curve_offset+limit, gain_buffer, limit);
- for (jack_nframes_t n = 0, m = fade_offset; n < limit; ++n, ++m) {
+ for (nframes_t n = 0, m = fade_offset; n < limit; ++n, ++m) {
mixdown_buffer[m] *= gain_buffer[n];
}
}
@@ -649,11 +645,11 @@ AudioRegion::_read_at (const SourceList& srcs, Sample *buf, Sample *mixdown_buff
_envelope.get_vector (internal_offset, internal_offset + to_read, gain_buffer, to_read);
if (_scale_amplitude != 1.0f) {
- for (jack_nframes_t n = 0; n < to_read; ++n) {
+ for (nframes_t n = 0; n < to_read; ++n) {
mixdown_buffer[n] *= gain_buffer[n] * _scale_amplitude;
}
} else {
- for (jack_nframes_t n = 0; n < to_read; ++n) {
+ for (nframes_t n = 0; n < to_read; ++n) {
mixdown_buffer[n] *= gain_buffer[n];
}
}
@@ -668,7 +664,7 @@ AudioRegion::_read_at (const SourceList& srcs, Sample *buf, Sample *mixdown_buff
buf += buf_offset;
- for (jack_nframes_t n = 0; n < to_read; ++n) {
+ for (nframes_t n = 0; n < to_read; ++n) {
buf[n] += mixdown_buffer[n];
}
}
@@ -822,17 +818,17 @@ AudioRegion::set_state (const XMLNode& node)
void
AudioRegion::set_fade_in_shape (FadeShape shape)
{
- set_fade_in (shape, (jack_nframes_t) _fade_in.back()->when);
+ set_fade_in (shape, (nframes_t) _fade_in.back()->when);
}
void
AudioRegion::set_fade_out_shape (FadeShape shape)
{
- set_fade_out (shape, (jack_nframes_t) _fade_out.back()->when);
+ set_fade_out (shape, (nframes_t) _fade_out.back()->when);
}
void
-AudioRegion::set_fade_in (FadeShape shape, jack_nframes_t len)
+AudioRegion::set_fade_in (FadeShape shape, nframes_t len)
{
_fade_in.freeze ();
_fade_in.clear ();
@@ -896,7 +892,7 @@ AudioRegion::set_fade_in (FadeShape shape, jack_nframes_t len)
}
void
-AudioRegion::set_fade_out (FadeShape shape, jack_nframes_t len)
+AudioRegion::set_fade_out (FadeShape shape, nframes_t len)
{
_fade_out.freeze ();
_fade_out.clear ();
@@ -958,7 +954,7 @@ AudioRegion::set_fade_out (FadeShape shape, jack_nframes_t len)
}
void
-AudioRegion::set_fade_in_length (jack_nframes_t len)
+AudioRegion::set_fade_in_length (nframes_t len)
{
bool changed = _fade_in.extend_to (len);
@@ -976,7 +972,7 @@ AudioRegion::set_fade_in_length (jack_nframes_t len)
}
void
-AudioRegion::set_fade_out_length (jack_nframes_t len)
+AudioRegion::set_fade_out_length (nframes_t len)
{
bool changed = _fade_out.extend_to (len);
@@ -1174,8 +1170,8 @@ AudioRegion::apply (AudioFilter& filter)
int
AudioRegion::exportme (Session& session, AudioExportSpecification& spec)
{
- const jack_nframes_t blocksize = 4096;
- jack_nframes_t to_read;
+ const nframes_t blocksize = 4096;
+ nframes_t to_read;
int status = -1;
spec.channels = sources.size();
@@ -1210,7 +1206,7 @@ AudioRegion::exportme (Session& session, AudioExportSpecification& spec)
goto out;
}
- for (jack_nframes_t x = 0; x < to_read; ++x) {
+ for (nframes_t x = 0; x < to_read; ++x) {
spec.dataF[chan+(x*spec.channels)] = buf[x];
}
}
@@ -1266,11 +1262,11 @@ AudioRegion::set_scale_amplitude (gain_t g)
void
AudioRegion::normalize_to (float target_dB)
{
- const jack_nframes_t blocksize = 64 * 1024;
+ const nframes_t blocksize = 64 * 1024;
Sample buf[blocksize];
- jack_nframes_t fpos;
- jack_nframes_t fend;
- jack_nframes_t to_read;
+ nframes_t fpos;
+ nframes_t fend;
+ nframes_t to_read;
double maxamp = 0;
gain_t target = dB_to_coefficient (target_dB);
@@ -1392,7 +1388,7 @@ AudioRegion::speed_mismatch (float sr) const
void
AudioRegion::source_offset_changed ()
{
- if (boost::dynamic_pointer_cast<DestructiveFileSource> (source())) {
+ if (boost::dynamic_pointer_cast<DestructiveFileSource>(sources.front())) {
set_start (source()->natural_position(), this);
set_position (source()->natural_position(), this);
} else {
@@ -1404,7 +1400,7 @@ extern "C" {
int region_read_peaks_from_c (void *arg, uint32_t npeaks, uint32_t start, uint32_t cnt, intptr_t data, uint32_t n_chan, double samples_per_unit)
{
- return ((AudioRegion *) arg)->read_peaks ((PeakData *) data, (jack_nframes_t) npeaks, (jack_nframes_t) start, (jack_nframes_t) cnt, n_chan,samples_per_unit);
+ return ((AudioRegion *) arg)->read_peaks ((PeakData *) data, (nframes_t) npeaks, (nframes_t) start, (nframes_t) cnt, n_chan,samples_per_unit);
}
uint32_t region_length_from_c (void *arg)