Welcome to the home page of the Country Dance (Folk Dancing) animation Open Source project.
A search on the Internet for country dance animation programs will show that quite a few people have made good attempts. Most of the animation programs do some aspects of the animation very well and most programs approach the problem from different directions. This has left us with a selection of programs, all of which contribute to the art of country dance animation but none of which form the complete toolset needed by those who wish to view dance animation or who wish to do other activities such as compose dances or print crib sheets in their favorite format.
Another observation is that work on these projects tends to progress in an initial spurt during which great things are achieved, but then the author becomes busy on stuff like paid work or loses interest for whatever reason. The programs that stagnate with no more work being done.
This project is an attempt to solve both the above problems. Source code to everything on this project is freely available under the General Public License. The source code is maintained under CVS on SourceForge servers. This gives everyone the ability to access the code anonomously, and, if you want to join the project and contribute, the ability to checkin changes.
Current Project Contents
The core of the project is a Java applet that takes as input a dance description in XML format and animates it. The applet also has an interface into it that allows other applications such as a JavaScript to control the animation, providing a richer user interface. This applet can also be used to determine the position of each dancer and the direction in which they are facing at any point of time. This information can then be used to create diagrams.
There are various different types of users:
- Web Masters who want to provide links in their online dance programs to the appropriate dance animations.
- Those who want to use the animation applets as is, but write their own user interface and scripts to control the animation applets.
- Those who are interested in the internals of the animation and who might want to improve and enhance the animation tools, or add their own tools.
Users in this group should sign up for a SourceForge user id, and go to the
developers' page in SourceForge and ask an admin to add you as a developer. Your contributions will be most appreciated.
- Dance authors who want to write their own dances and those who want to contribute to the database of dances by writing XML descriptions for existing dances.
Some aims of this project are to collect together:
- A list of country dances in XML format
- Tools that process the XML to perform various purposes such as crib sheets, dance descriptions, and computer animations of the dance
If you are interested in the format of the XML, see the XML schema page. If you want to use the classes that process the XML and provide the positions of the dancers then you should read the Javadoc for the animation objects. This contains the documentation of all public methods.
The primary tool available at this time is a Java applet that animates a dance. If you are interested in coding new features or patches to this code then you should read a description of the design and implementation of the Java animation applet. You should also read the internal JavaDoc. This contains the documentation of all public and private class members.
So that you can see an example of an animation, we have coded the following dances:
The animations as shown here are more of a test tool than a teaching aid, allowing us to test XML descriptions and to demonstrate that the XML defines precisely where people should be at any point of time, the direction in which they are facing, and when hands are taken. Rich user interfaces may be written in scripting languages such as JavaScript that allow editing, replays, etc, using the Java applet and the XML to determine the movements of people and hands.
Some of the other animation programs found on the Internet are:
- Felix Hamelbeck's animation, writen in Java. The user interface for this allows editing of figures by specifying the location of each person at each bar by clicking with the mouse. Various controls allow the user to reply a phrase, and to stop and start the dance at any time.
- Contra Dance Designer, written in JavaScript, and with the source available under GPL. The front end interface allows the creation of a dance by selecting a series of predefined figures. This works well for contra dances where all figures are two couple figures. The figures are defined in the source code by listing a series of movements done by each person (up, up-right, right etc.). It takes six movements to cross from one line to the other. One nice thing about this animation is that the gif image file for each dancer is specified in the HTML file and moved around by the JavaScript. This allows you to use whatever images you like for your dancers (though I do not know how to show the direction of the dancers using this technique).
- English Country Dance Diagrams, written in JavaScript. This one has music, co-ordinated with the animation, and nice tones too. It also shows the tracks that people are taking as each figure is being animated.
>
The CVS web interface.