# Kino User Guide

Dan
Dennedy
kinodv.org

              dan@dennedy.org

This is the online help and manual for users of version 1.0.0 of the Kino DV non-linear video editor for the GNU/Linux and BSD platforms.

GNU
Linux
DV
video
editor
non-linear
capture
Firewire
IEEE 1394

Copyright (C) 2006-2007 Dan Dennedy. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License."

## Introduction

Kino is a non-linear DV editor for GNU/Linux. It features excellent integration with IEEE 1394 for , VTR control, and recording back to the camera. It captures video to disk in Raw DV, AVI, and Quicktime formats.

Kino does not directly edit any video encodings other than DV.

You can load or import (requires ffmpeg ) multiple DV clips and edit them non-destructively using a variety of techniques including simple split, join, cut-and-paste, and drag-and-drop operations. Then, you can save the project to a SMIL XML document. Most edit and navigation commands are mapped to equivalent vi commands ( ). Also, Kino can export ( ) the project in a number of formats:

- DV over IEEE 1394

- Raw DV, DV AVI

- Quicktime DV (requires libquicktime or Quicktime 4 Linux )

  Quicktime 4 Linux is already installed if you have Cinelerra or Cinelerra CV .

- still frames: PPM, JPEG, PNG, TIFF, GIF, BMP, TGA, and whatever other gdk-pixbuf modules are on your system

- WAV

- MP3 (requires lame )

- Ogg Vorbis (requires oggenc )

- Ogg Theora (requires ffmpeg2theora )

- MPEG-1 and MPEG-2 (requires mjpegtools 1.6 or 1.8 )

- DVD Video authoring (requires dvdauthor )

- MPEG-4, H.264, and Flash Video (requires ffmpeg )

- or anything that can read Raw DV from a pipe (e.g. ffmpeg) through user-extensible scripts

The FX mode ( ) provides some basic audio and video effects such as filters and transitions for audio and video. It also provides extensibility through a plugin API. At the time of this writing, all plugins have been incorporated into the Kino releases.

Kino does not offer multitrack capabilities through a timeline user interface, but do not let that discourage you. Many things that would require a multi-track timeline can be accomplished with more planning and manual operations. Some of the built-in effects include:

- color video generator

- gradient video generator

- generate video from stills

- video noise generator

- audio gain envelope

- audio dub

- audio mix from WAV (or any format supported by ffmpeg )

- audio fade in or out

- audio crossfade transition

- monochrome

- sepia

- inverse

- blur

- soften

- flip

- mirror image

- kaleidoscope

- keyframeable pan and zoom

- keyframeable brightness, contrast, gamma, hue, saturation, value, and white balance (color temperature and green tint)

- charcoal

- titler (using Pango ) with motion and fading

- superimpose stills with motion and fading

- keyframeable compositing transition (e.g., fly-in)

- numerous and user-extensible wipe transitions

- rudimentary (blue or green) color key

- dissolve wipe

- fade to/from color

### Developers

- Lead Developer: Dan Dennedy

- Major Developer: Charlie Yates

- Original Developer: Arne Schirmacher

- Contributing Developer: Mads Bondo Dydensborg

### Website Links

- Main website:

- This book:

- Bug reports:

- Developers:

## Terminology

The following terminology is used throughout the documentation and user interface.

### Movie

A movie is your current project within Kino. Occassionally, it is referred to as a "playlist." Kino saves movies as a SMIL XML document--a W3C XML standard. We suggest that you save movies with a `.kino` or `.smil` filename extension.

Kino only supports a very small subset of SMIL 2.1. This includes parts of the following SMIL modules: Structure (smil, body), BasicTimeContainer (seq), BasicMedia (video), MediaClipping (clipBegin, clipEnd), MediaDescription (abstract, author, copyright, title).

### Scene

A scene is a continuous sequence of frames. A movie () is a collection of scenes. In capture mode (), a scene refers to a segment on tape between index points.

### Mode/Page

A mode refers to two things in Kino, depending upon context. For one, based upon the vi analogy, mode refers to the keyboard command context: normal or "ex." Secondly, and more commonly, a mode refers to one of Kino's major functions, and the Kino user interface uses a notebook widget with pages for each mode. Sometimes, a mode is also called a "page," as in the "capture page." Unlike vi, though, when you press 'i' to enter input mode, you actually switch to Kino's capture mode. And since Kino does not capture characters, it uses the same set of keyboard commands that the edit mode uses for navigation. See for more information.

### Frame Dropping

A video playback technique that reduces the video framerate to improve audio quality and maintain an overall rate of playback that is close to the true audio/video framerate. NTSC is approximately 29.97 frames per second (the true value is 30000/1001), and PAL is 25 frames per second.

### Time Code

A display of the running time of video that is frame-accurate yet easier for humans to understand than pure frame count. It shows hours, minutes, seconds, and frames in the format HH:MM:SS:FF. On NTSC, the semicolon (;) is the delimiter between seconds and frames to indicate that it is using dropframe ( ).

### Drop Frame

Drop frame is a timecode adjustment that applies to NTSC video only. Due to the framerate of NTSC, a system that normally outputs 30 frames per second must adjust timecode by subtracting two frames every minute except every tenth minute to achieve the effective framerate.

### AutoSplit

AutoSplit is an algorithm that detects scene changes. When AutoSplit is enabled in capture, a new file is created. When loading a video clip, AutoSplit examines timecode to create scenes.

### Dropped Frames

Dropped frames are frames that are lost during capture. Try not to do anything else on your computer while capturing to minimize dropped frames. In preferences, you can disable the preview during capture to help slower systems. If you have dropped frames and have not enabled AutoSplit during capture, then when you load the video into Kino, the AutoSplit algorithm should detect it and Kino displays a scene break.

### Interlace and Fields

Every frame of non-progressive scan video is composed of two interleaved fields. The result is either 50 fields per second for PAL or roughly 60 fields per second for NTSC. Interleaving means that all of the even lines are in one field, and all of the odd lines are in another field. The terms "even" and "odd" field are only useful for illustration purposes. These terms, however, are not accurate when discussing field order--is the first line 0 (even) or 1 (odd)? Rather, it is best to specify "upper" or "lower" field first when specifying field order. DV is lower-field first.

### Aspect Ratio

There are two kinds of aspect ratio: display aspect ratio and pixel aspect ratio. Display aspect ratio is the proportion of width and height of a picture typically expressed given square pixels. Most video is 4:3, but 16:9 is becoming increasingly popular. A 640 pixels wide by 480 pixels high image has a 4:3 display aspect ratio. However, the 4:3 DV aspect ratio is actually either 720x480 (NTSC) or 720x576 (PAL) pixels of resolution. Therefore, DV pixels are not square whereas most computer display resolutions use square pixels.

Using the XVideo display method, Kino blindly assumes you are using a square pixel display resolution and compensates for the differences in pixel aspect ratio to achieve a better looking preview.

### Scrub Bar

A scrub bar is a graphical user interface control or widget to navigate through the video by dragging a pointer (scrubbing) similar to using the thumb on a scrollbar.

See also:

### Transport Controls

Transport controls are a graphical user interface control or widget that consists of a set of buttons for controlling playback direction, speed, and position (seeking). Typically, the transport commands consist of play, pause, stop, rewind, fast forward, seek-to-beginning or -end.

See also:

### Shuttle

A shuttle is a graphical user interface control or widget that provides a way to navigate through audio and video. It is a bidrectional variable-speed controller that snaps to a center position to pause the playback when released.

See also:

### USB Jog/Shuttle Device

A specialized input controller for video editing. It consists of a wheel with a ring around it.

The popular Contour ShuttlePRO

The wheel actually more closely resembles a dial and provides bi-directional, very fine, frame-based navigation. The shuttle ring wraps around the wheel, and it is spring loaded such that when when released it "snaps" back to the center position. The shuttle provides bi-directional, variable speed playback including fast, normal, and slow speeds. Often, a video deck that supports these commands calls this a "trick play" mode. Usually, these devices also contain additional programmable buttons typically mapped to editing commands. Kino supports several USB Jog/Shuttle control devices both in the edit, capture, and trim modes. In capture mode, Kino supports the IEEE 1394 AV/C commands required to control your camera or deck's transport mechanism.

### Inter-field Motion

Due to the field-based nature of interlace video (), motion in the subjects of the video may result in two different pictures. This is a good and bad thing. On the positive side, the playback is smoother. The negative side-effect is that individual frames of video resulting in a "comb" or "venetian blinds" effect leading some viewers to believe the image is blurred or just plain wrong. Applying some image processing effects to interleaved pictures produces disastrous results. Kino offers deinterlace on playback, still frame export, and some video effects. Furthermore, some video effects that involve motion, offer field-based rendering to create interfield motion and make the appearance smoother. For example, scrolling titles appear much smoother with field-based rendering when viewed on an analog television (through IEEE 1394, VCD, or DVD Video exports).

### Locked Audio

Audio in DV is either locked or unlocked. Each video frame of DV contains the audio that accompanies that frame. For 48KHz PAL, 48000 samples/second divided by 25 frames/second equals 1920 samples/frame. If the audio is locked, each frame has exactly 1920 stereo samples. If the audio is unlocked, it can vary about the ideal sample count from one frame to the next--some frames will have a little more and some a little less. Over a fair amount of time, even when unlocked, the total number of samples should be very close to the ideal sample count. However, some devices are not only unlocked but downright sloppy--maybe due to an inaccurate oscillator--that produces an incorrect amount.

Due to the frame rate of NTSC, there is not an integer number of samples per frame: 48000 / ( 30000 / 1001 ) = 1601.6. Therefore, locked audio on NTSC follows a repeating sequence of 1600 and 1602 samples. Like unlocked audio, over a fair amount of time, the total samples is very close to the ideal.

When working with unlocked audio or NTSC clips, these inaccuracies accumulate during editing and can introduce an audio/video synchronization problem when exported to a non-DV device or format. This happens because often the transcoding tools are reading separate uncompressed audio and video streams with no timestamps.

When Kino exports a movie (unless you disable a resampling option, where available) it generates locked audio. It compares the total, actual samples to the expected, ideal amount and calculates an audio frequency adjustment. During this initial stage of export, Kino displays "Locking audio" in the status bar. Then, it resamples the audio to this new frequency as it performs the actual export.

## User Interface

An explanation of the labelled elements of the Kino user interface are described below the following screenshot.

A screenshot of Kino

Toolbar : Use the tooltips. Briefly, they are: New, Open, Save, Save Still Frame, Insert Before, Insert After, Undo, Redo, Cut, Copy, Paste Scene, Split, Join, Zoom

Storyboard : In Edit mode, click a scene to seek to its first frame. In Trim mode, clicking a scene takes on different behaviour depending upon the current Trim editing mode. Briefly, in Overwrite mode, clicking a scene saves the changes to the current scene and choose a new a scene to trim. In Insert mode, clicking a scene sets the insertion point. See for more information. In Timeline, Export, or FX modes click a scene to select the region to thumbnail, export, or process, respectively.

Scrub Bar : Click, hold, and drag the triangle on the scrub bar to seek within the movie. The vertical line breaks in the srub bar indicate scene positions.

Transport Controls : The transport controls control playback and seeking. Hover the mouse over each button to get tooltip help description of each button.

Shuttle : Drag the shuttle to the left to play in reverse. Drag a little for slow play back, medium for normal, and a lot for fast. Drag the shuttle to the right to play forward. Release the shuttle to pause. The shuttle works in edit, trim, or capture modes.

Properties : Click the triangle to expand and collapse a properties panel. The panel displays extended metadata about the current clip and frame.

Time : Choose a time format from the option menu. In edit and FX modes, time displays running movie timecode. In capture mode, time displays source DV timecode. In trim mode, time displays the current scene's running time. See for more information.

## Preferences

Preferences is the set of program options that you can customise to control Kino's behaviour and defaults. The preferences are currently saved to `$HOME/.kinorc` if you want to manually edit or remove the file to reset to "factory" defaults. An alternate way to set the configuration file location is to create an environment named "KINO_HOME" that is set to a directory name. Kino then writes its configuration to `$KINO_HOME/kinorc` . The configuration file is a simple text file editable in any text editor. Feel free to view or edit it. It even contains a number of advanced settings not available through the Preferences dialog window.

### Defaults

When a DV file is loaded, Kino uses the settings of the first video frame of your movie to determine the project settings. However, what if there is no DV file loaded? The FX mode and import script uses the settings in here for the DV encoding.

Defaults are not the project settings!

- Normalisation : Select the desired video signal standard: NTSC or PAL.

- Audio : Choose the audio sampling frequency. We recommend 48khz.

- Aspect Ratio : Typical video is 4:3. Some films and new digital television standards use 16:9 (widescreen).

### Capture

This page of the Preferences dialog contains the settings for the capture mode ( ).

- File : Enter the path where you want to store captured video followed by a file name stem. Do not add the extension. Kino generates a sequence number and optionally a timestamp that it appends to the stem file name. It also generates the file extension: `.avi` , `.mov` or `.dv` .

- File Type : Kino only supports Raw DV, DV AVI, and Quicktime DV file formats.

  Quicktime support requires libquicktime or Quicktime 4 Linux .

  You can choose between standard Type 1 or Type 2 AVI formats. Type 2 is more compatible with other applications because it creates a separate interleaved audio stream. However, if you are only capturing for Kino use or for another program that supports type 1, then choose it because DV natively interleaves audio with the video, and the audio stream in type 2 is redundant. MPlayer and Avifile only playback type 2 AVI. Current versions of Windows DirectShow do support type 1, but Windows application support for type 1 is inconsistent.

  The OpenDML option only applies to Type 2. OpenDML allows for very large files (greater than 1GB), and Kino automatically switches to OpenDML if it detects the file size will exceed 1GB. Type 1 is natively OpenDML.

- Auto Split Files : Generate a new file whenever Kino detects a new scene while capturing video. Scene detection uses a special flag in the DV stream that indicates the start of a new recording in addition to a discontinuity in the timecode of the DV stream.

- Put Timestamp In File Name : If enabled, Kino appends a date and time to the base file name specified above. It uses the recording date and time in the DV stream if it is valid; otherwise, it falls back to using the current system date and time.

- Write Every : This is time-lapse record function. If entered, Kino skips N frames between capturing a single frame and adding it to the file.

- Frames per File : Set the maximum number of frames a single file is to contain. Kino will automatically split capture into multiple files if the number of frames in this setting is exceed. Set to zero to not use frame count as a criteria for file splitting.

- Max File Size : Set the maximum number of megabytes a single file is to contain. Kino will automatically split capture into multiple files if the maximum size in this setting is exceeded. Kino supports very large file sizes exceeding 2GB. Set to zero to not use file size as a criteria for file splitting. If both this and Frames per File are set to zero and Auto Split disabled, you can capture very large files limited only by the usual 64 bit and physical constraints.

### IEEE 1394

This page of the Preferences dialog contains the IEEE 1394 (Firewire) settings. Kino uses either the raw1394 or dv1394 drivers for capturing DV from or exporting DV to IEEE 1394 depending upon how your version is compiled.

dv1394 is deprecated in Kino and soon-to-be deprecated in the kernel.

- AV/C Device : Kino detects all cameras that support the AV/C command set. Select one from the list. It attempts to read the name of the device from its Configuration ROM, but not all devices implement it. If the name is not readable, then the numeric node is used. Most users only have one AV/C device connected anyway. You do not need a camera supporting AV/C to capture video! It is only used to control the tape transport mechansim.

- dv1394 device : Kino can use dv1394 to capture or export DV over IEEE 1394. See Linux 1394 for information on dv1394 device files. Also, if you have more than one IEEE 1394 interface in your system, then dv1394 requires that you understand to which interface the DV device is connected and that you use the appropriately numbered device file. Of course, it is not obvious, which number corresponds to which physical connector. On the other hand, when Kino uses raw1394 exclusively for capture and export it automatically understands to which interface the device is connected!

  The dv1394 device field only appears if Kino is configured at build time using the --with-dv1394 option.

Kino requires that your user account has read and write access to the raw1394 or dv1394 device files. AV/C always requires the raw1394 kernel module and read/write access to /dev/raw1394. If you only have read/write access to the dv1394 device file, then capture and export will work, but you must manually control play and record on the camera or VTR deck.

### Display

The Display page of the Preferences dialog contains the video-oriented settings during playback.

- Display Method :

  - GDK is very compatible with X servers and the X-Window client/server architecture. It is not very fast, and it does not always use the correct display aspect ratio.

  - XVideo (Xv) requires supporting hardware and X server (most non-generic video card drivers support it). Run 'xvinfo' from a terminal window to get information about support on your system. XVideo is very fast and Kino maintains proper display aspect ratio. You can not take a screen capture of the video preview in this mode. XVideo is similar to Microsoft DirectDraw if you are familiar with Windows.

  - Reduced XVideo is similar to XVideo with the same advantages and disadvantages. This variation, however, uses half of the data bandwidth that is needed for compatibility on some X servers and hardware. The reduction in data bandwidth does invoke a scaling CPU overhead thereby affecting performance.

- Show : Due to the nature of NTSC and PAL video, interlacing can result in inter-field motion ( ). Setting this to either the lower or upper field options does a fast deinterlace by doubling the lines from one of the fields. The results in an effective 50% reduction in resolution, which is just fine and looks decent if you are just viewing at 50% size anyway. The linear blend option is a slower with fair results when viewing at greater than 50%; however, it tends to blur the image some.

- Drop video frames as needed : When enabled, Kino uses sophisticated algorithms and threads to sacrifice the video frame rate in order to provide better audio quality of play back and to provide an overall playback rate that is consistent and true with time ( ). Basically, only disable this if you are interested in seeing if your machine is fast enough to decode DV in realtime. If you machine is not fast enough, then your will hear audio clicks and gaps.

- Preview on External Monitor : enable this option to send the video through IEEE 1394 while using edit and trim modes.

- Enable preview during capture : To reduce the chance of dropped frames during video capture to disk, disable this option. If you have a fast enough system, you can turn this on and get a live preview of the video being captured.

- DV Decoder

  The following options only appear when Kino is configured at build time to use libdv for the DV video codec (using build configure option --with-libdv-only).

  - Quality : You can adjust the quality of the DV decoder to reduce the processing overhead for increased playback performance. This does not affect the quality of DV exported over IEEE 1394 back into your camera.

  - Clamp luma values : ITU-R BT.601 specifies that the legal range for luma is 16-235. However, some users take advantage of the footroom or headroom below or above these ranges to encode additional information for things such as luma keying. Disabling this options disables the range checking to preserve the superblack and superwhite. This option also applies to the encoder used by the FX renderer.

  - Clamp chroma values : ITU-R BT.601 specifies that the legal range for chroma is 16-240. This options toggles the range checking. This option also applies to the encoder used by the FX renderer.

### Audio

The Audio page of the Preferences dialog contains the audio playback settings.

Kino only supports OSS or ALSA; it will not use a sound server.

- Enable Audio Output : choose whether or not audio is to be played.

- Audio Device : Enter the ALSA PCM name (e.g., default) or the OSS device file (e.g. /dev/dsp)

- Enable audio scrub : Normally, audio only plays in the edit and trim modes when you choose playback, regardless of speed or direction. However, it does not play audio as you navigate using the keyboard or scrub bar (and the transport state is stopped or paused.) Enable this option to play audio as much as possible, if only for brief moments.

If you are running a sound server in your desktop environment such as esd for GNOME, or aRts for KDE, then Kino cannot open the sound device unless your driver explicitly supports it. Recent versions of ALSA incorporate dmix allowing any driver to support opening by multiple programs.

### Jog/Shuttle

The Jog/Shuttle page of the Preferences dialog configures a specialized hardware input controller, typically a USB device. See for more information.

- Enable Jog/Shuttle Input : Enable this if you have a USB jog/shuttle controller.

- Button Mappings : Kino will let you assign actions to the buttons on your jog/shuttle. Simply press the button combination you wish to assign an action to, and select the action from the bottom list of actions. Alternatively you can select the buttons by using the lists. You can assign actions to single buttons or combinations of two buttons. In the latter case then please note that if you have assigned an action to a single press on button 1 and also to a combination of 1 followed by 2, Kino will perform both actions if you press 1 followed by 2. You can clear an action by selecting the <none> action.

This feature requires the evdev kernel module and read access to the /dev/input/eventX file corresponding to your controller device. Kino searches across all device files to locate the first controller; so you just need to make sure your user account has read access to all event device files. Kino comes with a udev rules file that ensures that all users have read access to the device file. It also sends a signal to a running instance of Kino when you plug in the jog/shuttle controller. The rules file requires build configure option of --sysconfdir (e.g., =/etc) or --enable-udev-rules-dir (e.g., =/etc/udev/rules.d).

### Other

The Other page of the Preferences dialog contains miscellaneous options that can be nice to be able to adjust.

- Disable key repeat : If you find that your keystrokes are buffering and you inadvertently have to wait for Kino to process all of them, then you might enable this option. If enabled, Kino only operates on the oldest event in the queue and discards all pending events. On the other hand, enabling this option may require you to use the keys more slowly in order for Kino to receive the ones you do intend it to process.

- Save SMIL projects with relative file paths : File references normally use an absolute path name. However, relative file names are also possible with this option, Relative file names are relative to the SMIL file's directory. This is especially useful if you keep all related files of a project together in a directory because you can more easily move the project directory or backup and restore to another machine.

- Two pass image encoding : This results in higher quality rendered output in FX, but it is twice as slow.

  Two pass image encoding only appears when Kino's build configuration is set to libdv for the DV video codec (using configure option --with-libdv-only).

- Expand Storyboard by default : Make Storyboard always expand all scenes to reveal meta data whenever it must redraw.

- Use Insert by default in Trim : Overwrite is normally the default in trim mode. Set this to make trim use Insert mode by default. See for more information.

- Default Project Directory : Set the default directory used by the File/Open and File/Save dialogs. This default is used until a new directory is chosen during the current Kino session. Then, on the next session, Kino reverts back to your default project directory.

## Understanding Time in Kino

This sections explains how time is displayed, entered into widgets, and stored in the movie file.

### Time Formats

SMIL, and therefore Kino, can accept time values or display time in a variety of formats. The user interface ( ) provides an option menu near the bottom of the window that affects the time format used everywhere except in the saved movie XML file. The SMIL movie file always uses the clock ( ) format.

Legacy Kino XML movie files stored time values in frame count with no unit suffix or other unit specifier. SMIL does not support frame count as a valid time format for good reason. In SMIL, numeric time values with no unit suffix default to seconds! When Kino reads an XML movie file, it uses a special "signature" to determine if it is a proper SMIL or legacy Kino XML movie file and do the "right thing," and load it correctly. However, when you save the movie, it will update the movie file to the SMIL-compliant format.

#### Frames

A simple zero-based frame counter. The actual time depends upon the frame-rate of the video file.

#### SMPTE time code

The SMPTE time code format comes from the SMPTE standards organisation. The format is HH:MM:SS:FF, where HH is hours, MM is minutes, SS is seconds, and FF is frames. Kino uses semicolon (;) instead of colon (:) as the last separator to indicate the use of dropframe timecode ( ).

SMIL supports a SMPTE time value in an XML file when the string "smpte=" precedes the time code.

#### Clock

This formats comes from the W3C SMIL standard. It is very similar to SMPTE time code ( ) except it is a "pure" time format meaning it contains no mention of frames, which is dependent upon the frame rate of the video source. The format is H:MM:SS.MS, where H is hours, MM is minutes, SS is seconds, and MS is milliseconds. If there are less than three digits of milliseconds, then the number is padded with zeros.

Kino developers recommend this format. This is the format Kino uses when the movie is saved to SMIL.

#### Milliseconds

A simple milliseconds-based time counter. The first frame is at zero milliseconds. The number contains the suffix "ms" to inidcate the time unit. This is a SMIL time format.

#### Seconds

This is a SMIL time format SS.FFF, where SS is seconds and FFF is a fraction of a second, which is always three digits and therefore milliseconds. Note, the lack of suffix because in SMIL the default time unit is seconds.

#### Minutes

This is a SMIL time format MM.FFFFmin, where MM is the number of minutes and FFFF is a fraction of a minute. While SMIL does not specify a required precision, Kino always formats this time with 4 digits of precision.

#### Hours

This is a SMIL time format HH.FFFFFh, where HH is the number of hours and FFFFF is a fraction of an hour. While SMIL does not specify a required precision, Kino always formats this time with 5 digits of precision. Obviously, this is probably not a very useful format, but it was added for completeness.

### Time Entry

Kino time entry widget is a combination of a free-form text entry and a spinner . The spinner always increments and decrements by one frame. Then, it updates the text entry according to the currently selected time format. The interpretation of the free-form time entry depends upon the currently selected time format as follows.

If the currently selected time format is frames () or SMPTE (), then one must enter time formats using SMPTE time code or a number with no separators is interpreted as frames. If the current format is one of the SMIL formats, then Kino interprets a "bare number" (no separators or unit suffix) as seconds per the SMIL specification. One is not required to specify all the digits of precision that Kino uses for display.

There are shortcuts for time entry. One can omit parts of a clock () or SMPTE time code value. Kino parses the parts from right-to-left; one need not enter all parts of the time value. For example, "3:16" is 3 seconds and 16 frames in SMPTE time code, or 3 minutes and 16 seconds in clock format. Also, digits can be ommitted between separators. For example, "1:" is one second in SMPTE format or 1 minute in clock format. Finally, while SMPTE on NTSC displays a semi-colon as the seconds and frames separator showing dropframe (), one can enter a colon or semi-colon.

## Capturing DV

Kino can capture from a DV device over IEEE 1394, also known as FireWire or iLink. The most popular form of DV device is a MiniDV camcorder. but it could be a VTR, analog converter, or other. Kino does not support capturing of DVCPRO50, DVCPROHD, or HDV. Neither does it support Video4Linux or USB for a capture interface. If you can only use Video4Linux on your system, we recommend using another program to capture from V4L, and then let Kino import the file.

Before attempting to capture video, it is good to understand the Linux IEEE 1394 and Kino configuration. Linux IEEE 1394 configuration can be tricky due to changes in the kernel interfaces and various distributions' default support for setup of the device files. Next, it is good to understand that there are three concepts to understand: device discovery, device control, and DV capture.

The dv1394 kernel interface is deprecated in Kino, but it is still offered as a build-time configure option for legacy transition.

Kino prefers the raw1394 kernel module interface. Nearly all kernel versions load the raw1394 module when you plug in and DV device and turn it on. With raw1394, device discovery, device control, and DV capture are seamless! Since the raw1394 device file is a well established standard at /dev/raw1394, there is no need to configure it. You just need to make sure your user account has read and write access to /dev/raw1394. With raw1394, if your system has more than one IEEE 1394 interface, Kino discovers your DV device regardless of which interface your device is plugged into. If you have more than one DV device, then choose Edit Preferences IEEE 1394 and use the AV/C Device option menu to choose the device. Kino attempts to read the name of the device, but displays the devices universally unique identifier in Base64 when a name is not available.

To determine which kernel module your version of Kino is using for DV Capture choose Edit Preferences IEEE 1394 . If there is a dv1394 device field, then it is using dv1394 and not raw1394 for DV capture.

### About dv1394 (skip if not relevant)

dv1394 does not offer any device control , and Kino does not fully support device discovery when using dv1394. However, when configured to use dv1394 for DV capture , Kino still tries to use raw1394 for device control. In other words, Kino can still use raw1394 for device control to supplement dv1394. However, without raw1394 and lacking device control, one can still manually control the device using its physical buttons. With dv1394, it is important to ensure the kernel module is loaded (using lsmod and modprobe, if not loaded). Some kernel versions automatically load dv1394 when a DV device is plugged in and turned on. Next, you need to locate the device file under /dev. It might be /dev/dv1394-N, /dev/dv1394/N, or under /dev/ieee1394/dv/hostN/.... If you have only one IEEE 1394 interface, then N = 0; otherwise, there are multiple-numbered files--one for each interface (host). If you have more than one interface, it can be tricky to determine into which one your DV device is plugged. This is how dv1394 makes full support for device discovery difficult. If you can not find a file under /dev corresponding to dv1394, then you must create it manually . Next, you must make sure that your user account has read and write access to the dv1394 device files. Finally, you must enter the correct device file name in Kino by choosing Edit PreferencesIEEE 1394 dv1394 device file .

Kino offers a lot of options for the capture file by choosing Edit Preferences Capture . See for more information.

In the Capture page, click AV/C to turn on device control. AV/C refers to Audio/Video Control. Then, the Kino transport ( ) controls send the control commands to the device. They also reflect the state of the device's transport if it changes or you manually control it using the device's buttons. The seek-to-begin- or seek-to-end-of-movie buttons do a fast, non-previewing rewind or fast forward, respectively. The rewind and fast forward buttons do a preview/scanning form of rewind or fast forward. The preview and next scene buttons use a special feature of the camera called "index" points. Depending upon how you configure the camera, it sets an index point for each each new day of recording or other criteria. The play, pause, and stop transport controls are obvious. You can even step frame-by-frame. Support for the variable-speeds of the shuttle control depends upon the device's support for that feature also known as trick play.

During preview, click Still... to grab a single still frame and save it in a number of formats: PPM, JPEG, PNG, TIFF, GIF, BMP, TGA, and whatever other gdk-pixbuf modules are on your system.

Click Capture to start the capture to file. You can preview during capture by choosing Edit Preferences Display and clicking Enable preview during capture . As each file is captured according to the file-splitting options in Edit Preferences Capture , Kino adds the clip to the Storyboard. Click Stop to stop capturing to file and add the clip to the Storyboard. When Kino adds each clip to the Storyboard, it performs AutoSplit ( ) to automatically create scenes on the Storyboard. As scenes appear in the Storyboard, feel free to add metadata ( ).

## How to Edit with Kino

Basic editing in Kino (using the Edit mode) is mainly a subtractive process. This means you add clips and then subtract the parts you do not want. This works well for many users who just want to trim the fat from their home videos or television recordings. In contrast, an advanced form of editing, 3-point insert editing in trim mode ( ), lets you choose a part of a clip before adding it to the project. This additive form of editing is more appropriate for making a more heavily edited or composed project.

Kino does not let one make a selection prior to making an edit like a word processor or many other desktop applications. Rather, Kino extensively uses the concept of a scene ( ) and the Storyboard view. Kino automatically creates a new scene when you add a clip and for any timecode discontinuity it detects within the loaded clip. Then, any edit operation that deletes one or more frames creates a new scene. Also, one can make a new scene by choosing Edit Split .

Conversely, one groups two scenes together into one scene by choosinig Edit Join .

Therefore, if you want to work in a selection- like mode use Edit Split to mark the beginning and end. Then, execute an editing command -- Edit Copy or Edit Cut -- that applies to the entire scene.

If you copied a scene to the clipboard, then click a scene in the Storyboard, and choose Edit Paste to insert the scene from the clipboard.

### Point and Click Editing

Start editing by opening a clip by choosing File Open from the menu or toolbar or by dragging a clip from your file manager (e.g. Nautilus or Konquerer) and dropping it onto the Kino window.

Add additional clips by choosing File Insert Before or File Insert After from the menu or toolbar or by dropping files from the file manager.

Dragging and dropping clips from a file manager always appends the dropped clip or clips to the end of the movie.

Use the transport controls to review the footage and locate parts to keep or remove. Use Edit Split to divide a scene into good and bad parts. Next, make sure the current frame is in the scene you want to remove by clicking the scene in the Storyboard. Choose Edit Cut to remove the scene. Repeat as necessary.

Reordering scenes is a simple as clicking or drag-and-drop. Click a scene in Storyboard, choose Edit Cut , click a new place in the Storyboard , and choose Edit Paste . Also, you can drag-and-drop within the Storyboard .

If you are attempting to drop a scene into the first position in the Storyboard , then you must look for a thin line to appear above the first thumbnail. Therefore, you might need to move the mouse cursor a little to the right to see this line.

You can learn to use some of the keyboard commands or trim to fine tune your editing process. See and for more information.

### Editing for vi Geeks

Kino provides keyboard control that is similar to the UNIX vi editor where it follows the general translation rules:

- A character becomes a frame

- A word becomes a second

- A line becomes a scene

- A file becomes a movie

To extend the analogy further, kino has two modes of operations: Normal and Ex mode. By default, the Normal mode is operational; Ex mode is accessed by the use of the ':' (colon) key. Unlike normal vi ex mode that requires Enter to close the command, Kino generally does not. Only ':n' for seeking to a frame requires Enter to stop seeking. Start editing by optionally launching Kino with a filename on the command line. Add additional clips using :r, :a, or :A. Then, edit using the vi keyboard commands ( ).

## Trim (Advanced Editing)

Trim is a powerful editing tool. At its very basic usage, one can use it to fine-tune the scenes created using the basic editing techniques offered in the edit page ( ). Alternatively, use the trim page for a more advanced editing style called "3 point insert" editing. The key facets of the trim page are the In and Out points, the Storyboard view, and the trim Mode .

3-point insert editing gets its name from the three points that constitute the edit: in, out, and insert. The in point is that starting position of the clip loaded in the trim page. The out point is the ending position. These are clearly indicated in the scrub bar and time display fields.

### Overwrite or Insert Mode

There are two trim modes: Overwrite and Insert . Overwrite mode replaces the currently selected scene in the Storyboard. On the other hand, insert adds a new scene before or after the currently selected scene in the Storyboard. If there are already clips in the project, then Trim goes into overwrite mode by default, and the current scene loads into the trim page. In overwrite mode, exiting the trim page or choosing a new scene automatically applies any changes made to the scene's in or out points.

Kino does not automatically apply any changes in insert mode. One must click Before or After to apply a change in insert mode. It is entirely possible to switch to trim, thereby loading the current scene into the trim page, choose Insert from the Mode option menu, and then insert the "current" scene as a new scene. Likewise, it is entirely possible to load a new clip into the trim page while in overwrite mode and replace the current scene in the Storyboard.

### Load a Clip

There are four ways to load a clip into the trimmer:

- Enter a valid filename in the file entry widget.

- Click the open button next to the file entry to use the file dialog to browse for a file.

- The pulldown menu on the file entry lists all the existing clips in the project. Choose a clip from the pulldown menu.

- Drag a file from your file manager (e.g. Nautilus or Konquerer) to the Kino window.

### Storyboard Behaviour

Clicking a scene in the Storyboard behaves differently depending upon the trim Mode. In Overwrite mode, it automatically applies any changes and loads the scene you clicked into the trim page. In Insert mode, clicking a scene sets the insertion point. Then, click Before to insert the clip loaded in the trim page before the current scene, or click After to insert the clip after the current scene.

### Conclusions

In insert mode, Trim acts as a nice clip previewer for locating shots especially in conjunction with a file manager and drag and drop!

When you start Kino with no project or clip and go into Trim, the Mode is Insert because there is nothing to overwrite! From there, you can load a clip and set in and out points. Click After to make the Storyboard current scene "travel" with your newly inserted scene. Therefore, by repeatedly using After , one can quickly and simply assemble a project.

## FX

Kino provides some basic audio and video effects by clicking the FX icon on the main window or by choosing View FX from the menu.

### Selection of Frames

First, you must choose whether to operate in Overwrite or Create mode. Usually, if you are interested in just applying a filter to existing video or to insert a transition between scenes you use Overwrite .

Overwrite affects a range of frames in your existing movie and then non-destructively replaces those frames. By non-destructive, we mean that Kino merely automates the process of editing the newly rendered file into place rather than actually modifying any existing DV file. You can set an overall time range, and then limit the range to the beginning or end for a specific duration. Often, the Limit to option is easier than specifying the exact range. Some notes follow:

- Upon entering FX, Kino sets the range to the current scene.

- Click a scene in the Storyboard to set a range to the selected scene. If you want to extend the range to the entire movie, then enter a large number like 99999 into the To time field.

- Narrow down the selection using the Limit to checkbox and option menu. Choose Closing to limit backwards from the ending ( To ) time. Otherwise, choose Opening to limit from the beginning of the range. Then, set the duration of the limit.

- Click Advanced Options to change the Speed (repeat or drop frames) or Reverse the flow of the video.

The typical sequence to setup a transition between a scene A and scene B is:

1. keep Overwrite mode

2. click scene A in the Storyboard

3. check Limit to

4. keep Closing

5. change the Limit to duration if desired (defaults to one second)

6. click Audio Transition

7. click Video Transition

Create generates and inserts new frames into your project from a variety of sources.

- The built-in sources include various colour manipulators and importing still image frames ( From File ).

- Installed plug-ins will be appended to the list of those available.

- The default insertion point is before the current frame (the last frame show in Edit mode). Click a scene in the Storyboard to change the insertion point.

#### Video Creators

Click Create to use a video creator, or generator. There are several from which to choose. You can apply audio and video filters and transitions in conjunction with a generator. The sections below describe each video generator that is available. The Frames field determines how many video frames will be created.

The resolution and video standard of the generated video is automatically based upon the first frame in your movie. If the movie does not yet have any clips, then it uses the values specified in Edit Preferences Defaults.

##### Colour Range

The Colour Range video generator fills the first frame with the From colour. Over the duration of the effect—as specified using the Frames field—the frame remains a solid colour, but the colour transitions to the To colour. It performs this colour transition by interpolating the RGB values.

##### Fixed Colour

The Fixed Colour video creator is simple—it completely fills the frame with a single colour over the entire duration of the effect.

This generator makes for a nice background generator to the Titler and Superimpose video filters.

##### From File

The From File video creator imports an image file or image file sequence (e.g., animation). The creator supports many image file format because it uses GDK's pixbuf library, which has plugin system. Most systems have built-in support for the popular formats of PNG, JPEG, GIF, and BMP. You can find out what your system supports by running `gdk-pixbuf-query-loaders` in a terminal window. See the gdk-pixbuf documentation for more information.

To import a file sequence, you must enter a format string containing pattern-matching macros. See the printf or scanf man pages for more information. A pattern of "%6d" would match a number containing up to 6 digits. A pattern of "%d" would match a number with any number of digits, and a pattern of "%06d" would match a number contain exactly 6 digits, padding with zero where needed.

##### Gradient

The Gradient creator is a linear gradient generator that can change colour over time. The gradient is a smooth transition from the From colour to the To colour within a single frame. In other words, the frame is not a solid colour. Direction determines the line along which the gradient lies. In addition, using Start and End the gradient can change over time.

The Gradient effect makes a nice background generator for the Titler and Superimpose video filters.

##### Random Noise

The Random Noise generator creates what appears to be a analog signal containing white noise. In other words, it looks like a bunch of flickering black and white dots.

### Choose an Audio Effect

First, choose whether to apply an Audio Filter or Audio Transition .

Filters only affect only the selected or created frames. The filters provide effects which range from doing nothing, silencing, fading, dubbing, or mixing the audio.

Transitions take two sets of frames as input (referred to as A and B frames) and provide functionality to merge them together in some way. The only built-in transition is Cross Fade .

The B frames of the audio transition are driven by the Video Transition selection.

#### Audio Filters

##### Dub

Dub replaces the original audio with that from another source specified by Audio File . Click the folder icon to open a file chooser dialog to help locate a file. Enter a value for Offset to start from the external source at a position other than the beginning.

The line graph widget is a gain envelope . It lets you adjust the gain level of the audio. The horizontal axis is time, and the vertical axis is the gain. For example, you could fade from silence in the same step as performing the dub. Click anywhere on the line between the two dots to add a new dot--or control handle. Click and drag a dot to adjust. The middle position on the vertical axis is 100% gain, or the original volume level. You risk introducing clipping when you go above the mid-level, but it can be useful for soft sources. To remove a dot, drag it outside of the gain envelope widget.

To make it easy to adjust the overall gain level, remove one of the dots, leaving just one.

The duration of the external audio source is truncated by the duration of the effect. Likewise, the duration of the audio effect is truncated by the duration of the audio source. Because time is not depicted on the horizontal axis, it can be difficult to adjust the gain envelope--use the . While the preview might not give a perfect prediction of the results, it might help.

Kino only natively dubs from WAV files. However, if you have installed ffmpeg, it attempts to use whatever your ffmpeg can open including possibly MP3, Ogg Vorbis, AAC, and AC-3.

When not using WAV and starting preview from a position other than the beginning of the effect, you may notice a pause before playback. Kino must read from the ffmpeg pipe until it reaches the starting point of the preview.

##### Fade In

Fade In starts out by reducing the volume to silence and then it gradually transitions to the original volume. The gain follows a simple, linear ramp.

##### Fade Out

Fade Out starts out at the original volume and gradually reduces the volume to silence. The gain follows a downward linear ramp.

##### Gain

Gain adjusts the audio volume over time.

The line graph widget is a gain envelope . It lets you adjust the gain level of the audio. The horizontal axis is time, and the vertical axis is the gain. For example, you could fade from silence in the same step as performing the dub. Click anywhere on the line between the two dots to add a new dot--or control handle. Click and drag a dot to adjust. The middle position on the vertical axis is 100% gain, or the original volume level. You risk introducing clipping when you go above the mid-level, but it can be useful for soft sources. To remove a dot, drag it outside of the gain envelope widget.

To make it easy to adjust the overall gain level, remove one of the dots, leaving just one.

Because time is not depicted on the horizontal axis, it can be difficult to adjust the gain envelope--use the . While the preview might not give a perfect prediction of the results, it might help.

##### Mix

Mix combines the original audio with that from another source specified by Audio File . Click the folder icon to open a file chooser dialog to help locate a file. Enter a value for Offset to start from the external source at a position other than the beginning.

The line graph widget is a gain envelope . It lets you adjust the mix level of the external audio source. The horizontal axis is time, and the vertical axis is the gain. The higher the level, the greater the external audio source level and the less of the original audio. Click anywhere on the line between the two dots to add a new dot--or control handle. Click and drag a dot to adjust. The middle position on the vertical axis evenly mixes the original and external audio; however, due to differences in the recording level of each audio source, one source may still sound louder than the other.

To make it easy to adjust the overall mix level, remove one of the dots, leaving just one.

The duration of the external audio source is truncated by the duration of the effect. Likewise, the duration of the audio effect is truncated by the duration of the audio source. Because time is not depicted on the horizontal axis, it can be difficult to adjust the gain envelope--use the . While the preview might not give a perfect prediction of the results, it might help.

Kino only natively mixes from WAV files. However, if you have installed ffmpeg, it attempts to use whatever your ffmpeg can open including possibly MP3, Ogg Vorbis, AAC, and AC-3.

When not using WAV and starting preview from a position other than the beginning of the effect, you may notice a pause before playback. Kino must read from the ffmpeg pipe until it reaches the starting point of the preview.

##### Silence

Reduce the audio volume completely. Sound still exists.

#### Audio Transition: Crossfade

Crossfade fades clip A to silence while clip B fades from silence. This provides a nice, smooth cross-over effect. Actually, this is not strictly a crossfade since you have full control over the gain of each clip's audio; however, the intention of this is give you more control over the shape of the crossfade or to compensate for something in the audio track of the clips.

The line graph widgets are gain envelope controls. The horizontal axis is time, and the vertical axis is the gain. Click anywhere on the line between the two dots to add a new dot--or control handle. Click and drag a dot to adjust. The middle position on the vertical axis is 100% gain, or the original volume level. To remove a dot, drag it outside of the gain envelope widget.

A common variant of the linear ramps, is to create a sigmoid-like B Curve and its mirror image for the A Curve .

### Choose a Video Effect

First, choose whether to apply a Video Filter or Video Transition .

Filters affect only the selected frames or generated frames. The filters provide effects which range from do nothing, monochrome conversion to various mirroring and swapping effects.

Transitions take two sets of frames as input (referred to as A and B frames) and provide functionality to merge them together in some way. The transitions provide a small collection of fade and wipe functionality.

A few notes on transitions are in order here. By default, a transition affects those frames selected by combining them with those immediately following--so if you want to cross fade the last second of a scene (A) with the first second of the following scene (B), choose Overwrite , click scene A in the Storyboard , check Limit to , click Video Transition , and make sure Frames Following is selected.

The direction of the transition can be set to Reverse , but each effect determines what that means. It becomes apparent when selecting a fade in combination with a colour (fade to/from black, white, pink etc) or a wipe.

For most transitions you should also choose Audio Transition Cross Fade .

#### Video Filters

##### Blur

The Blur filter makes the image appear to be out-of-focus. It performs a convolution using a triangle distribution.

- Radius controls the amount of blur. Radius refers to the number of neighboring pixels that gets blended into each pixel.

- Enable Blur horizontally to blend each pixel with the left and right neighboring pixels.

- Enable Blur vertically to blend each pixel with the neighbors above and below.

Example :

###### Motion Blur

Emulate a motion blur effect by enabling only one of Blur horizontally or Blur vertically and using a fairly large Radius (try 20).

##### Charcoal

The Charcoal filter makes the image appear to be hand-drawn using a charcoal pencil.

- Line Scale controls the overall amount of charcoal or blackness.

- X Scatter controls the heaviness of the lines in the horizontal direction.

- Y Scatter controls the heaviness of the lines in the vertical direction.

- Mix controls how much of the charcoal image is blended with the original image. 0% does not blend any of the charcoal and 100% uses the charcoal image exclusively.

- Enable Deinterlace if the image has much inter-field motion ( ). The interlace artifacts can adversely affect the effect. However, applying this reduces the resolution by half since it isolates one field and doubles the lines ( ).

Example :

##### Colour Average

The Colour Average filter creates a posterize effect.

Scale creates fewer colour regions thereby increasing the level of the effect.

Example :

##### Colour Hold

The Colour Hold filter makes an image grayscale except for a particular colour.

- Use the embedded colour picker to set the colour to retain.

  To use the eyedropper tool, you should first set Tolerance to 100% to expose all of the colours in the original image.

- Tolerance controls how many colours near the chosen colour are also displayed. It is a good idea to have at least a little tolerance.

- Softness also effects how many colours near the chosen colour are also displayed.

Example:

##### Flip

The Flip filter alters the direction of the image as if you were looking at the image in a mirror. When Direction is Left to Right , it performs a horizontal flip--what appeared on the left, now appears on the right and vice versa. When Direction is set to Top to Bottom it performs a vertical flip, which can make the image appear upside down (or right side up if you are correcting an upside image).

Example :

##### Jerky

The Jerky filter repeats some frames and drops the others to keep the duration the same, unlike the Speed option (). As a result, the playback appears choppy. As this is actually a temporal effect, not affecting the image, there is no example available. The Show Every option determines how many frames are dropped between each frame that gets repeated.

##### Kaleidoscope

The Kaleidoscope filter repeats a quadrant of the image with mirror effects to make it appear as if viewed through a kaleidoscope toy.

Quadrant controls which quadrant of the original image gets repeated: Top Left, Top Right, Bottom Left, Bottom Right.

Example:

##### Levels

The Levels filter adjusts various light (Luminance) and colour (Chrominance) attributes of the image including colour correction (White Balance). This filter supports keyframing ( ).

- Brightness adjusts the level of light in a linear manner. It simple adjusts the Y component of the native DV Y'CbCr color space.

- Contrast adjusts the difference between the color and brightness.

- Gamma adjusts the brightness in a nonlinear manner such that dark area brighten more so than lighter areas.

- Hue rotates the colors around the colour wheel .

- Saturation adjusts the amount of perceived colour. You can enhance the colour vibrancy by increasing this or make the image appear more washed out by reducing it.

- Value adjusts the brightness in a linear manner. It is very similar to Brightness , but does it within a different colour space that can yield subtly different results.

- Colour Temperature is a white balance tool for colour correction. Basically, this can compensate for a camera that is not correctly perceiving white as white, perhaps due to fluorescent lighting. Also see the Wikipedia topic.

- Green Tint is a colour correction tool that complements the Colour Temperature control, which just affects the red and blue components. Also see the Digikam documentation .

###### White Balance

The easiest way to use white balance controls is to click the colour button to open the colour picker dialog. Then, move the colour picker dialog to the side of the preview window. Then, click the eyedropper button on the colour picker dialog. Next, click an area of the FX preview that should be white. Finally, click OK to close the dialog window. If you need to redo this operation, then you should first click Reset .

##### Mirror

The Mirror filter creates the illusion of a mirror placed in the middle of the image. It splits the image in half and places a mirror image of the first half onto the second half.

The Direction option lets you choose which half to keep and with which to make the mirror image copy. For example, Left to Right retains the left half and place the mirror image of the left half on the right half of the image.

Example :

##### Pan and Zoom

The Pan and Zoom filter performs affine transformations to change the size and position of the image. While you can not alter the output size of the video, you can zoom in the image with automatic cropping. Also, depending upon your settings, the image will stretch or shrink to fill the output without padding. This filter support keyframing ( ).

- Pan controls the position of the center of the image.

  - X controls the horizontal position as a percentage of the original image width. 0% represents the left edge while 100% represents the right edge.

  - Y controls the vertical position as a percentage of the original image height. 0% represents the top edge and 100% the bottom edge.

- Zoom controls the scaling and cropping.

  - Width controls the width as a percentage of the original width that you want to retain. 1% retains the smallest width or is totally zoomed in. 100% represents the entire width of the original image or no horizontal scaling.

  - Height controls the height as a percentage of the original height that you want to retain. 1% retains the smallest amount or is totally zoomed in. 100% represents the entire height of the original image or no vertical scaling.

- Reverse only applies when using keyframes and inverts the settings over time.

- Deinterlace performs a simple line-doubler deinterlace prior to the transformation in order to isolate a field ( ) and prevent artifacts due to inter-field motion ( ).

Example: Compare it to the original:

##### Pixelate

The Pixelate filter makes the image appear blocky.

Initial Size and Final Size lets you controls the amount of blockiness over time. You can individually control the block Width and Height in terms of pixels. Because DV pixels are not square you may need different width and height values to make it appear square.

Example :

##### Soft Focus

The Soft Focus filter performs a large blur and mixes it with the original, unmodified image to give the image a soft look as if were shot with a soft focus lens .

- Softness controls the amount of blurring as a radius around each pixel.

- Amount controls the amount the blurred image is mixed with the original image. The higher the percentage, more of the blurred image is mixed with less of the original.

Example:

##### Superimpose

The Superimpose filter composites or overlays a still image or sequence of still images over the video. It supports full per-pixel alpha-blending if the still image contains an alpha channel (PNG, TGA, and SVG are examples of image formats that support alpha channels). Also, you can animate the position and opacity of the image.

Example :

- Enter the complete file name of the image to the image or image sequence. The filter supports many image file formats because it uses GDK's pixbuf library, which has plugin system. Most systems have built-in support for the popular formats of PNG, JPEG, GIF, and BMP. You can find out what your system supports by running `gdk-pixbuf-query-loaders` in a terminal window. See the gdk-pixbuf documentation for more information.

  To import a file sequence, you must enter a format string containing pattern-matching macros. See the printf or scanf man pages for more information. A pattern of "%6d" would match a number containing up to 6 digits. A pattern of "%d" would match a number with any number of digits, and a pattern of "%06d" would match a number contain exactly 6 digits, padding with zero where needed.

- Use Zoom to adjust the size of the overlay as a percentage of the original overlay size. It only supports 1% to 200%, so you might need to adjust it in an external tool if it is extremely large.

- Enable Interlaced? Use field-based rendering? if you are animating the position and intend to keep the final output as interlaced. Field-based rendering makes the motion more fluid on an interlaced display by rendering to each field instead of each frame. When you view an individual frame, you are seeing two fields interleaved. Therefore, the image will appear to have fringed edges because each field appears at a different time, and the position can be different at different points in time.

- Position and Animation lets you control the location of the overlay either fixed or a single vector of motion over the duration of the effect.

  - X Offset adjusts the horizontal position relative to the positions described below. You can enter a positive or negative number of pixels.

  - Y Offset adjusts the vertical position of the overlay relative to the position described below. You can enter a positive or negative number of pixels.

  - Initial Position sets the beginning position of the motion.

    - Left positions the left edge of the overlay along the left edge of the video.

    - Center centers the overlay horizontally.

    - Right positions the right edge of the overlay along the right edge of the video.

    - Left Off positions the overlay completely off of the left edge of the video.

    - Right Off positions the overlay completely off of the right edge of the video.

    - Top positions the top edge of the overlay along the top edge of the video.

    - Middle vertically centers the overlay within the video.

    - Bottom positions the bottom edge of the overlay along the bottom edge of the video.

    - Top Off positions the overlay completely off of the top edge of the video.

    - Bottom Off positions the overlay completely off of the bottom edge of the video.

  - Final Position sets the ending position of the motion.

  - Fade In lets you specify how long it takes to animate the translucency from transparent to fully opaque. A value of 0 disables this option and makes the overlay opaque at the beginning of the effect.

  - Fade Out lets you specify how long it takes at the end of the effect to alter the translucency from opaque to transparent. A value of 0 disables this option and leaves the overlay opaque.

##### Titler

The Titler filter composites text over the video image. It supports internationalization and per-pixel alpha-blending of the anti-aliased font edges.

Example :

- Click Font to change the typeface and size.

- Click Colour to set the text foreground colour and opacity.

- Set the Outline Width to set the number of pixels, up to 3, of outline colour to apply to the text. Click Colour next to Outline Width to set the colour and opacity of the text outline.

- Pad Width , Height , and Colour adjusts the background colour and how far it extends beyond the rectangular box surrounding the text.

- Align controls the alignment of multiple lines of text with respect to one another, not with respect to the video image--see below for that.

- Enable Text includes Pango markup? to include Pango markup tags . If you enable this, then you must use entities to include special characters: < (&lt;), > (&gt;), & (&amp;).

- Enable Interlaced? Use field-based rendering? if you are animating the position and intend to keep the final output as interlaced. Field-based rendering makes the motion more fluid on an interlaced display by rendering to each field instead of each frame. When you view an individual frame, you are seeing two fields interleaved. Therefore, the image will appear to have fringed edges because each field appears at a different time, and the position can be different at different points in time.

- Position and Animation lets you control the location of the title either as fixed or as a single vector of motion over the duration of the effect.

  - X Offset adjusts the horizontal position relative to the positions described below. You can enter a positive or negative number of pixels.

  - Y Offset adjusts the vertical position of the title relative to the position described below. You can enter a positive or negative number of pixels.

  - Initial Position sets the beginning position of the motion.

    - Left positions the left edge of the title along the left edge of the video.

    - Center centers the title horizontally.

    - Right positions the right edge of the title along the right edge of the video.

    - Left Off positions the title completely off of the left edge of the video.

    - Right Off positions the title completely off of the right edge of the video.

    - Top positions the top edge of the title along the top edge of the video.

    - Middle vertically centers the title within the video.

    - Bottom positions the bottom edge of the title along the bottom edge of the video.

    - Top Off positions the title completely off of the top edge of the video.

    - Bottom Off positions the title completely off of the bottom edge of the video.

  - Final Position sets the ending position of the motion.

  - Fade In lets you specify how long it takes to animate the translucency from transparent to fully opaque. A value of 0 disables this option and makes the title opaque at the beginning of the effect.

  - Fade Out lets you specify how long it takes at the end of the effect to alter the translucency from opaque to transparent. A value of 0 disables this option and leaves the title opaque.

As of version 1.2.0, you can use special variable substitution syntax to have Kino generate a title from various metadata.

- `#timecode#` = timecode of the frame within your movie, as seen at the bottom of the window.

- `#dv.timecode#` = The timecode the frame appears on the tape cassette, if applicable. Imported or rendered DV usually has a timecode relative to the beginning of the clip.

- `#dv.datetime#` = The date and time of the recording as set by the camera or software, in the case of rendered or imported video.

- `#dv.date#` = Just the date portion of dv.datetime.

- `#dv.time#` = Just the time portion of dv.datetime.

- `#dv.filename#` = The base file name of the clip.

- `#filename#` = The project file name.

- `#meta.abstract#` = The "abstract" for the clip.

- `#meta.author#` = The "author" for the clip.

- `#meta.copyright#` = The "copyright" for the clip.

- `#meta.id#` = The "id" for the clip.

- `#meta.title#` = The "title" for the clip.

  The `#meta.` items are entered into the Storyboard ( ). If you use custom metadata items, the above generalizes into `#meta.`name ( ).

#### Video Transitions

All video transitions share a common set of controls. However, the defaults are setup for the most common usage: forward with the following frames over the full range of the effect.

- The first control is the direction with Forward and Reverse options. The exact meaning is not universal; the effect interprets this, if at all. Typically, if the effect has some sort of direction or progression, then Reverse provides the opposite action of Forward . For example, if something normally moves to the left, then in reverse it moves to the right.

- The radio buttons define the B clip in terms of an A-to-B transition:

  - Frames following refers to the multiple frames following the range of the effect, processed sequentially.

  - Frame following refers to the first frame beyond the range of the effect.

  - Frame preceeding refers to the frame immediately prior to the first frame in the effect.

  - a solid color

- Start lets you set the starting point along the timeline of the "progress" of a transition effect.

- End lets you set the ending point along the timeline of the "progress" of a transition effect.

##### Barn Door Wipe

The Barn Door Wipe provides the appearance of two opposing doors opening simultaneously to reveal the B clip.

The Direction option controls the lines of symmetry.

Example : Horizontal

Example : Vertical

##### Composite

The Composite transition overlays the B clip atop the A clip. It includes affine transformation (position, scale, rotation, shear) along with opacity and the luma wipe processor ( ). Furthermore, the transition is keyframeable ( ), making this one very powerful effect!

- Preset provides a few predefined settings with keyframes to cover common effects as well as provide ideas about using this effect.

- Position controls the position of the center of the B clip image.

  - X controls the horizontal position as a percentage of the original image width. 0% represents the left edge while 100% represents the right edge.

  - Y controls the vertical position as a percentage of the original image height. 0% represents the top edge and 100% the bottom edge.

- Size controls the scaling and cropping of the compositing rectangle. If Rescale is enabled the B clip is scaled to fit within the rectangle. Otherwise, the B clip is cropped within the rectangle.

  - Width controls the width as a percentage of the original width that you want to retain. 1% retains the smallest width or is totally zoomed in. 100% represents the entire width of the original image or no horizontal scaling.

  - Height controls the height as a percentage of the original height that you want to retain. 1% retains the smallest amount or is totally zoomed in. 100% represents the entire height of the original image or no vertical scaling.

- Rotate sets the number of degrees of rotation to apply to the B clip.

- Fade adjusts the opacity of the B clip from 0% as opaque and 100% as fully transparent.

- The Shear control makes the B clip appear as though one side is shifted upward and the other side downward in a vertical stretching fashion.

- Wipe animates the portion of the B clip that gets applied over time using the same effects in the Luma Wipe transition.

- Wipe Softness controls the amount of blurring at the inner edges of the wipe.

- Disable Rescale to crop the B clip instead of scaling it.

- Enable Interlaced? Use field-based rendering? if you intend to keep the final output as interlaced. Field-based rendering makes the motion more fluid on an interlaced display by rendering to each field instead of each frame. When you view an individual frame, you are seeing two fields interleaved. Therefore, the image will appear to have fringed edges because each field appears at a different time, and the position can be different at different points in time.

Example :

##### Differences

The Differences transitions paints the differences or similarities between the A and B frames as a certain colour.

- Sensitivity adjusts how similar or different the colors of each pixel are relative to each other.

- For Operation , choose whether to highlight the Differences or Similarities

- Use Colour to set the highlight colour.

Example :

##### Dissolve

The Dissolve transition fades out clip A while clip B fades in. It is the video analog of an audio crossfade.

Example :

##### Luma Wipe

The Luma Wipe is a generic, extensible wipe processor. The luminosity of an image defines the transitional edges and progress of the wipe. It comes with a large number of wipe images for many of the standard (SMPTE) wipes. Basically, applies a threshold filter, where the threshold increases over time, to a greyscale image thereby making it into a black and white image. Where a pixel's level is below the threshold, it becomes black, and where it is above the threshold, it becomes white. Then, the B clip appears where there are black pixels in the filtered luma, and the A clip appears where there are white pixels in the filtered luma.

- Click Image to choose a greyscale image that defines the wipe effect. A whole bunch of wipes are included with Kino, and it is easy to create your own.

- Softness controls the amount of blurring along the edges between the A and B clip images.

- Enable Interlaced? Use field-based rendering? if you intend to keep the final output as interlaced. Field-based rendering makes the motion more fluid on an interlaced display by rendering to each field instead of each frame. When you view an individual frame, you are seeing two fields interleaved. Therefore, the image will appear to have fringed edges because each field appears at a different time, and the position can be different at different points in time.

The examples below show one variation of each class of wipe.

Example : Bar

Example : Barn Door

Example : Box

Example : Burst

Example : Clock

Example : Iris

Example : Matrix

##### Push Wipe

The Push Wipe transition makes it appear as though the B clip is pushing the A clip off an edge of the video.

Direction controls the direction of the push. Use the common transition Reverse option to choose the alternate direction.

- Left to Right pushes the A clip off of the left edge. In conjunction with Reverse , B pushes A off of the right edge.

- Top to Bottom pushes the A clip off of the bottom edge. In conjunction with Reverse , B pushes A off of the top edge.

Example : Horizontal

Example : Vertical

##### Blue Chroma Key

The Blue Chroma Key transition makes all the pixels in clip A whose color is near fully saturated blue transparent exposing the B clip beneath.

##### Green Chroma Key

The Green Chroma Key transition makes all the pixels in clip A whose color is near fully saturated green transparent exposing the B clip beneath.

#### Keyframing

Some video effects support keyframing--the ability to adjust parameters of the effect over time with key frames and interpolation . The key frame button is located to the right side of the scrub bar beside the Render button. If an effect supports key frames, then the key frame button is enabled as seen in the picture below.

Click the key frame button to add (+) or remove (-) a key frame.

It is not possible to remove the first key frame.

When you add a key frame, you can manually set the parameters on that frame. Then, the effect interpolates the values between your key frames. Most effects perform linear interpolation of their numeric parameters; however, the Levels video filter ( ) uses piecewise constant interpolation.

The transport control buttons that normally move between the previous and next scenes positions the preview to the respective key frame. Between key frames, the effect disables all widgets that are being controlled by interpolation. Then, when you move to a key frame, the effect enables the widgets for tweaking.

### Preview

Preview provides a quick way for you to preview your effects before rendering them. By default playback is restricted to the affected frames only. You can change most effects and parameters while preview is playing. You can use the scrub bar or transport controls to step through the preview or click play in the transport controls to play continuously. Click stop to stop playback, of course. Other transport controls or clicking the scrub bar also stops playback. The transport controls to seek to the beginning or end of the movie goes to the beginning or end of the selected frames.

### Render

To render the full effect, specify a base file name in the File field and click Render . At the end of the processing, the rendered sequence is automatically added as a new scene in your movie. Should you wish to undo the effect, you will have to return to the Edit mode and use Edit Undo .

You can switch to another tab while Kino continues to render in the background; however, if you do any editing, the results are unpredictable unless you edit something beyond the end of the effect range.

Click Pause in the transport controls to pause rendering.

Click Stop in the transport controls to cancel rendering.

Canceling does not prevent the editing of the result into the movie; the rendered clip will just be shorter than expected. This is a feature because, if you are not sure Preview is working well enough, you can render a portion and review it in Edit. To re-render, use Edit Undo, return to FX, check your range, and click Render.

## Export

Export lets you to output your movie, or parts of it, to various files and devices. This is useful if you wish to create, for example, a DVD Video from your project.

You can export to an IEEE 1394 device, DV file, stills, sound, MPEG format, or to any program that accepts Raw DV frames as input.

### Range Selection

You select the frames of your video at the top of the Export page. There are three principal ways to select frames; which one you use is determined by the top drop-down box. The default choice is All , which will export all frames in your project. Next choice is Current which will export the current frame (probably mostly useful when exporting stills). The current frame is the last one viewed in the Edit or Trim page. Finally there is From/To which allows you to set the beginning and end times ( ). You can also choose to not export every frame, but, for example, only every second or third frame. You do this by changing the number in the Every spinner. The default is to export every frame.

Click a scene in the Storyboard to set the range to the frames in the scene.

### IEEE 1394

Export IEEE 1394 sends your movie back to your camera, deck, or converter. The information about IEEE 1394 that is covered in the Capture topic ( ) applies here as well.

Pre-roll repeats the first frame for a few seconds to allow time for the receiving device to synchronize with the DV stream. For this reason, you might choose to insert a black silent frame or color bars as the first frame for pre-roll.

Resample Audio coerces the audio frequency to match that of the first frame of the movie because many devices do not like it to change. If you include multiple clips from different sources or recording sessions, it is very possible to have a project with mixed frequencies. Also, this option creates a locked audio output. However, if you want to send DV to the device that is not altered by software (assuming no rendered FX or imported clips), you should disable this option. Also, you should disable this for a quick preview of a long movie so that you do not have to wait for Kino to prepare the locked audio track.

The Preview button does not send an AV/C record command to the device whereas `Export` does. The AV/C record command tells the camera or deck to write to the tape or other storage media. If you are transmitting to a converter device, the AV/C record command might signal the converter to switch direction of conversion in order to accept DV as the input.

### DV File

Export DV File creates Raw DV, DV AVI, or Quicktime DV (requires libquicktime or Quicktime 4 Linux ) files from your project. You need to supply a base file name, which will be the file name stem of any file exported. Kino automatically appends a number and file name extension to the name you specify. Also, it can generate multiple flies also known as splitting, according to various criteria: scene changes ( Auto Split Files ), file size ( Max Size ), and frame count ( Frames ). Most of the options are already explained on the Preferences Capture topic ( ).

The Update Date and Timecode option updates the recoding date and time to the system time and the timecode to the movie's running time. These metadata are embedded in the DV stream.

### Stills

Edit Stills generates image file sequences. You supply a base file name including the file name extension. The extension determines the format to export: PPM, JPEG, PNG, TIFF, GIF, BMP, TGA, and whatever other gdk-pixbuf modules are on your system. Kino automatically inserts a number between the base file name and the file name extension.

JPEG Quality only applies if you are exporting to JPEG format and sets the compression level from most compression (1%) to no compression 100% .

If your source material is interlaced ( ) (most is) the Extract option menu lets you specify if you want to export the raw interlaced frame, the upper or lower field or a linear blend between the fields.

Resample Pixel Aspect resamples the image to adjust for the different pixel aspect ratio between DV frames and the square pixels of a computer screen. See for more information.

### Audio

Export Audio generates audio files from your movie. Choose the Sampling Rate and the Format from the option menus (making sure you have the required programs mentioned in parentheses). Click Scene Split to generate a separate file for each scene of the movie.

### MPEG

Export MPEG requires mjpegtools 1.6 or 1.8 to function.

You need to provide a base file name. Kino automatically adds a number and file name extension.

File Format selects a profile that contains suitable encoding parameters.

Deinterlace determines how the frames should be deinterlaced.

#### Advanced Options

Click Advanced Options to show more options. Video Pipe , Audio Encoding , and Multiplexer are fields that let you supply your own arguments to the different mjpegtools programs used during export.

If you want to see the command lines that Kino generates, then run Kino from a Terminal Window and view the text output when you click Export .

Kino generates the minimum options requred to generate a valid output that it can determine from the movie, for example: video standard, aspect, audio frequency, etc. You can specify additional mpeg2enc options in Video Pipe field or mp2enc options in the Audio Encoding field to tweak the encoding.

All audio is exported, by default, as MPEG-1 layer II, also known as mp2. If you want to generate AC-3 for DVD Video and you know you have ffmpeg with AC-3 encoding support, enter "ffmpeg" into the Audio Encoding field.

As exporting to MPEG can be a very lengthy operation, you have the option of not cleaning up intermediary files in case some operation goes wrong. Disable Cleanup if you want them to persist in case the multiplex operation goes wrong.

Click Scene Split to create a new file for each scene.

#### DVD Video Authoring

The DVD-Video Options section only appears when you select DVD from the File Format option menu.

Aspect Ratio lets you override the detected aspect ratio. It is only needed under rare circumstances.

The Output dvdauthor XML option menu enables generation of an XML file suitable for input to the program dvdauthor . Author Only creates a very simple DVD directory, which, if burned to a DVD, will play your movie in a standalone player. To illustrate this, we will present how to make a very simple, but usable, DVD movie. This requires the program dvdauthor, mkisofs and growisofs (part of dvd+rw-tools ).

Start by selecting a frame range. Then, specify an output file name, say `/usr/tmp/mydvd` . Now select the format 8 - DVD from the File Format option menu. Next, choose an item in the Output dvdauthor XML option menu. Click Export .

When Kino is done exporting (and this can take a very long time), you should have a file called `/usr/tmp/mydvd001.mpeg` and a file called `/usr/tmp/mydvd-dvdauthor.xml` . Now, open a terminal window, change to `/usr/tmp/` and create a directory called mydvd:

    bash$ cd /usr/tmp
    bash$ mkdir mydvd

Now you need to run `dvdauthor` :

    bash$ dvdauthor -o mydvd -x mydvd-dvdauthor.xml

You can check the DVD directory with the program `xine` :

    bash$ xine dvd:/usr/tmp/mydvd/VIDEO_TS/

It is important to use the full path.

Now the directory `/usr/tmp/mydvd` contains a DVD directory that can be used to create an iso image from. You can make an iso image with the program `mkisofs` :

    bash$ mkisofs -dvd-video -o mydvd.iso mydvd/

Finally, this program can be burned to a DVD with the program `growisofs` :

    bash$ growisofs -dvd-compat -Z /dev/dvd=mydvd.iso

The result is a very simple DVD (without menus) that should play in most standalone players.

Kino comes with a number of scripts to automate these steps. The scripts appear in the Output dvdauthor XML option menu only if you have the required tools in your path:

- Create DVD-Video runs `dvdauthor` for you, outputting the result into a subdirectory of the export file.

- Burn to /dev/dvd with growisofs automates all of the above steps except the `xine` preview. One can change the burner device file (default "/dev/dvd") by setting the DVD_DEVICE environment variable.

- Burn with K3B automates the authoring (runs `dvdauthor` ) and loads the DVD Video directory into K3B for burning.

- Open in 'Q' DVD-Author does not do any authoring or burning. Instead, it sends the MPEG and dvdauthor XML files to the 'Q' DVD-Author program where you can do more advanced DVD authoring, such as menu creation, prior to burning.

- You can put your own scripts in `$HOME/kino/dvdauthor/` or `$KINO_HOME/dvdauthor/` . See the scripts at `$prefix/share/kino/scripts/dvdauthor/` for examples. `$prefix` is typically `/usr` or `/usr/local` .

### Other

Export Other exports to any program that accepts a Raw DV input pipe. You need to supply a base file name.

Many of the Tool options contain a single pass or dual pass variant. In general, dual pass is better quality, but it can take up to twice as long as single pass. Also, when choosing a profile of a particular bitrate, the data rate of the the dual pass output will be more consistent and constrained. The VBR (variable bit rate) outputs are only offered in single pass because they use a constant quantiser (i.e., quality level) and there is no benefit to dual pass.

Many of the Profile options use descriptions such as "Best," "High," "Medium," "Broadband," and "Low" because their output depends upon whether the input is NTSC or PAL and whether it is widescreen or 4:3 aspect ratio. Also, "Best" refers to the fact that no image resampling is performed, so it uses the native resolution and sample aspect ratio of the DV source as well as retaining any interlace. It also tells the encoder to use interlaced coding. Therefore, "Best" here refers to the least amount of image degradation introduced due to interpolation used in scaling and deinterlacing algorithms. Most other profiles scale the image to have square pixels. Here is a table to help:

    NTSC Standard
        Best: 720x480
        High: 640x480
        Medium: 320x240
        Broadband: 320x240
        Low: 160x120
    NTSC Widescreen
        Best: 720x480
        High: 854x480
        Medium: 426x240
        Broadband: 426x240
        Low: 214x120
    PAL Standard
        Best: 720x576
        High: 768x576
        Medium: 384x288
        Broadband: 384x288
        Low: 192x144
    PAL Widescreen
        Best: 720x576
        High: 1024x576
        Medium: 512x288
        Broadband: 512x288
        Low: 256x144

The actual export is carried out by a number of scripts that are installed alongside Kino at $prefix/share/kino/scripts/export/. The scripts only appear in Kino if you have the required programs. You can put your own scripts in `$HOME/kino/exports/` or `$KINO_HOME/exports/` . See the scripts at `$prefix/share/kino/scripts/export/` for examples. `$prefix` is typically `/usr` or `/usr/local` .

### Preview, Export, Stop, and Pause

At the bottom of the export page, there are buttons to start ( Export), Stop and Pause the export. Preview only works on the Export IEEE 1394 page.

During export, Kino estimates the time needed to complete the export, and displays this time in the statusbar. This estimate is often a bit too optimistic in the beginning of the export process, but becomes more accurate later in the process.

If you stop the export, Kino aborts the export process. This can lead to temporary files not being deleted by the programs Kino called to perform the export.

Pausing the export can be beneficial if you need to perform other computing and wish to free the system from the burden of the export process temporarily.

Kino exports in a background process. You can leave the Export page and use other functions in Kino. Exporting uses a snapshot of the movie at the time you start, so you can do other editing and not harm the export process (unless you move or remove files it is expecting, of course!)

## Publish

One can "publish" the movie SMIL file or still frames simply by editing shell scripts. Scripts are installed at `$prefix/share/kino/scripts/publish/` $prefix is typically `/usr` or `/usr/local` There is a `frame.sh` and a `project.sh` . Kino passes as command arguments the file name of the xml document or still frame followed by the project ID returned by the server followed by the the project name entered into the new project dialog.

Kino comes with the ability to publish a movie or still frame to the http://blip.tv/ website. When publishing the movie, it uses ffmpeg2theora to convert it to Ogg Theora format. See the Kino screencast that demonstrates how this works and the results you can expect to achieve.

The Kino configuration file ( ) contains a key named "enablePublish." Setting it "true" shows the File Publish SMIL and File Publish Still menu items and toolbar icons. --

## Metadata

One can enter metadata about the scenes into their project using the the Storyboard. Click the triangle next to the thumbnail to expand it. Then, click the pulldown menu of the combo widget to select a metadata item to add. Finally, enter a metadata value into the rightmost column. The metadata facilities are very configurable through the Kino config file ( ). Kino can prompt the user for a project name for each new project, insert the name into a URL, query a HTTP server, and parse an XML server response to present lists of values from which to pick during metadata entry.

The following sections document the configuration file keys to customize this feature followed by an example.

### metaNames

metaNames is a comma-delimited list of xml attribute names. Preface name with a '*' to make it required. A metadata attribute is only "required" in the sense that it is always added and always appears as a row in the Storyboard.

### metaValues

metaValues is mapped to each metaName as "metaValue_{metaName}". Each metaValue is a comma-delimited list of permissable values. If '*' is a value, then the user can enter a value not in the list. The list may contain a label=value pair. The "label" part is displayed to the user while a "value" is hidden but stored in the XML attribute value.

The "=value" part of a pair is optional. If the first value pair begins with "xpath:" then the metaValues are expanded using the XML response from newProjectURI ( ). Remember, a XPath query can return a collection of nodes. The text/value of these nodes is used to build the replacement list of label/values.

### newProjectURI

If newProjectURI is not empty, then a prompt is displayed on startup when no files are on the command line or when one chooses File New from the menu. Kino promps the user for a project name/ID which is inserted into the URI where there exists a "%s" Then, the URI is requested from a server using HTTP. Kino expects to receive a well-formed XML document in the body of the response, which is parsed by libxml2.

### newProjectXPath

newProjectXPath is the XPath expression to locate the project ID in the XML response from newProjectURI (). The value is put into the "id" attribute value on the smil element.

### An Example

In the Kino configuration file ( )...

    newProjectURI=http://cms/query=%s

causes Kino to prompt the user for a project name. When the user clicks OK, the server returns the following XML:

    <storylist id="1234">
      <story id="56789">
        <title>Kino 0.7.1 is Released</title>
      </story>
      <story></story>
      ...
    </storylist>

    newProjectXPath=/storylist/@id

causes Kino to locate the actual story ID and associate it with this project.

    metaNames=*title

causes Kino to automatically add and show only one metadata item.

    metaValues_title=xpath:/storylist/story/title=xpath:/storylist/story/@id

causes Kino to show all of the stories retrieved through the XPath query as the list of values from which to choose. Furthermore, the user can only choose from the values in this list. Also, while the user interface shows the story titles, Kino actually stores the story ID of the selected story in the movie's SMIL file.

## Keyboard Shortcut Reference

From the menu, choose Help Keyboard Reference . You can leave this window open while you work. As you change modes, the window updates to show the keyboard commands that work in the current page.

The subsections list all the shortcuts available in each mode.

### Edit

If a shortcut is preceded by "[n]" then you can enter a number prior to the shortcut to repeat the operation n times. Shortcuts separated by a comma represent equivalents or alternatives, not a sequence. Shortcuts may include vi mappings, GTK+ menu equivalents, and common keyboard keys.

#### Playback and Navigation Commands

Operation | Shortcut
--- | ---
Play | space-bar
Stop | Esc
Forward one frame | [n] l, right-arrow
Backward one frame | [n] h, left-arrow, Ctrl+H
Forward one second | [n] w, W, e, W
Backward one second | [n] b, B
Start of scene | [n] 0, ^
End of scene | [n] $
Next scene | [n] j, +, down-arrow
Previous scene | [n] k, -, up-arrow
Start of movie | gg, Home
End of movie | G, End
Forward 5 scenes | Ctrl+F, Page Down
Backward 5 scenes | Ctrl+B, Page Up

#### Editing Commands

Operation | Shortcut
--- | ---
Cut a frame | [n] x, Delete, dl
Cut a second | dw
Cut scene | [n] dd, Ctrl+X
Cut to end of scene | o, d$
Cut to end of movie | dG
Cut to start of scene | i, d0, d^
Cut to start of movie | dgg
Copy frame | [n] yl, y<space-bar>
Copy scene | [n] yy, Y, Ctrl+C
Copy to end of scene | y$
Copy to start of scene | y^, y0
Paste after current frame | [n] p
Paste before current frame | [n] P, Ctrl+V

#### Mode Switching Commands

Operation | Shortcut
--- | ---
Capture | a, A, F3
Timeline | v, F4
Trim | t, F5
FX | C, F6
Export | :W, F7

#### General Commands

Operation | Shortcut
--- | ---
Repeat last command | .
Split scene before current frame | Ctrl+J
Join scene with the next | [n] J
Undo | u, Ctrl+Z
Redo | Ctrl+R, Shift+Ctrl+Z
Preferences | Ctrl+P
Open file | Ctrl+O
Insert file before frame | :r
Insert (append) file after scene | :a
Append file to movie | :A
Save movie | :w, Ctrl+S
Quit | :q, Ctrl+Q
Go to frame | :<numeric>Enter

While this is about keyboard control, it is also a good place to mention how the mouse wheel works.

#### Mouse Wheel Commands

Operation | (Modifier+)Sroll Direction
--- | ---
Forward 10 frames | down
Backward 10 frames | up
Forward one frame | Shift+down
Backward one frame | Shift+up
Increase shuttle | Ctrl+down
Decrease shuttle | Ctrl+up

### Capture

Shortcuts separated by a comma represent equivalents or alternatives, not a sequence. Shortcuts may include vi mappings, GTK+ menu equivalents, and common keyboard keys.

#### Playback and Navigation Commands

Operation | Shortcut
--- | ---
Play | space-bar
Stop | Esc
Forward one frame | l, right-arrow
Backward one frame | h, left-arrow, Ctrl+H
Forward scan | w, W, e, W
Reverse scan | b, B
Previous index | 0, ^, k, -, up-arrow
Next index | $, j, -, down-arrow
Rewind | gg, Home
Fast forward | G, End

#### Mode Switching Commands

Operation | Shortcut
--- | ---
Edit | Esc, F2
Timeline | v, F4
Trim | t, F5
FX | C, F6
Export | :W, F7

#### General Commands

Operation | Shortcut
--- | ---
Start capture | Enter
Repeat last command | .
Preferences | Ctrl+P
Open file | Ctrl+O
Save movie | :w, Ctrl+S
Quit | :q, Ctrl+Q
Go to frame | :<numeric>Enter

While this is about keyboard control, it is also a good place to mention how the mouse wheel works.

#### Mouse Wheel Commands

Operation | (Modifier+)Sroll Direction
--- | ---
Increase shuttle | Ctrl+down
Decrease shuttle | Ctrl+up

### Timeline

Shortcuts separated by a comma represent equivalents or alternatives, not a sequence. Shortcuts may include vi mappings, GTK+ menu equivalents, and common keyboard keys.

#### Mode Switching Commands

Operation | Shortcut
--- | ---
Edit | Esc, F2
Capture | a, A, F3
Trim | t, F5
FX | C, F6
Export | :W, F7

#### General Commands

Operation | Shortcut
--- | ---
Preferences | Ctrl+P
Open file | Ctrl+O
Save movie | :w, Ctrl+S
Quit | :q, Ctrl+Q

### Trim

If a shortcut is preceded by "[n]" then you can enter a number prior to the shortcut to repeat the operation n times. Shortcuts separated by a comma represent equivalents or alternatives, not a sequence. Shortcuts may include vi mappings, GTK+ menu equivalents, and common keyboard keys.

#### Playback and Navigation Commands

Operation | Shortcut
--- | ---
Play | space-bar
Stop | Esc
Toggle looping | \
Forward one frame | [n] l, right-arrow
Backward one frame | [n] h, left-arrow, Ctrl+H
Forward one second | [n] w, W, e, W
Backward one second | [n] b, B
Go to in point | 0, ^
Go to out point | $
Next scene | j, +, down-arrow
Previous scene | k, -, up-arrow
Go to first frame | gg, Home
Go to last frame | G, End

#### Trimming Commands

Operation | Shortcut
--- | ---
Set out point | o, d$
Set in point | i, d0, d^
Toggle link | =
Toggle insert/overwrite | Insert, Ins
Apply overwrite | Enter
Insert Before | :r
Insert After | :a

#### Editing Commands

Operation | Shortcut
--- | ---
Cut scene | [n] dd, Ctrl+X
Copy scene | [n] yy, Y, Ctrl+C
Copy to end of scene | y$
Copy to start of scene | y^, y0
Paste after current frame | [n] p
Paste before current frame | [n] P, Ctrl+V

#### Mode Switching Commands

Operation | Shortcut
--- | ---
Edit | Esc, F2
Capture | a, A, F3
Timeline | v, F4
FX | C, F6
Export | :W, F7

#### General Commands

Operation | Shortcut
--- | ---
Repeat last command | .
Split scene before current frame | Ctrl+J
Join scene with the next | [n] J
Undo | u, Ctrl+Z
Reset in and out points | Shift+U
Redo | Ctrl+R, Shift+Ctrl+Z
Preferences | Ctrl+P
Open file | Ctrl+O
Insert file before frame | :r
Insert (append) file after scene | :a
Append file to movie | :A
Save movie | :w, Ctrl+S
Quit | :q, Ctrl+Q
Go to frame | :<numeric>Enter

While this is about keyboard control, it is also a good place to mention how the mouse wheel works.

#### Mouse Wheel Commands

Operation | (Modifier+)Sroll Direction
--- | ---
Forward 10 frames | down
Backward 10 frames | up
Forward one frame | Shift+down
Backward one frame | Shift+up
Increase shuttle | Ctrl+down
Decrease shuttle | Ctrl+up

### FX

Shortcuts separated by a comma represent equivalents or alternatives, not a sequence. Shortcuts may include vi mappings, GTK+ menu equivalents, and common keyboard keys.

#### Mode Switching Commands

Operation | Shortcut
--- | ---
Edit | Esc, F2
Capture | a, A, F3
Timeline | v, F4
Trim | t, F5
Export | :W, F7

#### General Commands

Operation | Shortcut
--- | ---
Render | Enter
Preferences | Ctrl+P
Open file | Ctrl+O
Save movie | :w, Ctrl+S
Quit | :q, Ctrl+Q

### Export

Shortcuts separated by a comma represent equivalents or alternatives, not a sequence. Shortcuts may include vi mappings, GTK+ menu equivalents, and common keyboard keys.

#### Mode Switching Commands

Operation | Shortcut
--- | ---
Edit | Esc, F2
Capture | a, A, F3
Timeline | v, F4
Trim | t, F5
FX | C, F6

#### General Commands

Operation | Shortcut
--- | ---
Export | Enter
Preferences | Ctrl+P
Open file | Ctrl+O
Save movie | :w, Ctrl+S
Quit | :q, Ctrl+Q

## Appendix

### GNU Free Documentation License

Version 1.2, November 2002

    Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
    59 Temple Place, Suite 330, Boston, MA  02111-1307, USA

    Everyone is permitted to copy and distribute verbatim copies
    of this license document, but changing it is not allowed.

1. PREAMBLE

   The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

   This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

   We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

2. APPLICABILITY AND DEFINITIONS

   This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

   A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

   A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

   The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

   The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

   A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".

   Examples of suitable formats for Transparent copies include plain ascii without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

   The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

   A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.

   The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

3. VERBATIM COPYING

   You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

   You may also lend copies, under the same conditions stated above, and you may publicly display copies.

4. COPYING IN QUANTITY

   If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

   If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

   If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

   It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

5. MODIFICATIONS

   You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

   1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.

   2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.

   3. State on the Title page the name of the publisher of the Modified Version, as the publisher.

   4. Preserve all the copyright notices of the Document.

   5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.

   6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.

   7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.

   8. Include an unaltered copy of this License.

   9. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.

   10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.

   11. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.

   12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.

   13. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.

   14. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.

   15. Preserve any Warranty Disclaimers.

   If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.

   You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

   You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

   The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

6. COMBINING DOCUMENTS

   You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

   The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

   In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements."

7. COLLECTIONS OF DOCUMENTS

   You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

   You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

8. AGGREGATION WITH INDEPENDENT WORKS

   A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

   If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

9. TRANSLATION

   Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

   If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

10. TERMINATION

    You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

11. FUTURE REVISIONS OF THIS LICENSE

    The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

    Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

#### ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

    Copyright (C)  year  your name.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.2
    or any later version published by the Free Software Foundation;
    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
    Texts.  A copy of the license is included in the section entitled ``GNU
    Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:

    with the Invariant Sections being list their titles, with
    the Front-Cover Texts being list, and with the Back-Cover Texts
    being list.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.