projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Repeat INSENSITIVE colors instead of relying on inheritance
[ardour.git]
/
libs
/
ardour
/
rb_effect.cc
diff --git
a/libs/ardour/rb_effect.cc
b/libs/ardour/rb_effect.cc
index e90149926c86bbdd0f69aad65ea93b9670af00c0..bc127e2d816f025727653ebf4e163dbe881212f7 100644
(file)
--- a/
libs/ardour/rb_effect.cc
+++ b/
libs/ardour/rb_effect.cc
@@
-20,17
+20,19
@@
#include <algorithm>
#include <cmath>
#include <algorithm>
#include <cmath>
+#include <rubberband/RubberBandStretcher.h>
+
#include "pbd/error.h"
#include "pbd/error.h"
-#include "rubberband/RubberBandStretcher.h"
-#include "ardour/
types
.h"
-#include "ardour/
stretch
.h"
+#include "ardour/
audioregion
.h"
+#include "ardour/
audiosource
.h"
#include "ardour/pitch.h"
#include "ardour/pitch.h"
-#include "ardour/
audiofilesource
.h"
+#include "ardour/
progress
.h"
#include "ardour/session.h"
#include "ardour/session.h"
-#include "ardour/audioregion.h"
+#include "ardour/stretch.h"
+#include "ardour/types.h"
-#include "i18n.h"
+#include "
pbd/
i18n.h"
using namespace std;
using namespace ARDOUR;
using namespace std;
using namespace ARDOUR;
@@
-52,7
+54,7
@@
RBEffect::RBEffect (Session& s, TimeFXRequest& req)
, tsr (req)
{
, tsr (req)
{
- tsr.progress = 0.0f;
+
}
RBEffect::~RBEffect ()
}
RBEffect::~RBEffect ()
@@
-60,7
+62,7
@@
RBEffect::~RBEffect ()
}
int
}
int
-RBEffect::run (boost::shared_ptr<Region> r, Progress*)
+RBEffect::run (boost::shared_ptr<Region> r, Progress*
progress
)
{
boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion> (r);
{
boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion> (r);
@@
-70,7
+72,6
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
}
SourceList nsrcs;
}
SourceList nsrcs;
- framecnt_t done;
int ret = -1;
const framecnt_t bufsize = 256;
gain_t* gain_buffer = 0;
int ret = -1;
const framecnt_t bufsize = 256;
gain_t* gain_buffer = 0;
@@
-78,8
+79,6
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
char suffix[32];
string new_name;
string::size_type at;
char suffix[32];
string new_name;
string::size_type at;
- framepos_t pos = 0;
- framecnt_t avail = 0;
boost::shared_ptr<AudioRegion> result;
cerr << "RBEffect: source region: position = " << region->position()
boost::shared_ptr<AudioRegion> result;
cerr << "RBEffect: source region: position = " << region->position()
@@
-160,7
+159,7
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
(session.frame_rate(), channels,
(RubberBandStretcher::Options) tsr.opts, stretch, shift);
(session.frame_rate(), channels,
(RubberBandStretcher::Options) tsr.opts, stretch, shift);
-
tsr.progress = 0.0f
;
+
progress->set_progress (0)
;
tsr.done = false;
stretcher.setExpectedInputDuration(read_duration);
tsr.done = false;
stretcher.setExpectedInputDuration(read_duration);
@@
-182,6
+181,10
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
/* create new sources */
/* create new sources */
+ framepos_t pos = 0;
+ framecnt_t avail = 0;
+ framecnt_t done = 0;
+
if (make_new_sources (region, nsrcs, suffix)) {
goto out;
}
if (make_new_sources (region, nsrcs, suffix)) {
goto out;
}
@@
-199,10
+202,6
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
/* study first, process afterwards. */
/* study first, process afterwards. */
- pos = 0;
- avail = 0;
- done = 0;
-
try {
while (pos < read_duration && !tsr.cancel) {
try {
while (pos < read_duration && !tsr.cancel) {
@@
-210,8
+209,6
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
for (uint32_t i = 0; i < channels; ++i) {
for (uint32_t i = 0; i < channels; ++i) {
- this_read = 0;
-
framepos_t this_time;
this_time = min(bufsize, read_duration - pos);
framepos_t this_time;
this_time = min(bufsize, read_duration - pos);
@@
-238,7
+235,7
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
pos += this_read;
done += this_read;
pos += this_read;
done += this_read;
-
tsr.progress = ((float) done / read_duration) * 0.25
;
+
progress->set_progress (((float) done / read_duration) * 0.25)
;
stretcher.study(buffers, this_read, pos == read_duration);
}
stretcher.study(buffers, this_read, pos == read_duration);
}
@@
-252,7
+249,6
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
for (uint32_t i = 0; i < channels; ++i) {
for (uint32_t i = 0; i < channels; ++i) {
- this_read = 0;
framepos_t this_time;
this_time = min(bufsize, read_duration - pos);
framepos_t this_time;
this_time = min(bufsize, read_duration - pos);
@@
-279,7
+275,7
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
pos += this_read;
done += this_read;
pos += this_read;
done += this_read;
-
tsr.progress = 0.25 + ((float) done / read_duration) * 0.75
;
+
progress->set_progress (0.25 + ((float) done / read_duration) * 0.75)
;
stretcher.process(buffers, this_read, pos == read_duration);
stretcher.process(buffers, this_read, pos == read_duration);
@@
-328,7
+324,7
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
}
} catch (runtime_error& err) {
}
} catch (runtime_error& err) {
- error <<
_("timefx code failure. please notify ardour-developers."
) << endmsg;
+ error <<
string_compose (_("programming error: %1"), X_("timefx code failure")
) << endmsg;
error << err.what() << endmsg;
goto out;
}
error << err.what() << endmsg;
goto out;
}
@@
-356,9
+352,9
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
shift);
(*x)->set_master_sources (region->master_sources());
/* multiply the old (possibly previously stretched) region length by the extra
shift);
(*x)->set_master_sources (region->master_sources());
/* multiply the old (possibly previously stretched) region length by the extra
- stretch this time around to get its new length
+ stretch this time around to get its new length
. this is a non-music based edit atm.
*/
*/
- (*x)->set_length ((*x)->length() * tsr.time_fraction);
+ (*x)->set_length ((*x)->length() * tsr.time_fraction
, 0
);
}
/* stretch region gain envelope */
}
/* stretch region gain envelope */
@@
-387,8
+383,6
@@
RBEffect::run (boost::shared_ptr<Region> r, Progress*)
}
}
}
}
- tsr.done = true;
-
return ret;
}
return ret;
}