Howdy, as some of you know, me Derek and Matt have been working on new updates for cyclone. Back when I forked cyclone to my repository and proposed to step into a new development, some were worried about the future of this project. As a proper discussion could only make sense when there was something to show for, we finally have some sort of a preview of what's been going on. Hence, here is a good moment to check this and give us some thoughts and feedbacks.


Recently, I did release a Pre Alpha version (milestone 1), but no feedback was shared so far. Here's a second (milestone 2) preview release... https://github.com/porres/pd-cyclone/releases


Cyclone is a set of externals that clones classes from cycling74's Max/MSP. It has the function to expand Pure Data Vanilla with a very large set of externals, but also provides some level of compatibility between the two environments, helping users of both systems in the development of equivalent or similar patches. Cyclone came out in the era of Max/MSP 4. Since then, later versions included new functionalities in some of the objects that were cloned in cyclone, but cyclone just kept outdated. Our work developing for cyclone is focused mainly in the effort of updating all the outdated objects to include functionalities from the current version of Max/MSP (currently version 7.2.5).


Cyclone was originally developed from 2002 to 2005 by Krzysztof Czaja, who later abandoned it. Then, it ended up incorporated into Pd Extended under the maintenance of Hans-Christoph Steiner until jan 2013. Fred Jan Kraan started maintaining and developing for cyclone from dec 2014, but in feb 2016 decided to stop active development for cyclone, though he still works on maintaining his 0.2beta  package. I forked cyclone (in its 0.2beta1 state) to a new repository and started working on further developments. Since then, others got involved and Fred Jan Kraan’s repository refers to our branch as the active development one.


Although our intent is to work in cyclone without diverging from its original goal and scope, our branch is independent as neither the original developer nor the following maintainers have been involved in any way. We tried contacting the original author Krzysztof Czaja to discuss our further developments, but he’s currently inactive in the Pd Community and couldn’t be reached or found. Nonetheless, the next maintainer, Hans-Christoph Steiner, did manifest ground rules for future maintainers in cyclone here in the Pd list as follows:

"About maintaining cyclone, I think a reorg would be great, and further maintenance as well.  If you want to do whatever you want with it, then just make a fork and work on it as a new name.  If you want to stick to cyclone's central goal of Max/MSP compatibility, then keep working on it as cyclone. But please do not work on cyclone and break the Max/MSP compatibility."


Link: https://lists.puredata.info/pipermail/pd-list/2015-06/110620.html


Respecting the rule of not breaking Max/MSP compatibility, we consider our branch to be faithful to the original goal of cyclone. Thus, the intent is to keep working on it as cyclone instead of a fork under a new name. In this respect, we do not wish to impose any personal view or control over the project. First because this is a project with a clearly defined scope that leaves very little room for arbitrariness - basically, all that there is to do is clone objects from Max in their original design and behaviour, without any room for being creative. Secondly, also because of this well defined scope, we consider that cyclone belongs ultimately to the Pd Community and not to a particular maintainer.


In regard to this, we are open to collaboration and willing to discuss the future of cyclone with the community before releasing a final and official version of our work (not an alpha/beta test). If in agreement to the Pd community, we shall release an update of the cyclone project as version cyclone 0.3, in order to differentiate it from earlier versions. So far, only “Pre Alpha” releases have been made available, but we hope to have an Alpha or Beta test version by the time of PdCon16 in november.


It is my understanding that the worries about further development in cyclone would compromise backwards compatibility or introduce drastic changes. We did make some changes in the structure of cyclone, like using low case letters instead of the old way with capital letters, but we didn't break backwards compatibility, we are compromised with that.


About updating objects in cyclone, so far, for all we've done (and we're close to the end), no change has been made that would compromise backwards compatibility. This denotes how Cycling tries to respect backwards compatibility when updating objects or Max versions. It is possible to happen, but very rare. We did include new objects in cyclone such as [scale] and [scale~] - a rare case where they changed the functionality of an object, but since it is a new object in cyclone, it did not have to be changed.


Several bugs have been fixed in our repository. These are changes that can arguably compromise backwards compatibility, depending on the point of view. But most of the changes are: actually minor changes; introducing missing features without compromising the structure of the object; fix mathematical errors; drastically wrong behaviour and the like.


Again, before releasing a final and definitive version, I invite people to check this project, ask about some of the changes that have been made but aren't clear, test it, and discuss with us the future of cyclone, raise any possible issue, any good or bad feedback ;) If no issues are raised, we'll assume that we are moving into a correct direction.


It is good to reinforce that this is a huge project that would highly welcome collaborators. For instance, I only compiled for mac, maybe somebody else can help us compiling for windows?


cheers