Update NTK.
[nondaw.git] / timeline / doc / MANUAL.mu
blobb316de6609e7abbeb982bbd6c5c7a0f68887a430
2 ! title         Non DAW User Manual
3 ! author        Jonathan Moore Liles #(email,male@tuxfamily.org)
4 ! date          June 20, 2008
6 -- Table Of Contents
8 : User Manual
10 :: The Timeline Editor
12 / Timeline Editor
13 < tle.png
15   The Timeline Editor is what you first see when you start the Non-DAW. Here
16   you will add tracks, make captures, and arrange regions.
18   Before you can add anything to the timeline, you must create a new project
19   (menu item `Project\/New`)
21 / New Project Dialog
22 < new-project.png
24 ::: Display Options
26   The display options, found in the `Options\/Display` submenu may be adjusted
27   to suit your needs. Set the color scheme, widget style, and other graphic
28   options to your liking. These options are global and affect all projects.
30 ::: Navigation
32 :::: Sequences
34   A sequence is focused when you click on it. Focus can be moved back and forth
35   between sequences with `Tab` and `Shift-Tab`.
37 :::: Playhead
39   `Shift+Left` and `Shift+Right` move the playhead backward and forward one
40   beat, while `Ctrl+Shift+Left` and `Ctrl+Shift+Right` move it by bars.
42 ::::: Within A Sequence
44   The focused sequence accepts additional movement commands with specific
45   relevance. `Ctrl+Left` moves the playhead to the beginning of the current or
46   previous object in the sequence.  `Ctrl+Right` moves it to the beginning of
47   the next object in the sequence.
49 :::: Range
51 / Selecting a range
52 < range.png
54   `Ctrl+[` moves the left range cursor (P1) to the position of the playhead.
55   `Ctrl+]` moves the right range cursor (P2) to the position of the playhead.
57   The range cursors can be set individually with the mouse by positioning the
58   pointer over the desired location and pressing `[` or `]`. Alternatively,
59   both may be set at once by holding `R` and left-click+dragging the selection
60   rectangle.
62 ::: Projects
64 / Project Info Dialog
65 < project-info.png
67   A Non-DAW project is a directory where Non-DAW keeps the journal, project
68   specific settings, notes, some meta-data, and, last but not least, your audio
69   sources. A project is completely self-contained. You can rename a project as
70   simply as:
72 > $ mv Project-A Project-B
74   Non-DAW projects can refer to audio sources outside of the project
75   directory--clips dropped onto the timeline from a file-manager, for instance.
76   These are not copied into the project by default. This allows the efficient
77   use of audio loop libraries, but introduces external dependencies. Beware
78   that if you ever move, remove, or change one of these external sources, it
79   will affect the Non-DAW projects referencing them.
81 / Note:
82 { To import all the external sources for a project, making it suitable for
83 { distribution or archiving, use the `import-external-sources` script included
84 { with the program.
86 :::: Settings
88   Project specific settings are found in the `Project\/Settings` submenu.
90 ::: Transport
92 / Transport Controls
93 < transport.png
95   The transport controls allow you to control the JACK transport from the
96   Timeline Editor. `Home` moves the playhead to 0 and `End` moves it to the
97   end of the project. `Space` toggles playback.
99 ::: Clocks
101 / Clocks
102 < clocks.png
104   The clocks tell you precisely where the playhead is. There are several clock
105   types which can be cycled through by left-clicking. The following clock types
106   are available:
108 + Hours Minutes Seconds
109 + Timecode
110 + Sample
111 + Bar Beat Tick
113 ::: Tempo Map
115 / The Tempo Map
116 < tempomap.png
118   The tempo map serves a dual purpose. Firstly, it provides enough information
119   about the musical structure of your project for Non-DAW to perform
120   intelligent snapping and draw helpful measure lines. Secondly, the tempo map
121   is communicated to other JACK clients at playback time via the JACK Timebase
122   API, so that MIDI accompaniment can follow along to the tempo changes in your
123   song.
125   Clicking on an empty part of the time or tempo sequences will prompt you for
126   the parameters of a new time or tempo point to be inserted at that position.
127   Hit `Escape` to cancel the insertion. Right-click on a time or tempo point to
128   edit its value. Existing points can be dragged freely.
130 ::: Tracks
132 / A Track Header
133 < track-header.png
135   Add a track to the timeline by pressing the `A` key. Right-clicking on the
136   track header will bring up a context menu by which you can configure the
137   number of channels used by this track. Click on the track name to change it.
138   The `T`akes menu lists all the takes associated with a track. The circular
139   record-enable button is used to arm a track for recording. Only armed tracks
140   will be recorded onto when the master record-enable button on the transport
141   is activated and the transport is started. The 'm' toggle button is mute, the
142   's' button is solo. Multiple tracks can be soloed at once. `Shift+Mousewheel`
143   will adjust the track height. Remove a track by selecting 'Remove' from its
144   context menu.
146 :::: Recording
148 / Recording onto a Track
149 < recording.png
151   To initiate recording, first arm some tracks by toggling their record
152   buttons, then toggle the global record-enable button on the transport.
153   Recording will begin when you press play. During recording, the timeline
154   darkens and refuses normal input. Regions being captured are colored bright
155   red. The viewport will automatically follow the playhead as the recording
156   progresses. Recording stops when you stop the transport or toggle the global
157   record-button.
159 ::: Sequences
161   Sequence is the generic term used to describe all distinct sequences of
162   objects on the timeline.
164 ::: Regions
166   Regions are the most common object on the timeline. Each region represents
167   some portion of an audio source placed at some position in time. Since
168   Non-DAW is non-destructive, regions only *represent* the source--altering a
169   region does not affect the audio source in any way. Deleting a region does
170   not delete the source--as other regions may still refer to it.
172 / Note:
173 { If you decide, for whatever reason, that you no longer wish to retain unused
174 { sources, run the `remove-unused-sources` script included with the program.
176   Try this one-liner to clean up many projects in parallel and reclaim disk space:
178 > for i in ~/projects/*; do remove-unused-sources "$i" & done
180 :::: Editing
182 ::::: Split
184   Position the mouse pointer where you would like the region split and perform
185   `Shift+Middle-click`. This will divide the region at the mouse pointer.
187 ::::: Duplicate
189   Drag a region (or selection) with the mousse while holding the `Ctrl` key to
190   duplicate it.
192 ::::: Delete
194   `Ctrl+Right-click` removes a region or selection from the timeline.
196 ::::: Trim
198   Hold down `Shift` and click on part of a region with the left mouse button.
199   This trims the region start to the position of the mouse pointer. Continue
200   holding `Shift` and drag to continuously trim the region start point. Do the
201   same with the right mouse button to trim the region end.
203 ::::: Pan
205   Hold `Ctrl+Shift` and drag the region. Instead of moving on the timeline, the
206   region will remain stationary as the audio source /behind/ it is panned
207   forward or back. This operation is particularly useful in conjunction wiht
208   looped regions.
210 ::::: Normalize
212   Hit `N` while a region is focused to normalize it (or `Ctrl+Middle-click`).
213   Normalizing a region means automatically setting its gain as high as possible
214   without exceeding the standard floating point audio dynamic range of +1 to -1
215   (corresponding to 0dBFS). Any peaks exceeding this range at this stage will
216   appear in bright red.
218 ::::: Fade
220 / A Region with Fades
221 < fade-in-out.png
223   Each region has fade in and out curves. Position the mouse pointer over the
224   desired fade-in end location and hit `F3` to set the fade-in duration.
225   Position the mouse pointer over the desired fade-out start location and hit
226   `F4` to set the fade-out duration. Right click on a region to bring up its
227   context menu, then choose the type of curve for each fade. The following
228   curves are available:
230 + Linear
231 + Sigmoid
232 + Logarithmic
233 + Parabolic
235 ::::: Loop
237 / Looped region
238 < looping.png
240   Instead of requiring you to duplicate a small region 100 times to achieve a
241   looping effect, Non DAW supports looping directly. First, adjust the region
242   duration to cover the amount of time you would like it to loop for. Then,
243   position the mouse pointer over the first place the loop should repeat (i.e.
244   the first bar line after the start of the region) and hit `L`. This will set
245   the loop point for this region, which will be indicated by two white arrows.
246   At playback, the portion of the region before the loop point will loop for
247   the duration of the region.
249 ::: Annotation
251 / Annotations
252 < annotations.png
254   Add an annotation sequence to a track by right-clicking on the track header
255   to bring up the context menu, and choosing /Add annotation/. Any number of
256   annotation sequences may be attached to each track. Click on an empty space
257   in the sequence to add a new annotation point. Right click on the annotation
258   point to rename it. Hold down shift and drag with the right mouse button to
259   create a new annotation region of a given duration. Again, right click to
260   edit the text. Only the first line of annotation region text will be
261   displayed on the timeline. Annotation regions are useful for containing
262   lyrics or other cues which have a definite duration. Annotation points are
263   more appropriately used to denote points of interest or change.
265 ::: Automation
267 / Control Sequence
268 < automation.png
270   Each track may have any number of control sequences attached to
271   it. A control sequence comprises a series of points in time (X axis)
272   and intensity (Y axis). Add a control sequence to a track by picking
273   /Add control/ from its context menu. A control sequence may be named
274   by right clicking on it to bring up the context menu, then picking
275   /Rename/. The output of a control sequence can be set to one of two
276   modes /Control Voltage \(JACK\)/ or /Control Signal \(OSC\)/.
278 { NOTE:
279 { Since release 1.1.0, Control Signal is now the default output mode for Control Sequences.
280 { If you have existing projects and wish to continue using Control Voltage output,
281 { you must set the mode to Control Voltage manually.
283   Click anywhere on the control sequence to add a new control point. Control
284   points can be dragged around and selected just like other objects on the
285   timeline. They can even be part of the same selection as regions, permitting
286   you to move regions and control points together in lock-step.
288 :::: Output Mode
290 ::::: Control Voltage
292   /Control Voltage/ is similar to control voltages generated by analog
293   equipment. Setting the Control Sequence mode to Control Voltage will
294   create a JACK output port whose contents simulate an analogue
295   Control Voltage signal. This mode can be used to control anything
296   that accepts CV style input.  Useful targets include the Non-Mixer,
297   and SpiralSynthModular.
299 ::::: Control Signal
301   The /Control Signal/ mode uses a signal routing layer on top of the
302   OSC protocol to intelligently and automatically discover and control
303   any module parameter in Non-Mixer. The output of one Control
304   Sequence may be connected to any number of Control Signal inputs
305   available in Non-Mixer.
307   Control Signals are more efficient than Control Voltages when a
308   large number of parameters are being automated.
310 / Control Signal Connection
311 < control-signals.png
313 :::: Interpolation Mode
315 / Effect of Interpolation Mode
316 < control-points.png
318   The interpolation mode controls how the relatively small number of
319   Control Points is transformed into a continuously varying
320   signal. The options are /None/ and /Linear/.
322   When its Interpolation mode is set to /None/, a Control Sequence
323   will output discrete jumps in value upon the playhead passing each
324   Control Point. This can be useful when instantaneous changes in
325   value are required, such as sudden muting, or changing the modes of
326   plugins.