Based on the display list view framework and the Navigator layout managers, Siren implements a variety of musical notations. Layout managers serve as the basis for Siren's music notation applications. The basic event-oriented layout manager uses the horizontal axis to denote time (flowing from left to right), as in the next example, which opens a time sequence view on a random event list.
[TimeSequenceView randomExample]
In the time sequence view, the "note head" signifies the event's voice, not the duration. Try zooming this view.
A pitch/time view is an extension of this that uses the vertical dimension to display an event's pitch, as in piano-roll notation; for example, to display a pitch/time view on a 3-stream event list, try,
[PitchTimeView randomExample]
[PitchTimeView openOnEventList: (EventList scaleExampleFrom: 48 to: 84 in: 10000)]
In the above example, the note heads denote the events' voices, horizontal blue lines originating at the note heads show the events' lengths, and red vertical lines show the events' amplitudes. To see how this is done, look at class PitchTimeView's various implementation of the itemFor: method.
Open a pitch/time view on a *very long* 3-stream event list.
[PitchTimeView randomExampleLong]
A more complete example is Hauer-Steffens notation, which has a clef and staff lines as in common-practise notation.
[HauerSteffensView randomExample]
[(EventList scaleExampleFrom: 36 to: 48 in: 3000) edit]
Test panning and zooming these examples.
Sound View
The sound view is a simple waveform display. One can scroll, zoom, and edit.
Use the pop-up menu to create sound objects based on a number of standard synthesis methods.
[SoundView openOn: SampledSound sawtooth]
[(SampledSound sweepDur: 10.0 rate: 44100 from: 10 to: 400 chans: 1) edit]
[SoundCanvas open]