Bugs item #2806856, was opened at 2009-06-15 18:30 Message generated for change (Comment added) made by eighthave You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=2806856...
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: puredata Group: None Status: Pending Resolution: None Priority: 5 Private: No Submitted By: Johannes (jpburstrom) Assigned to: Nobody/Anonymous (nobody) Summary: Possible to connect the same in/outlets multiple times
Initial Comment: When connecting objects through dynamic patching, pd can connect an outlet several times to the same inlet if sending the same message many times. The attached patch shows this behaviour, and why it can lead to strange and hard to find bugs.
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2009-06-16 19:40
Message: The editor does not let you create duplicate connections. You can see that by reading the .pd file if you save out the patch below before deleting the connection.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody) Date: 2009-06-16 13:39
Message: eighthave, your test does not necessarily test that, because you don't know in advance whether deleting what looks like a single wire really deletes a single wire or not. Your only quick way of really knowing whether a wire is double, is to try sending messages through a wire that could be double, and see whether the messages get duplicated. Else you have to first demonstrate a way that wires can be really duplicated so that you can show that wire deletion really always deletes one wire at a time... that'd take a lot more than 6 steps.
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave) Date: 2009-06-16 12:17
Message: and for a working illustration of this, try this:
1. create new patch 2. create an [inlet] 3. create an [outlet] 4. connect the [inlet] to the [outlet] 5. connect the [inlet] to the [outlet] again 6. break the connection between the [inlet] and the [outlet]
There is only one connection...
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave) Date: 2009-06-16 12:13
Message: IOhannes, its hard to find documentation for things that are not features in software. People usually do not document things that are not included in software, because that documentation would be endless and useless. I can say that duplicate connections is not mentioned in any of the reference materials.
Do I need a reference to say that you cannot connect an outlet to the background canvas?
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody) Date: 2009-06-16 10:56
Message: something doesn't have to be a feature OR a bug. it can also be neither, in the grey area, without status nor reason for being whichever way, and there isn't necessarily a reason for it to be any different either.
----------------------------------------------------------------------
Comment By: IOhannes m zmlnig (zmoelnig) Date: 2009-06-16 10:51
Message: was it you that just said "so you can't tell whether it's a bug or a feature, and you can reasonably argue for either"?
for instance (totally unrelated) you can just duplicate an object with Ctrl-C Ctrl-V and you cannot visually distinguish the two instances (a common pitfall for newbies and oldies). if this would be removed i would be really upset. however, of course i cannot think of being very upset if the duplicate-connection was removed. i just don't think it's a bug - leaving only the "feature" option...
also i am not aware of the truth of "the Pd language as its defined has no way to handle multiple connections from the same outlet to the same inlet". please give a reference.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody) Date: 2009-06-16 10:37
Message: zmoelnig, whenever you do anything with pd, you must know what you're doing, and it's also easily possible to keep track of multiple connections if the editor allowed them, by using comment (ctrl-5) or a piece of napkin.
As a hypothetical question, if canvas_connect disallowed multiple connections, would you really request a multiple connection feature?
see also the article "Real Programmers Don't Use Pascal"...
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave) Date: 2009-06-16 10:29
Message: First, the Pd language as its defined has no way to handle multiple connections from the same outlet to the same inlet. The implementation might. The second question then is, is there ever a reason that duplicate connections would be used? They seem to add nothing but confusion. I don't consider confusion a feature.
----------------------------------------------------------------------
Comment By: IOhannes m zmlnig (zmoelnig) Date: 2009-06-16 10:13
Message: i would argue that it is a feature. when programmatically creating patches, you really MUST know what you are doing. it is easily possible to keep track of which connections you have done already, so you don't need to double-connect...
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody) Date: 2009-06-15 19:21
Message: this happens in canvas_connect in src/g_editor.c and happens in _all_ versions of pd ever, all OSes, etc. it is officially undocumented, so you can't tell whether it's a bug or a feature, and you can reasonably argue for either.
----------------------------------------------------------------------
Comment By: Johannes (jpburstrom) Date: 2009-06-15 19:10
Message: Sorry, here's some more:
This is a problem with both pd-0.41.4-extended and pd-0.42.5, on my 64-bit ubuntu 9.04. It seems to happen regardless of sound card and audio API.
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave) Date: 2009-06-15 19:03
Message: Please provide as detailed information as possible including which operating system (OS), CPU type, specific hardware, and the exact distro and version of Pd itself, etc.
For example:
Pd version 0.41.4-extended Mac OS X 10.5.7/Intel built-in sound
----------------------------------------------------------------------
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=2806856...