Wiki Home : Developer : BallroomDJ
BallroomDJ Development
Guidelines
- Always preserve backwards compatibility.
The pkg/upgradedb.tcl script is used to upgrade any files.
Forward compatibility is not preserved.
- Always preserve the user's configuration.
- Never overwrite the user's data files.
There are a few exceptions (with backups).
- Make backups of the user's data files.
- Never modify an audio files unless requested.
- Never delete an audio file.
Needed on Linux for BallroomDJ:
- inkscape - used to build SVG files and to convert SVG files to PNG
- dos2unix - text conversion utilities for Windows files.
- icoutils - for Mac OS X icons
- icnsutils - for Mac OS X icons
- nsis - the Windows installer system
- libvlc-dev - so that the vlc interface can be built.
- libvlccore-dev - ditto
- libpulse-dev - so that the pulse volume controls can be built.
- libxml2-dev - needed to build xar for Mac OS X
- libssl-dev - needed to build xar for Mac OS X
- fossil - needed to fetch Tcl/Tk
- libx11-dev, libxft-dev, libxss-dev, libxext-dev - needed to build Tk
Packaging
In order to create the Mac OS X package, bomutils and xar need to be installed. These are not always available from the Linux repositories.
Notes
All TButton class buttons (the default) will auto-disable and re-enable to prevent double clicks. If the button needs to be disabled by the program, the button needs to be class Normal.TButton.