void freeze_me (InterThreadInfo&);
void unfreeze ();
+ bool frozen_processor(PBD::ID const) const;
bool bounceable (boost::shared_ptr<Processor>, bool include_endpoint) const;
boost::shared_ptr<Region> bounce (InterThreadInfo&);
virtual void freeze_me (InterThreadInfo&) = 0;
virtual void unfreeze () = 0;
+ virtual bool frozen_processor(PBD::ID const) const { return false; }
/** @return true if the track can be bounced, or false otherwise.
*/
FreezeChange(); /* EMIT SIGNAL */
}
+bool
+AudioTrack::frozen_processor(PBD::ID const id) const
+{
+ if (freeze_state() != AudioTrack::Frozen) {
+ return false;
+ }
+
+ for (vector<FreezeRecordProcessorInfo*>::const_iterator ii = _freeze_record.processor_info.begin(); ii != _freeze_record.processor_info.end(); ++ii) {
+ if ((*ii)->id == id) {
+ return true;
+ }
+ }
+ return false;
+}
+
void
AudioTrack::unfreeze ()
{