summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-01-08 02:56:49 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-01-08 02:56:49 +0000
commita20f41ab39cc034740ccd564c1057d8737d763d5 (patch)
tree6f713470d72ec04ad03efb1ad6380717476c29fd /libs/ardour/audio_track.cc
parent1186b1d881fac3d1d1b55954b84b958c988501c4 (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.cc36
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;