View Issue Details

IDProjectCategoryView StatusLast Update
0005084ardourbugspublic2020-04-19 20:16
Reporterjrigg Assigned Topaul  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Target Version3.0 
Summary0005084: In/out connection indicator on mixer channel strip doesn't change when connecting or disconnecting
DescriptionThe in/out connection indicator on the mixer channel strip doesn't change when connecting or disconnecting. The connections are changed correctly, but the indicator doesn't show it until after clicking on another channel strip and re-clicking on the original one. It is then updated.
Additional Information3.0 svn rev13159
Debian testing amd64 (20-8-12 snapshot)
TagsNo tags attached.

Activities

2012-09-07 23:46

 

5084.patch (1,465 bytes)   
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index 450bf2a..7e64523 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -381,8 +381,8 @@ AudioEngine::_connect_callback (jack_port_id_t id_a, jack_port_id_t id_b, int co
 
 	GET_PRIVATE_JACK_POINTER (ae->_jack);
 
-	jack_port_t* jack_port_a = jack_port_by_id (_priv_jack, id_a);
-	jack_port_t* jack_port_b = jack_port_by_id (_priv_jack, id_b);
+	string jack_port_a = jack_port_name (jack_port_by_id (_priv_jack, id_a));
+	string jack_port_b = jack_port_name (jack_port_by_id (_priv_jack, id_b));
 
 	boost::shared_ptr<Port> port_a;
 	boost::shared_ptr<Port> port_b;
@@ -390,17 +390,17 @@ AudioEngine::_connect_callback (jack_port_id_t id_a, jack_port_id_t id_b, int co
 	boost::shared_ptr<Ports> pr = ae->ports.reader ();
 	Ports::iterator i = pr->begin ();
 	while (i != pr->end() && (port_a == 0 || port_b == 0)) {
-		if (jack_port_a == i->second->jack_port()) {
+		if (jack_port_a == ae->make_port_name_non_relative (i->second->name())) {
 			port_a = i->second;
-		} else if (jack_port_b == i->second->jack_port()) {
+		} else if (jack_port_b == ae->make_port_name_non_relative (i->second->name())) {
 			port_b = i->second;
 		}
 		++i;
 	}
 
 	ae->PortConnectedOrDisconnected (
-		port_a, jack_port_name (jack_port_a),
-		port_b, jack_port_name (jack_port_b),
+		port_a, jack_port_a,
+		port_b, jack_port_b,
 		conn == 0 ? false : true
 		); /* EMIT SIGNAL */
 }
5084.patch (1,465 bytes)   

cth103

2012-09-07 23:47

administrator   ~0014002

The attached patch fixes this, I think. It's a bit of a band-aid, though, and I seem to remember investigating the underlying cause before and not getting anywhere. So maybe something better is required.

jrigg

2012-09-10 11:14

reporter   ~0014008

The patch fixes it here. Thanks.

jrigg

2012-12-08 13:59

reporter   ~0014338

Just tried svn 13618. It's fixed.

paul

2012-12-18 17:06

administrator   ~0014362

see notes.

system

2020-04-19 20:16

developer   ~0023141

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2012-09-01 14:55 jrigg New Issue
2012-09-07 22:49 cth103 cost => 0.00
2012-09-07 22:49 cth103 Target Version => 3.0
2012-09-07 23:46 cth103 File Added: 5084.patch
2012-09-07 23:47 cth103 Note Added: 0014002
2012-09-10 11:14 jrigg Note Added: 0014008
2012-12-08 13:59 jrigg Note Added: 0014338
2012-12-18 17:06 paul Note Added: 0014362
2012-12-18 17:06 paul Status new => resolved
2012-12-18 17:06 paul Resolution open => fixed
2012-12-18 17:06 paul Assigned To => paul
2020-04-19 20:16 system Note Added: 0023141
2020-04-19 20:16 system Status resolved => closed