hi all...
both counters have "counter_bang" as their main function. You can not have two functions with the same name in a C program, so one of the counters will misbehave by using the wrong (first) counter_bang function.
The solution would be that the developers have to agree on function names, which brings us back to the initial problem.
the externals that have been written several times have been written, because different people needed the same, more or less basic, that's not implemented as pd internal... (on cvs, there are 3 counters, including the flext tutorial, excluding the gem counter and 4 prepends)
i would deeply suggest that all the developers (iohannes, d.ly, krzysztof, thomas, guenter for counter or prepend) who are involved in these nameclashes, discuss about their opinion on these externals, and implement one of them in the appropiate place ... e.g. since cyclone seems to be the place for max/msp port, put the externals into cyclone... or send some diffs to miller and ask him about implementing it to his next release...
What we really need is communication between developers.
to me it seems that if there is communication between the developers, it is more or less about the communication itself, but very few communication is about external development, an nearly none about internal/kernel development ...
about the namespaces: since some externals have the same name, either try to find one external that it fits to and add all features to this specific external. or write one internal and add some kind of feature that forbids to include such an external (with a fancy error message)
about some nameclashes like scale (maxlib vs. gem) these externals have a different behaviour ... maybe it would be possible to add some characters like ~ for audio externals to the gem externals. this way, gem externals would have a naming convention on their own. since they have a message path of their own, it would probably be useful to mark an external as gem external...
cheers ... tim