msc->set_input_port (boost::dynamic_pointer_cast<MidiPort>(scene_input_port()));
msc->set_output_port (boost::dynamic_pointer_cast<MidiPort>(scene_output_port()));
- boost::function<framecnt_t(void)> timer_func (boost::bind (&Session::audible_frame, this));
+ boost::function<framecnt_t(void)> timer_func (boost::bind (&Session::audible_frame, this, (bool*)(0)));
boost::dynamic_pointer_cast<AsyncMIDIPort>(scene_input_port())->set_timer (timer_func);
setup_midi_machine_control ();
XMLNode* ca = node->add_child (X_("CompoundAssociations"));
for (RegionFactory::CompoundAssociations::iterator i = cassocs.begin(); i != cassocs.end(); ++i) {
- char buf[64];
XMLNode* can = new XMLNode (X_("CompoundAssociation"));
- i->first->id().print (buf, sizeof (buf));
- can->add_property (X_("copy"), buf);
- i->second->id().print (buf, sizeof (buf));
- can->add_property (X_("original"), buf);
+ can->add_property (X_("copy"), i->first->id().to_s());
+ can->add_property (X_("original"), i->second->id().to_s());
ca->add_child_nocopy (*can);
}
}
void
Session::set_dirty ()
{
- /* never mark session dirty during loading */
+ /* return early if there's nothing to do */
+ if (dirty ()) {
+ return;
+ }
+ /* never mark session dirty during loading */
if (_state_of_the_state & Loading) {
return;
}
- bool was_dirty = dirty();
-
_state_of_the_state = StateOfTheState (_state_of_the_state | Dirty);
-
- if (!was_dirty) {
- DirtyChanged(); /* EMIT SIGNAL */
- }
+ DirtyChanged(); /* EMIT SIGNAL */
}
void
_clicking = false;
}
+ } else if (p == "click-record-only") {
+
+ _click_rec_only = Config->get_click_record_only();
+
} else if (p == "click-gain") {
if (_click_gain) {