summaryrefslogtreecommitdiffstats
path: root/src/engine/InternalTransport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/InternalTransport.cpp')
-rw-r--r--src/engine/InternalTransport.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/engine/InternalTransport.cpp b/src/engine/InternalTransport.cpp
index 35eaa53a..5478682b 100644
--- a/src/engine/InternalTransport.cpp
+++ b/src/engine/InternalTransport.cpp
@@ -1,15 +1,15 @@
/* This file is part of Ingen.
* Copyright (C) 2007 Dave Robillard <http://drobilla.net>
- *
+ *
* Ingen is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
- *
+ *
* Ingen is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
+ *
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
@@ -44,15 +44,15 @@ TransportNode::TransportNode(const string& path, bool polyphonic, PatchImpl* par
OutputPort<Sample>* bpb_port = new OutputPort<Sample>(this, "Beats per Bar", 1, 1,
// new PortInfo("Beats per Bar", CONTROL, OUTPUT, 0, 0, 1), 1);
_ports.at(1) = bpb_port;
-
+
OutputPort<Sample>* bar_port = new OutputPort<Sample>(this, "Bar", 3, 1,
// new PortInfo("Bar", CONTROL, OUTPUT, 0, 0, 1), buffer_size);
_ports.at(2) = bar_port;
-
+
OutputPort<Sample>* beat_port = new OutputPort<Sample>(this, "Beat", 3, 1,
// new PortInfo("Beat", CONTROL, OUTPUT, 0, 0, 1), buffer_size);
_ports.at(3) = beat_port;
-
+
OutputPort<Sample>* frame_port = new OutputPort<Sample>(this, "Frame", 3, 1,
// new PortInfo("Frame", CONTROL, OUTPUT, 0, 0, 1), buffer_size);
_ports.at(4) = frame_port;
@@ -60,7 +60,7 @@ TransportNode::TransportNode(const string& path, bool polyphonic, PatchImpl* par
OutputPort<Sample>* hour_port = new OutputPort<Sample>(this, "Hour", 3, 1,
// new PortInfo("Hour", CONTROL, OUTPUT, 0, 0, 1), buffer_size);
_ports.at(5) = hour_port;
-
+
OutputPort<Sample>* minute_port = new OutputPort<Sample>(this, "Minute", 3, 1,
// new PortInfo("Minute", CONTROL, OUTPUT, 0, 0, 1), buffer_size);
_ports.at(6) = minute_port;
@@ -68,7 +68,7 @@ TransportNode::TransportNode(const string& path, bool polyphonic, PatchImpl* par
OutputPort<Sample>* second_port = new OutputPort<Sample>(this, "Second", 3, 1,
// new PortInfo("Second", CONTROL, OUTPUT, 0, 0, 1), buffer_size);
_ports.at(7) = second_port;
-
+
OutputPort<Sample>* trg_port = new OutputPort<Sample>(this, "Beat Tick", 2, 1,
// new PortInfo("Beat Tick", AUDIO, OUTPUT, 0, 0, 1), buffer_size);
_ports.at(8) = trg_port;
@@ -92,10 +92,10 @@ TransportNode::process(ProcessContext& context)
double bpm = position->beats_per_minute;
float bpb = position->beats_per_bar;
float spb = 60.0 / bpm;
-
+
//cerr << "bpm = " << bpm << endl;
- //cerr << "spb = " << spb << endl;
-
+ //cerr << "spb = " << spb << endl;
+
if (position->valid & JackPositionBBT) {
cerr << "bar: " << position->bar << endl;
cerr << "beat: " << position->beat << endl;
@@ -121,14 +121,14 @@ TransportNode::process(ProcessContext& context)
cerr << "No timecode." << endl;
}
-
+
((OutputPort<Sample>*)_ports.at(0))->buffer(0)->set(spb, 0, 0);
((OutputPort<Sample>*)_ports.at(1))->buffer(0)->set(bpb, 0, 0);
-
+
// fill the trigger buffers with zeros
((OutputPort<Sample>*)_ports.at(2))->buffer(0)->set(0.0f, 0, nframes - 1);
((OutputPort<Sample>*)_ports.at(3))->buffer(0)->set(0.0f, 0, nframes - 1);
-
+
// if the transport is rolling, add triggers at the right frame positions
if ((position->valid & JackTransportBBT) && (state == JackTransportRolling)) {
double frames_per_beat = position->frame_rate * spb;
@@ -147,7 +147,7 @@ TransportNode::process(ProcessContext& context)
}
}
#endif
-
+
NodeBase::post_process(context);
}