This package contains the core data of the program.

See: Description

Package Description

This package contains the core data of the program. The data model as in the Model-View-Control paradigm It abstracts over the sound engine, that is it provides an abstract interface over the specific sound engine so that it can be reused with other audio systems. The SoundEnfingeFactory class is the entry point for a any sound engine package. The entry point for the sound engine is Daw.getSoundEngineFactory() so you'd need to modify that call to make your own sound engine.

As per the faced design pattern all the functionality of a sound engine package would be attained by providing an implementation of the SoundEngineFactory factory interface and of, the interface types returned by its methods (SoundWave, Parameter, Sonification and Sample) and by SoundWave's methods.

A default sound engine is provided using the Beads library (see package).

USAGE of the Cross-Modal DAW prototype program

Open a sound file: only mono and short wav files are supported. The wave is placed where the cursor is at the moment of opening.

edit commands: cut copy and paste can be done by the usual key strokes or from the Edit menu. The cut and copy commands take the part of wave in the audio track selection and paste pastes it where the cursor is.

selection: You make a selection by dragging your mouse on an audio track or using left and right arrow keys to move the cursor while holding shift. F2 and F3 keys move the cursor at the edges of the selection.

View menu: use the items in the "View" menu to change the view of the wave. "Generate Peaks Curve" creates a graph with the peak level overlaid on the audio track. If you press right-click on the audio track when the peak curve is visible you can enable the sonification of the peak level graph. "Listen to peak level" will play the whole track from the start to the end together with the sonification.
"Switch listen peak level on/off" enables and disables the active sonification. In the active sonification it is the user who must scan the track with left/right arrow keys and the sonification plays what's under the cursor. The active sonification can also be enabled by pressing ctrl+p when the focus is on the audio track ( to focus the audio track tab through all the components until you reach the audio track)

Track menu: "Cancel selection" removes the audio track selection. "Switch automation" enables the automation graph, for gain and panning, overlaid on the audio track. When the automation is enabled you can access the automation actions by right clicking on the automation graph. This allows you to insert/remove automation points, reset the automation and enable the automation graph sonification that works the same way as the sonification of the peak level graph.

Haptics: "Start haptic device" starts the phantom omni haptic device. Note you need to have the driver installed and the device plugged in. Also you need to have the open haptics toolkit installed. "Activate current view in haptics" (ctrl+h) will create a haptic representation of one of the following: automation, peak level graph, sound wave. Which one depends on what is currently visible: automation overlay, peak level overlay or just the simple wave. To switch to another type of haptics representation, just make it visible and press ctrl+h again.