diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-01-08 02:56:49 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-01-08 02:56:49 +0000 |
commit | a20f41ab39cc034740ccd564c1057d8737d763d5 (patch) | |
tree | 6f713470d72ec04ad03efb1ad6380717476c29fd /libs/ardour/audio_track.cc | |
parent | 1186b1d881fac3d1d1b55954b84b958c988501c4 (diff) |
a metric ton of changes
git-svn-id: svn://localhost/trunk/ardour2@246 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r-- | libs/ardour/audio_track.cc | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc index 1d3f32ae6b..4a922d631d 100644 --- a/libs/ardour/audio_track.cc +++ b/libs/ardour/audio_track.cc @@ -322,6 +322,24 @@ AudioTrack::set_state (const XMLNode& node) } } + + XMLNodeList nlist; + XMLNodeConstIterator niter; + XMLNode *child; + + nlist = node.children(); + for (niter = nlist.begin(); niter != nlist.end(); ++niter){ + child = *niter; + + if (child->name() == X_("remote_control")) { + if ((prop = child->property (X_("id"))) != 0) { + int32_t x; + sscanf (prop->value().c_str(), "%d", &x); + set_remote_control_id (x); + } + } + } + pending_state = const_cast<XMLNode*> (&node); _session.StateReady.connect (mem_fun (*this, &AudioTrack::set_state_part_two)); @@ -393,7 +411,11 @@ AudioTrack::get_state() set_midi_node_info (child, ev, chn, additional); } - + XMLNode* remote_control_node = new XMLNode (X_("remote_control")); + snprintf (buf, sizeof (buf), "%d", _remote_control_id); + remote_control_node->add_property (X_("id"), buf); + root.add_child_nocopy (*remote_control_node); + return root; } @@ -519,17 +541,17 @@ AudioTrack::no_roll (jack_nframes_t nframes, jack_nframes_t start_frame, jack_nf } else { if (_session.get_auto_input()) { - if (Config->get_no_sw_monitoring()) { - send_silence = true; - } else { + if (Config->get_use_sw_monitoring()) { send_silence = false; + } else { + send_silence = true; } } else { if (diskstream->record_enabled()) { - if (Config->get_no_sw_monitoring()) { - send_silence = true; - } else { + if (Config->get_use_sw_monitoring()) { send_silence = false; + } else { + send_silence = true; } } else { send_silence = true; |