f@1: /** f@4: *

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

f@4: *

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

f@4: *

f@4: * A default sound engine is provided using the Beads library (see uk.ac.qmul.eecs.depic.daw.beads package). f@4: *

f@1: * f@4: *

USAGE of the Cross-Modal DAW prototype program

f@1: * f@4: *

f@4: * 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. f@4: *

f@4: *

f@3: * 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 f@3: * part of wave in the audio track selection and paste pastes it where the cursor is. f@4: *

f@4: *

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

f@4: *

f@3: * View menu: use the items in the "View" menu to change the view of the wave. "Generate Peaks Curve" creates a graph with the f@3: * peak level overlaid on the audio track. If you press right-click on the audio track when the peak curve is visible you f@3: * can enable the sonification of the peak level graph. "Listen to peak level" will play the whole track from the start to the end f@4: * together with the sonification.
f@3: * "Switch listen peak level on/off" enables and disables the active sonification. In the active sonification it is the user who must f@3: * scan the track with left/right arrow keys and the sonification plays what's under the cursor. The active sonification f@3: * 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 f@3: * components until you reach the audio track) f@4: *

f@4: *

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

f@4: *

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

f@1: * f@1: */ f@1: package uk.ac.qmul.eecs.depic.daw;