The Lyric Editor has been designed to modular and themable from the start, although there are no themes yet.
Currently there are 6 modules. The container and navigation module is lyricEditor.1.fla, each of the other modules load into the main and communicate via Flash LocalConnection objects.
Being the main container and navigation tool, lyricEditor.1.fla serves as the repository for data to be passedbetween other modules and has 2 of the general purpose, super wonderful control dials each with an equally wonderful display vial. Each of the modules tell this module what modes and the text for the modes to be passed to the navigation objects.
Logon is the first module that exchanges data with the Perl web service LogonService. Pretty basic stuff, name and password checker. Once the person enters the correct pair they can move on. Logon then updates the container with the author id for use with the rest of the modules.
Blank is just an informative screen and serves as navigation starting place. It allows access to the different modules and explains the crazy dials.
Picker is the first module to use both of the dials. The left dial lets the person go to other modules and the right selects the lyric to work on. Once selected it shows basic info about the lyric. It is also the first to communicate with the Perl web service LineServce.
Lines is with out a doubt the meat and potatoes of the project. It communicates with LineService to retrieve the lines and the info about them. The left dial works like in picker.fla but the right now is used for navigation within the lyric like a jog dial.
Invite allow the owner of the lyric to invite a person to join in the editing. It communicates with the ParticipantServce web service.
![]()
The web services which provide data to the database backend are writen in Perl useing the Perl module AMF::Perl. There are three services currently; LogonService, LineService and ParticiapntService. LineService is by far the most complicated, however, they each represent a pretty good example of how to get data to and from a Flash and a remote database using the best programing language ever, Perl. OK that was a little over the top, but of all the languages that I (Dave Waller) have come across I keep comeing back to Perl. Stick with what you know.