The development team

In order to understand what CLAM has become it is important to understand how the development team has evolved over time since its initial configuration. Although in order to better understand the roles we will sometimes mention the main contributions of some collaborators it is important to understand that CLAM has always adopted a policy contrary to ``code ownership''. Therefore it is difficult to say that any one is exclusively responsible for one part of the framework.

Although CLAM's development team (clam-devel for short) has evolved over time it has always had an average of 5 developers. It must be pointed out though that, because of our situation inside an educational institution, it is seldom the case that a developer can dedicate full-time to CLAM, having other responsibilities related to other projects or to teaching/attending classes.

Only two members of the current development team (the author of this thesis and Maarten de Boer) were present in the initial team. Apart from developing many different components of the framework the author of this thesis has been responsible since then of coordinating and managing the team as well as designing the general working guidelines. Maarten de Boer has also contributed in many different parts of the framework but has been the main responsible for most of the Audio and MIDI input/output infrastructure as well as the build system.

This initial team had also three other members, (Emilia Gómez, Fabien Gouyon, and Joachim Haas) that did not have at that time many programming skills and were rather in charge of implementing signal processing algorithms. The first design decisions were basically taken by Maarten de Boer and the author but taking into account inputs from other researchers in the MTG, especially Jordi Bonada who is the developer of the original SMSTools.

The three original non-programmer members were soon replaced by new comers with their focus turning more into their research interests. The next three members of the CLAM development team were Pau Arumi, David Garcia and Enrique Robledo. Out of these three, the first two were interested in developing CLAM as part of their Master Thesis and they are still, at the time of this writing, members of the clam-devel team. Pau Arumi developed Dynamic Types and other low-level CLAM infrastructure for his Master Thesis while David Garcia was responsible for the XML infrastructure. Both of them have been involved in many different development issues since then. Enrique Robledo also contributed on the general infrastructure, especially in Processing and flow control, and developed the first real-time robust CLAM application called Rappid (see 3.2.3). Soon after another student, Miguel Ramirez, also came to do his Master Thesis in the context of the CLAM framework. He was the main responsible for the design of the Visualization Module and he is still an active member of the development team with contributions in many other different areas of the framework.

Other students have contributed to the framework, especially because of their Master Thesis. Out of these the ones that have at some time been part of the clam-devel team are the following: Xavier Rubio, who contributed on the development of the automatic flow and the Network Editor; Albert Mora, who contributed on the development of the SMSTools graphical interface; Merlinj Blaaw, who was in charge of developing the CLAM interface for developing VST plugins and also improved some efficiency issues; and Ismael Mosquera, who developed a voice to MIDI conversor and is currently in charge of graphical user interface issues.