The second phase of this site was to add a new homepage and an audio/video sequencer, complete with gallery.
At the core of the application is a Metronome class. Writing it this way left things open for the possibility of future re-factoring since the whole mechanic ran off the timing pulses that the Metronome class dispatched. As it happens, I did actually re-visit the Metronome class, updating it to try to tighten up the timing.
Next, the view elements and model objects were divided into logical structures; Views: Timeline,Bar,Beat and Model: Track,TrackLayer,TrackItem. This structure made it a whole load easier to work with the code and string elements together. A Track has a collecion of TrackLayers, which are displayed in the Timeline. A TrackLayer has a collection of TrackItems that are displayed within the Bar and Beat elements.
In addition, the Sequencer element of the site features the option to save your work to a gallery for others to play and edit. You can deeplink straight to either yours or any track in the gallery and if that wasn’t enough, you can also embed a cut-down version of the player in your blog that automatically cues up and plays your track. This mini-player has the option to launch the track editor in a light-box so you can create and save tracks from right within your blog.