projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
son't try to select non-existent notes after editing (and thus crash).
[ardour.git]
/
gtk2_ardour
/
global_port_matrix.cc
diff --git
a/gtk2_ardour/global_port_matrix.cc
b/gtk2_ardour/global_port_matrix.cc
index cdba7f5c27d6a74c4a8dab157d09c395096aec7a..9a6db259dcb44f9f4ddfdcb95630ad3d13bea143 100644
(file)
--- a/
gtk2_ardour/global_port_matrix.cc
+++ b/
gtk2_ardour/global_port_matrix.cc
@@
-19,6
+19,7
@@
#include <gtkmm/image.h>
#include <gtkmm/stock.h>
#include <gtkmm/image.h>
#include <gtkmm/stock.h>
+
#include "global_port_matrix.h"
#include "utils.h"
#include "global_port_matrix.h"
#include "utils.h"
@@
-27,10
+28,11
@@
#include "ardour/audioengine.h"
#include "ardour/port.h"
#include "ardour/audioengine.h"
#include "ardour/port.h"
-#include "i18n.h"
+#include "
pbd/
i18n.h"
using namespace std;
using namespace ARDOUR;
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
GlobalPortMatrix::GlobalPortMatrix (Gtk::Window* p, Session* s, DataType t)
: PortMatrix (p, s, t)
GlobalPortMatrix::GlobalPortMatrix (Gtk::Window* p, Session* s, DataType t)
: PortMatrix (p, s, t)
@@
-47,7
+49,7
@@
GlobalPortMatrix::setup_ports (int dim)
}
_ports[dim].suspend_signals ();
}
_ports[dim].suspend_signals ();
- _ports[dim].gather (_session, type(), dim == IN, false, show_only_bundles ());
+ _ports[dim].gather (_session, type(), dim ==
FLOW_
IN, false, show_only_bundles ());
_ports[dim].resume_signals ();
}
_ports[dim].resume_signals ();
}
@@
-58,8
+60,8
@@
GlobalPortMatrix::set_state (BundleChannel c[2], bool s)
return;
}
return;
}
- Bundle::PortList const & in_ports = c[
IN].bundle->channel_ports (c[
IN].channel);
- Bundle::PortList const & out_ports = c[
OUT].bundle->channel_ports (c[
OUT].channel);
+ Bundle::PortList const & in_ports = c[
FLOW_IN].bundle->channel_ports (c[FLOW_
IN].channel);
+ Bundle::PortList const & out_ports = c[
FLOW_OUT].bundle->channel_ports (c[FLOW_
OUT].channel);
for (Bundle::PortList::const_iterator i = in_ports.begin(); i != in_ports.end(); ++i) {
for (Bundle::PortList::const_iterator j = out_ports.begin(); j != out_ports.end(); ++j) {
for (Bundle::PortList::const_iterator i = in_ports.begin(); i != in_ports.end(); ++i) {
for (Bundle::PortList::const_iterator j = out_ports.begin(); j != out_ports.end(); ++j) {
@@
-102,8
+104,8
@@
GlobalPortMatrix::get_state (BundleChannel c[2]) const
return PortMatrixNode::NOT_ASSOCIATED;
}
return PortMatrixNode::NOT_ASSOCIATED;
}
- Bundle::PortList const & in_ports = c[
IN].bundle->channel_ports (c[
IN].channel);
- Bundle::PortList const & out_ports = c[
OUT].bundle->channel_ports (c[
OUT].channel);
+ Bundle::PortList const & in_ports = c[
FLOW_IN].bundle->channel_ports (c[FLOW_
IN].channel);
+ Bundle::PortList const & out_ports = c[
FLOW_OUT].bundle->channel_ports (c[FLOW_
OUT].channel);
if (in_ports.empty() || out_ports.empty()) {
/* we're looking at a bundle with no parts associated with this channel,
so nothing to connect */
if (in_ports.empty() || out_ports.empty()) {
/* we're looking at a bundle with no parts associated with this channel,
so nothing to connect */
@@
-118,15
+120,17
@@
GlobalPortMatrix::get_state (BundleChannel c[2]) const
if (!p && !q) {
/* two non-Ardour ports; things are slightly more involved */
if (!p && !q) {
/* two non-Ardour ports; things are slightly more involved */
- /* XXX: is this the easiest way to do this? */
- /*
XXX: isn't this very inefficient?
*/
+
+ /*
get a port handle for one of them ..
*/
PortEngine::PortHandle ph = AudioEngine::instance()->port_engine().get_port_by_name (*i);
if (!ph) {
return PortMatrixNode::NOT_ASSOCIATED;
}
PortEngine::PortHandle ph = AudioEngine::instance()->port_engine().get_port_by_name (*i);
if (!ph) {
return PortMatrixNode::NOT_ASSOCIATED;
}
- if (AudioEngine::instance()->port_engine().connected (ph)) {
+ /* see if it is connected to the other one ... */
+
+ if (AudioEngine::instance()->port_engine().connected_to (ph, *j, false)) {
return PortMatrixNode::ASSOCIATED;
}
return PortMatrixNode::ASSOCIATED;
}