InterThreadInfo itt;
- itt.done = false;
- itt.cancel = false;
- itt.progress = 0.0f;
-
boost::shared_ptr<Region> r = track->bounce_range (region->position(), region->position() + region->length(), itt);
cerr << "Result of bounce of "
<< region->name() << " len = " << region->length()
InterthreadProgressWindow ipw (current_interthread_info, _("Freeze"), _("Cancel Freeze"));
- itt.done = false;
- itt.cancel = false;
- itt.progress = 0.0f;
-
pthread_create_and_store (X_("freezer"), &itt.thread, _freeze_thread, this);
track_canvas->get_window()->set_cursor (Gdk::Cursor (Gdk::WATCH));
InterThreadInfo itt;
- itt.done = false;
- itt.cancel = false;
- itt.progress = false;
-
playlist->clear_history ();
boost::shared_ptr<Region> r = rtv->track()->bounce_range (start, start+cnt, itt, enable_processing);
double const y = alt_log_meter (_threshold.get_value());
- cout << "thresh " << _threshold.get_value() << " alt log " << alt_log_meter (_threshold.get_value()) << "\n";
-
(*i)->threshold_line->property_y1() = (n + 1 - y) * _wave_height;
(*i)->threshold_line->property_y2() = (n + 1 - y) * _wave_height;
}
};
struct InterThreadInfo {
+ InterThreadInfo () : done (false), cancel (false), progress (0), thread (0) {}
+
volatile bool done;
volatile bool cancel;
volatile float progress;
return -1;
}
- /* we don't care about this but we need to fill out the fields
- anyway. XXX should really be a default constructor for ITT
- */
-
- itt.done = false;
- itt.cancel = false;
- itt.progress = 0.0;
- itt.thread = 0;
-
/* find periods of silence in the region */
std::list<std::pair<frameoffset_t, framecnt_t> > const silence =
region->find_silence (dB_to_coefficient (_threshold), _minimum_length, itt);