non/timeline/doc/MANUAL.html

411 lines
19 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta name="generator" content="Generated by MUP v3.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link type="text/css" rel="stylesheet" href="mup.css">
<title>Non Timeline User Manual</title>
</head>
<body>
<div id=cover>
<h1>Non Timeline User Manual</h1>
<h3></h3>
<address>
Jonathan Moore Liles <a href="mailto:male@tuxfamily.org">&lt;male@tuxfamily.org&gt;</a><br>
<br>
</address><hr></div>
<div id=body>
<div id=toc>
<h1 id=toc>Table Of Contents</h1>
<ul>
<li><a href="#n:1.">1. User Manual</a>
<ul><li><a href="#n:1.1.">1.1. The Timeline</a>
<ul><li><a href="#n:1.1.1.">1.1.1. Display Options</a>
<li><a href="#n:1.1.2.">1.1.2. Navigation</a>
<ul><li><a href="#n:1.1.2.1.">1.1.2.1. Sequences</a>
<li><a href="#n:1.1.2.2.">1.1.2.2. Playhead</a>
<ul><li><a href="#n:1.1.2.2.1.">1.1.2.2.1. Within A Sequence</a>
</ul></ul><li><a href="#n:1.1.3.">1.1.3. Cursors</a>
<ul><li><a href="#n:1.1.3.1.">1.1.3.1. Edit Cursor</a>
<li><a href="#n:1.1.3.2.">1.1.3.2. Playback Cursor</a>
<li><a href="#n:1.1.3.3.">1.1.3.3. Punch Cursors</a>
</ul><li><a href="#n:1.1.4.">1.1.4. Projects</a>
<ul><li><a href="#n:1.1.4.1.">1.1.4.1. Settings</a>
</ul><li><a href="#n:1.1.5.">1.1.5. Transport</a>
<li><a href="#n:1.1.6.">1.1.6. Clocks</a>
<li><a href="#n:1.1.7.">1.1.7. Tempo Map</a>
<li><a href="#n:1.1.8.">1.1.8. Tracks</a>
<ul><li><a href="#n:1.1.8.1.">1.1.8.1. Recording</a>
</ul><li><a href="#n:1.1.9.">1.1.9. Sequences</a>
<li><a href="#n:1.1.10.">1.1.10. Regions</a>
<ul><li><a href="#n:1.1.10.1.">1.1.10.1. Editing</a>
<ul><li><a href="#n:1.1.10.1.1.">1.1.10.1.1. Split</a>
<li><a href="#n:1.1.10.1.2.">1.1.10.1.2. Duplicate</a>
<li><a href="#n:1.1.10.1.3.">1.1.10.1.3. Delete</a>
<li><a href="#n:1.1.10.1.4.">1.1.10.1.4. Trim</a>
<li><a href="#n:1.1.10.1.5.">1.1.10.1.5. Pan</a>
<li><a href="#n:1.1.10.1.6.">1.1.10.1.6. Normalize</a>
<li><a href="#n:1.1.10.1.7.">1.1.10.1.7. Fade</a>
<li><a href="#n:1.1.10.1.8.">1.1.10.1.8. Loop</a>
</ul></ul><li><a href="#n:1.1.11.">1.1.11. Annotation</a>
<li><a href="#n:1.1.12.">1.1.12. Automation</a>
<ul><li><a href="#n:1.1.12.1.">1.1.12.1. Output Mode</a>
<ul><li><a href="#n:1.1.12.1.1.">1.1.12.1.1. Control Voltage</a>
<li><a href="#n:1.1.12.1.2.">1.1.12.1.2. Control Signal</a>
</ul><li><a href="#n:1.1.12.2.">1.1.12.2. Interpolation Mode</a>
</ul></ul></ul></ul></ul><hr></div>
<h1 id="n:1.">1. User Manual</h1>
<h2 id="n:1.1.">1.1. The Timeline</h2>
<center><div class="fig image"><table id="Fig.1.1" border=1>
<caption>
<strong>Fig. 1.1.</strong> Timeline Editor
</caption>
<tr><td><img src="tle.png" alt="fig. 1.1"></td></tr>
</table></div></center>
<p>
The Timeline is where you will add tracks, make captures, and arrange regions.
</p>
<p>
Before you can add anything to the timeline, you must create a new project (menu item <tt>Project/New</tt>)
</p>
<center><div class="fig image"><table id="Fig.1.2" border=1>
<caption>
<strong>Fig. 1.2.</strong> New Project Dialog
</caption>
<tr><td><img src="new-project.png" alt="fig. 1.2"></td></tr>
</table></div></center>
<h3 id="n:1.1.1.">1.1.1. Display Options</h3>
<p>
The display options, found in the <tt>Options/Display</tt> submenu may be adjusted to suit your needs. Set the color scheme, widget style, and other graphic options to your liking. These options are global and affect all projects.
</p>
<h3 id="n:1.1.2.">1.1.2. Navigation</h3>
<h4 id="n:1.1.2.1.">1.1.2.1. Sequences</h4>
<p>
A sequence is focused when you click on it. Focus can be moved back and forth between sequences with <tt>Tab</tt> and <tt>Shift-Tab</tt>.
</p>
<h4 id="n:1.1.2.2.">1.1.2.2. Playhead</h4>
<p>
<tt>Shift+Left</tt> and <tt>Shift+Right</tt> move the playhead backward and forward one beat, while <tt>Ctrl+Shift+Left</tt> and <tt>Ctrl+Shift+Right</tt> move it by bars.
</p>
<h5 id="n:1.1.2.2.1.">1.1.2.2.1. Within A Sequence</h5>
<p>
The focused sequence accepts additional movement commands with specific relevance. <tt>Ctrl+Left</tt> moves the playhead to the beginning of the current or previous object in the sequence. <tt>Ctrl+Right</tt> moves it to the beginning of the next object in the sequence.
</p>
<h3 id="n:1.1.3.">1.1.3. Cursors</h3>
<center><div class="fig image"><table id="Fig.1.3" border=1>
<caption>
<strong>Fig. 1.3.</strong> Cursor Strips
</caption>
<tr><td><img src="cursors.png" alt="fig. 1.3"></td></tr>
</table></div></center>
<p>
Active cursors are displayed the the cursor strip along the top of the timeline. The default cursors define regions of time. All cursors can be manipulated in their tracks by dragging with the mouse or other operations that apply to regions on the timeline.
</p>
<p>
<tt>Ctrl+RightClick</tt> will remove a cursor.
</p>
<h4 id="n:1.1.3.1.">1.1.3.1. Edit Cursor</h4>
<center><div class="fig image"><table id="Fig.1.4" border=1>
<caption>
<strong>Fig. 1.4.</strong> Edit Cursor
</caption>
<tr><td><img src="range.png" alt="fig. 1.4"></td></tr>
</table></div></center>
<p>
The edit cursor defines a region to apply an operation to. The edit cursor is also used to define the region other cursors, such as Punch and Playback, are created from.
</p>
<p>
<tt>Ctrl+[</tt> moves the beginning of the edit cursor to the position of the playhead. <tt>Ctrl+]</tt> moves the end of the edit cursor to the position of the playhead.
</p>
<p>
The edit cursor ends can be set individually with the mouse by positioning the pointer over the desired location and pressing <tt>[</tt> or <tt>]</tt>. Alternatively, both may be set at once by holding the <tt>r</tt> key and left-click+dragging the selection rectangle.
</p>
<h4 id="n:1.1.3.2.">1.1.3.2. Playback Cursor</h4>
<p>
<p>
Hitting <tt>Ctrl+Shift+L</tt> sets the playback cursor to the same dimensions and position as the Edit Cursor.
</p>
<h4 id="n:1.1.3.3.">1.1.3.3. Punch Cursors</h4>
<p>
Punch Cursors define regions where recording will occur when recording in Punch Mode.
</p>
<p>
Hitting <tt>Ctrl+Shift+P</tt> defines a new Punch Cursor with the same dimensions and position as the Edit Cursor.
</p>
<p>
Any number of punch cursors may be defined.
</p>
<h3 id="n:1.1.4.">1.1.4. Projects</h3>
<center><div class="fig image"><table id="Fig.1.5" border=1>
<caption>
<strong>Fig. 1.5.</strong> Project Info Dialog
</caption>
<tr><td><img src="project-info.png" alt="fig. 1.5"></td></tr>
</table></div></center>
<p>
A Non Timeline project is a directory where Non Timeline keeps the journal, project specific settings, notes, some meta-data, and, last but not least, your audio sources. A project is completely self-contained. You can rename a project as simply as:
</p>
<div class="fig example"><table width=100%><tr><td><pre>
$ mv Project-A Project-B
</pre></td></tr>
</table></div>
<p>
Non Timeline projects can refer to audio sources outside of the project directory--clips dropped onto the timeline from a file-manager, for instance. These are not copied into the project by default. This allows the efficient use of audio loop libraries, but introduces external dependencies. Beware that if you ever move, remove, or change one of these external sources, it will affect the Non Timeline projects referencing them.
</p>
<div class=admonition>
<table width=100%>
<tr><td><em>Note:</em></td>
<td>To import all the external sources for a project, making it suitable for
distribution or archiving, use the `import-external-sources` script included
with the program.
</td></table>
</div>
<h4 id="n:1.1.4.1.">1.1.4.1. Settings</h4>
<p>
Project specific settings are found in the <tt>Project/Settings</tt> submenu.
</p>
<h3 id="n:1.1.5.">1.1.5. Transport</h3>
<center><div class="fig image"><table id="Fig.1.6" border=1>
<caption>
<strong>Fig. 1.6.</strong> Transport Controls
</caption>
<tr><td><img src="transport.png" alt="fig. 1.6"></td></tr>
</table></div></center>
<p>
The transport controls allow you to control the JACK transport from the Timeline Editor. <tt>Home</tt> moves the playhead to 0 and <tt>End</tt> moves it to the end of the project. <tt>Space</tt> toggles playback.
</p>
<h3 id="n:1.1.6.">1.1.6. Clocks</h3>
<center><div class="fig image"><table id="Fig.1.7" border=1>
<caption>
<strong>Fig. 1.7.</strong> Clocks
</caption>
<tr><td><img src="clocks.png" alt="fig. 1.7"></td></tr>
</table></div></center>
<p>
The clocks tell you precisely where the playhead is. There are several clock types which can be cycled through by left-clicking. The following clock types are available:
</p>
<ol><li><span>Hours Minutes Seconds</span>
<li><span>Timecode</span>
<li><span>Sample</span>
<li><span>Bar Beat Tick</span>
</ol><h3 id="n:1.1.7.">1.1.7. Tempo Map</h3>
<center><div class="fig image"><table id="Fig.1.8" border=1>
<caption>
<strong>Fig. 1.8.</strong> The Tempo Map
</caption>
<tr><td><img src="tempomap.png" alt="fig. 1.8"></td></tr>
</table></div></center>
<p>
The tempo map serves a dual purpose. Firstly, it provides enough information about the musical structure of your project for Non Timeline to perform intelligent snapping and draw helpful measure lines. Secondly, the tempo map is communicated to other JACK clients at playback time via the JACK Timebase API, so that MIDI accompaniment can follow along to the tempo changes in your song.
</p>
<p>
Clicking on an empty part of the time or tempo sequences will prompt you for the parameters of a new time or tempo point to be inserted at that position. Hit <tt>Escape</tt> to cancel the insertion. Right-click on a time or tempo point to edit its value. Existing points can be dragged freely.
</p>
<h3 id="n:1.1.8.">1.1.8. Tracks</h3>
<center><div class="fig image"><table id="Fig.1.9" border=1>
<caption>
<strong>Fig. 1.9.</strong> A Track Header
</caption>
<tr><td><img src="track-header.png" alt="fig. 1.9"></td></tr>
</table></div></center>
<p>
Add a track to the timeline by pressing the <tt>A</tt> key. Right-clicking on the track header will bring up a context menu by which you can configure the number of channels used by this track. Click on the track name to change it. The <tt>T</tt>akes menu lists all the takes associated with a track. The circular record-enable button is used to arm a track for recording. Only armed tracks will be recorded onto when the master record-enable button on the transport is activated and the transport is started. The 'm' toggle button is mute, the 's' button is solo. Multiple tracks can be soloed at once. <tt>Shift+Mousewheel</tt> will adjust the track height. Remove a track by selecting 'Remove' from its context menu.
</p>
<h4 id="n:1.1.8.1.">1.1.8.1. Recording</h4>
<center><div class="fig image"><table id="Fig.1.10" border=1>
<caption>
<strong>Fig. 1.10.</strong> Recording onto a Track
</caption>
<tr><td><img src="recording.png" alt="fig. 1.10"></td></tr>
</table></div></center>
<p>
To initiate recording, first arm some tracks by toggling their record buttons, then toggle the global record-enable button on the transport. Recording will begin when you press play. During recording, the timeline darkens and refuses normal input. Regions being captured are colored bright red. The viewport will automatically follow the playhead as the recording progresses. Recording stops when you stop the transport or toggle the global record-button.
</p>
<h3 id="n:1.1.9.">1.1.9. Sequences</h3>
<p>
Sequence is the generic term used to describe all distinct sequences of objects on the timeline.
</p>
<h3 id="n:1.1.10.">1.1.10. Regions</h3>
<p>
Regions are the most common object on the timeline. Each region represents some portion of an audio source placed at some position in time. Since Non Timeline is non-destructive, regions only <b>represent</b> the source--altering a region does not affect the audio source in any way. Deleting a region does not delete the source--as other regions may still refer to it.
</p>
<div class=admonition>
<table width=100%>
<tr><td><em>Note:</em></td>
<td>If you decide, for whatever reason, that you no longer wish to retain unused
sources, run the `remove-unused-sources` script included with the program.
</td></table>
</div>
<p>
Try this one-liner to clean up many projects in parallel and reclaim disk space:
</p>
<div class="fig example"><table width=100%><tr><td><pre>
for i in ~/projects/*; do remove-unused-sources "$i" & done
</pre></td></tr>
</table></div>
<h4 id="n:1.1.10.1.">1.1.10.1. Editing</h4>
<h5 id="n:1.1.10.1.1.">1.1.10.1.1. Split</h5>
<p>
Position the mouse pointer where you would like the region split and perform <tt>Shift+Middle-click</tt>. This will divide the region at the mouse pointer.
</p>
<h5 id="n:1.1.10.1.2.">1.1.10.1.2. Duplicate</h5>
<p>
Drag a region (or selection) with the mousse while holding the <tt>Ctrl</tt> key to duplicate it.
</p>
<h5 id="n:1.1.10.1.3.">1.1.10.1.3. Delete</h5>
<p>
<tt>Ctrl+Right-click</tt> removes a region or selection from the timeline.
</p>
<h5 id="n:1.1.10.1.4.">1.1.10.1.4. Trim</h5>
<p>
Hold down <tt>Shift</tt> and click on part of a region with the left mouse button. This trims the region start to the position of the mouse pointer. Continue holding <tt>Shift</tt> and drag to continuously trim the region start point. Do the same with the right mouse button to trim the region end.
</p>
<h5 id="n:1.1.10.1.5.">1.1.10.1.5. Pan</h5>
<p>
Hold <tt>Ctrl+Shift</tt> and drag the region. Instead of moving on the timeline, the region will remain stationary as the audio source <i>behind</i> it is panned forward or back. This operation is particularly useful in conjunction wiht looped regions.
</p>
<h5 id="n:1.1.10.1.6.">1.1.10.1.6. Normalize</h5>
<p>
Hit <tt>N</tt> while a region is focused to normalize it (or <tt>Ctrl+Middle-click</tt>). Normalizing a region means automatically setting its gain as high as possible without exceeding the standard floating point audio dynamic range of +1 to -1 (corresponding to 0dBFS). Any peaks exceeding this range at this stage will appear in bright red.
</p>
<h5 id="n:1.1.10.1.7.">1.1.10.1.7. Fade</h5>
<center><div class="fig image"><table id="Fig.1.11" border=1>
<caption>
<strong>Fig. 1.11.</strong> A Region with Fades
</caption>
<tr><td><img src="fade-in-out.png" alt="fig. 1.11"></td></tr>
</table></div></center>
<p>
Each region has fade in and out curves. Position the mouse pointer over the desired fade-in end location and hit <tt>F3</tt> to set the fade-in duration. Position the mouse pointer over the desired fade-out start location and hit <tt>F4</tt> to set the fade-out duration. Right click on a region to bring up its context menu, then choose the type of curve for each fade. The following curves are available:
</p>
<ol><li><span>Linear</span>
<li><span>Sigmoid</span>
<li><span>Logarithmic</span>
<li><span>Parabolic</span>
</ol><h5 id="n:1.1.10.1.8.">1.1.10.1.8. Loop</h5>
<center><div class="fig image"><table id="Fig.1.12" border=1>
<caption>
<strong>Fig. 1.12.</strong> Looped region
</caption>
<tr><td><img src="looping.png" alt="fig. 1.12"></td></tr>
</table></div></center>
<p>
Instead of requiring you to duplicate a small region 100 times to achieve a looping effect, Non Timeline supports looping directly. First, adjust the region duration to cover the amount of time you would like it to loop for. Then, position the mouse pointer over the first place the loop should repeat (i.e. the first bar line after the start of the region) and hit <tt>L</tt>. This will set the loop point for this region, which will be indicated by two white arrows. At playback, the portion of the region before the loop point will loop for the duration of the region.
</p>
<h3 id="n:1.1.11.">1.1.11. Annotation</h3>
<center><div class="fig image"><table id="Fig.1.13" border=1>
<caption>
<strong>Fig. 1.13.</strong> Annotations
</caption>
<tr><td><img src="annotations.png" alt="fig. 1.13"></td></tr>
</table></div></center>
<p>
Add an annotation sequence to a track by right-clicking on the track header to bring up the context menu, and choosing <i>Add annotation</i>. Any number of annotation sequences may be attached to each track. Click on an empty space in the sequence to add a new annotation point. Right click on the annotation point to rename it. Hold down shift and drag with the right mouse button to create a new annotation region of a given duration. Again, right click to edit the text. Only the first line of annotation region text will be displayed on the timeline. Annotation regions are useful for containing lyrics or other cues which have a definite duration. Annotation points are more appropriately used to denote points of interest or change.
</p>
<h3 id="n:1.1.12.">1.1.12. Automation</h3>
<center><div class="fig image"><table id="Fig.1.14" border=1>
<caption>
<strong>Fig. 1.14.</strong> Control Sequence
</caption>
<tr><td><img src="automation.png" alt="fig. 1.14"></td></tr>
</table></div></center>
<p>
Each track may have any number of control sequences attached to it. A control sequence comprises a series of points in time (X axis) and intensity (Y axis). Add a control sequence to a track by picking <i>Add control</i> from its context menu. A control sequence may be named by right clicking on it to bring up the context menu, then picking <i>Rename</i>. The output of a control sequence can be set to one of two modes <i>Control Voltage (JACK)</i> or <i>Control Signal (OSC)</i>.
</p>
<div class=admonition>
<table width=100%>
<tr><td>NOTE:
Since release 1.1.0, Control Signal is now the default output mode for Control Sequences.
If you have existing projects and wish to continue using Control Voltage output,
you must set the mode to Control Voltage manually.
</td></table>
</div>
<p>
Click anywhere on the control sequence to add a new control point. Control points can be dragged around and selected just like other objects on the timeline. They can even be part of the same selection as regions, permitting you to move regions and control points together in lock-step.
</p>
<h4 id="n:1.1.12.1.">1.1.12.1. Output Mode</h4>
<h5 id="n:1.1.12.1.1.">1.1.12.1.1. Control Voltage</h5>
<p>
<i>Control Voltage</i> is similar to control voltages generated by analog equipment. Setting the Control Sequence mode to Control Voltage will create a JACK output port whose contents simulate an analogue Control Voltage signal. This mode can be used to control anything that accepts CV style input. Useful targets include the Non-Mixer, and SpiralSynthModular.
</p>
<h5 id="n:1.1.12.1.2.">1.1.12.1.2. Control Signal</h5>
<p>
The <i>Control Signal</i> mode uses a signal routing layer on top of the OSC protocol to intelligently and automatically discover and control any module parameter in Non-Mixer. The output of one Control Sequence may be connected to any number of Control Signal inputs available in Non-Mixer.
</p>
<p>
Control Signals are more efficient than Control Voltages when a large number of parameters are being automated.
</p>
<center><div class="fig image"><table id="Fig.1.15" border=1>
<caption>
<strong>Fig. 1.15.</strong> Control Signal Connection
</caption>
<tr><td><img src="control-signals.png" alt="fig. 1.15"></td></tr>
</table></div></center>
<h4 id="n:1.1.12.2.">1.1.12.2. Interpolation Mode</h4>
<center><div class="fig image"><table id="Fig.1.16" border=1>
<caption>
<strong>Fig. 1.16.</strong> Effect of Interpolation Mode
</caption>
<tr><td><img src="control-points.png" alt="fig. 1.16"></td></tr>
</table></div></center>
<p>
The interpolation mode controls how the relatively small number of Control Points is transformed into a continuously varying signal. The options are <i>None</i> and <i>Linear</i>.
</p>
<p>
When its Interpolation mode is set to <i>None</i>, a Control Sequence will output discrete jumps in value upon the playhead passing each Control Point. This can be useful when instantaneous changes in value are required, such as sudden muting, or changing the modes of plugins.
</p>
</div>
</body>
</html>