# &app; manual (&appversion;)

&rel_year; Stefan Kost
Buzztrax Developer Team &legal;
Stefan Sauer
Buzztrax Developer team

     buzztrax-devel@lists.sourceforge.net

&app; manual (&appversion;)
&rel_date;

Buzztrax Developer team buzztrax-devel@lists.sourceforge.net

This manual describes version &appversion; of &app;.

Feedback

To report a bug or make a suggestion regarding the &app; application or this manual, see the Buzztrax website at http://www.buzztrax.org.

## Introduction

&app; is a music composer for the GNOME desktop. It partly follows the concepts of programs like SoundTracker, FastTracker and the like, but is based on a modern media engine (gstreamer). This engine supports virtual sound generators and effects in the form of numerous plugins.

During the next section we describe the concept of the &app; and also compare it to similar applications. If you are familiar with some of those, the respective sections should help to understand the way &app; works.

The main chapter of the help system is separated into these sections:

The chapter is introducing &app; in a tutorial style. The later chapters have reference character, describing each view and dialog.

### The concept behind &app;

&app; follows the concept of tracker applications. This is quite different when compared to other music composers. The tracker concept is more focused on the event data. There is no piano roll (at least not now). Instead song fragments (patterns) are shown in a tabular way containing events over time. Both in the sequence view and in the pattern view, time flows from top to bottom, where as in classic sequencers time flows from left to right.

The tabbed UI provides several linked views on a song:

- A machine view: virtual devices and how they are connected

- A pattern view: each virtual device has a list of fragments with events over time

- A sequence view: a timeline where each track contains patterns that should be played at a given time for the machine of the track

- A wavetable view: collection of sample clips to be used as sound sources for some machines (optional)

- A metadata view: extra information about the song

Important design criteria for &app; are:

- fast and desktop compliant ui

- keyboard shortcuts for everything

- total recall

- highly interactive

- protect the creative process (open song format, journaling)

### Comparison to Buzz

&app; is inspired of lot by Buzz. Some features are still missing and some things already work better. The UI in is not a 1-to-1 copy, for Buzz users the UI will still look familiar.

Highlights in &app;:

- can render songs to wav/mp3,ogg-vorbis/... including song-meta-data (tags) and multi track exports

- uses color-codes for machine-types through its ui

- generates cleaner machine UIs (collapsing parts, more distinct widgets)

- has a scaleable machine view

- can use beats other that 4/4

- shows volume and pan on wire

- does balance on stereo wires

- has analyzers and mixing controls in sequence view

- can have multiple wire-analyzers open

- can be remote controlled with UPnP A/V software

- supports HID input devices for effect control (e.g. joysticks)

- has unlimited undo/redo support

- does journaling and crash recovery

- ships with a plugin that enables GStreamer based media players to play buzztrax songs

current shortcomings in &app;:

- has only marginal MIDI support

- has no pattern recording yet

- does not support machine templates

- adding and removing machines while playing might still hang

### Comparison to Tracker applications

While &app; has much in common with tracker applications, there are some notable differences.

- trackers are sample based, buzztrax also uses software synthesizers

- trackers have a fixed track concept, buzztrax uses tracks per machine (source/effect/sink)

- trackers do not have the virtual machine routing

## Getting started

The below tutorials will introduce &app; by going though a few examples. Each example will introduce new features.

### Live Effects

This tutorial demonstrates how to use &app; as a toy for live audio effects.

Start the graphical editor 'buzztrax-edit'. The first tab shows the machine view. Here you can create elements (sound generators and effects) and link them together. To create an element, right click on the background and select an element from the context menu. For the example choose alsasrc.

Please note, that not all the elements in the list will work perfectly in a live situation right now. Also using livesrc and normal source does not work reliable right now. This will be address in a future versions of buzztrax and gstreamer.

In your sound card mixer you should enable recording from the microphone or provide some music on line-in. Next add audiodelay and equalizer-10band elements. Now wire them together by pointing on the source element (alsasrc) and dragging a wire to the target (audiodelay), while holding the shift-key pressed. The wire will become green when the mouse is over a valid target. Releasing the mouse creates the link. Repeat the procedure for audiodelay &rrar; equalizer and equalizer &rrar; master. The wires have a pointer shape in the middle, showing the direction. A left click onto it allows to change the volume of the link, a shift left-click the stereo panorama or balance and a right click shows a context menu for disconnecting the elements and for showing an "analyzer dialog". Open that one for the link between equalizer and master. Finally double click the equalizer and the audiodelay to open their real-time settings windows. Now you should see something like this:

(FIXME: need screen shot)

Now lets give it a try. Activate the loop in the toolbar and press play. Now you can tweak the settings of the effects while making some noise. The parameter-changes will be effective right away. In the "analyzer window" you can see the frequency spectrum of the sound and the volume level.

### Synthesized Melody Sequence

This tutorial will introduce the sequencer functionality and explain patterns.

Start the graphical editor 'buzztrax-edit'. On the first tab - the machine view - add one simsyn. This is a very basic synthesizer. Also add an audiodelay and link simsyn &rrar; audiodelay &rrar; master. Now switch to the sequence view. Buzztrax has automatically added a track for the simsyn. Also the song has a default length of 64 ticks (the time axis goes from top to bottom). The track will take patterns. Patterns are the actual building blocks of the score. Patterns are a block of control events, like triggering a note or changing a machine parameter. The right side shows existing pattern for the machine the cursor is in. Simsyn has one called '00'. Press '0' four times to fill the sequence track with this pattern. Buzztrax will repeat the events there 4 times and stop. If you press play now, you won't hear anything yet, as we have not recorded any events into the pattern. Lets switch to the pattern editor. This can be done, by just pressing "Enter" in addition to using the tabs.

The pattern editor shows a grid. Again the time goes from top to bottom. From left to right the editor shows parameter groups. This simple synthesizer has just one. More complex ones have a block with global parameters and one for each voice. Each column shows some info in the status bar when the cursor is in there. The first column is for entering notes. It works like it always worked in trackers - by using the computer keyboard. The two rows above the space key form one octave and the two rows above one octave above. The lower row is for while keys and the upper row for black keys, y/z &rrar; c, s &rrar; c#, x &rrar; d, d &rrar; d#, c &rrar; e, f unused, v &rrar; f and so on. Press Ctrl-2 to set cursor stepping to go down 2 rows on each edit and enter "yqy3ywyr". If you press play now, you should hear a simple melody.

### Sampled Sounds

This tutorial explains how to work with sampled sound.

The wave-table view contains a list that one can load audio clips into. Pick some samples from the file-chooser. If you don't have any sample collections, you can still find some samples for testing on your computer. Linux systems usually have some under `/usr/share/sounds`.

Now switch to the machine view. In order to use samples we need to add a special generator that supports the wavetable functionality. Lets use "Generators/BML/Matilde-Tracker". This machine is part of the ported buzzmachine package. Link the machine to the master as usual. Now switch to the pattern editor. There you can select the "default waveform" from the combo box in the toolbar. This waveform will be used when entering new notes. You will see the waveform number in the pattern as well, where you can edit it like all the other fields.

## The main window

After starting the &app; Music Editor, you will see the main window. If you start the application without specifying an initial file (as a parameter on the command line or by double clicking a song in Nautilus), the window will look like this.

&app; window

Shows &app; main window with menu bar, tool bars, editor views and status area.

On the very top of the window is the menu bar. Below one finds the toolbar. And below again are tabs to switch between various views. Each view is for editing certain aspects of the song. On the bottom is a status bar.

Many parts in the UI show tooltips with brief explanations. Hover the mouse pointer over the region and wait a moment.

The UI uses context menus in several places. Press right mouse button to get the menu. The menu offer crucial functionally not available elsewhere right now.

### The menu bar

The menu bar gives you access to file operations, standard editing function, settings and help.

The File menu allows to start a new song, load and save songs, as well as end the program. Songs need other resources in order to be played. These are the sound-generators and effects that are used and eventually digital audio-samples. When loading a song &app; checks if all needed resources are available and if not lists them in one dialog. &app; loads and saves songs in an own format is either a single xml file or a compressed zip file (.bzt) containing the xml file and external files (samples). &app; supports plugins to load and save files in different formats. As of now an importer for buzz-songs (.bmx and .bmw) exists.

The Edit menu contains clipboard functions and invocation of .

The View menu offers customization for the shown UI elements. It also contains shortcuts to the different song-views.

main menu

### The tool bar

In contrast to the menu bar the tool bar only shows common operations as shortcuts. On the right end the toolbar shows a volume-meter for each audio-channel and a volume control for the whole song.

main toolbar
changing the volume

### The song views

Each part of a song is represented by a specialized view which one can switch to with the tabs. Next we briefly introduce each tab, where in the next sub section they will be described in detail.

#### The machine view of a song

A song utilizes sound generators, effects and sinks - all called machines. A new machine can be added from the context menu that appear on a right click in the page area. Machines can be moved around by grabbing them with the mouse and dragging them around. To connect machines, move the pointer over the source, press shift+left mouse-button and drag the wire to the target machine. The wire turns green, if the connection can be made. Sources can be connected to Effects and the Master. Effects can be inked to other Effects and the Master. It is not possible to create loops in the signal flow. Fully connected machines are shown in bright color and disconnected ones in a desaturated style. Alternatively you can select "connect machines" from the right-click context menu of a machine. Again you need to move the mouse to the target machine and click it.

Machine view

The songs machine view.

Wires have volume and panorama control support. A left-click on the pointer-shape in the middle of the wire open a volume popup. A click outside closes it again. Shift+left-click opens the panorama control. Only stereo links have a panorama control. For mono-to-stereo links it acts as a panorama for stereo-to-stereo link it acts as a stereo-balance.

Machines and wires have context menus. The menu for the wire can be accessed by right clicking over the pointer shape in the middle.

A double click on a machine brings up the .

creating machines
linking machines
changing the volume
changing the stereo panorama

#### The pattern view of a song

Patterns are the building blocks of a song. They are short snippets of events for one machine, that can be reused in the sequence. The vertical axis shows ticks (time) and the horizontal axis has the parameters. Parameters are organized in groups. There is a group for global settings and groups for each voice if the machine is polyphonic. If the pattern is for an effect or sink (master), then the pattern has a group for each incoming wire. There one can change volume and panning/balance (if applicable).

Pattern view

The songs pattern view.

In the page toolbar one can select the machine and the pattern for the machine. Pattern names in gray color indicated that the pattern is not used in the sequence (thus are save to be removed or changed). One can also select the base octave for entering notes via keyboard and the sample that should be used for wave-table based machines. Those combo boxes work when entering new notes, for existing notes one can just edit the respective columns in the pattern.

A context menu in the pattern area allows to create new patterns and modify existing ones. Unused patterns can be removed immediately (without any dialogs). If the machine is polyphonic, one can add or remove voices by using the context menu.

When moving the cursor around one can see the parameter name and value range in the statusbar. To enter notes, imagine your pc keyboard as a music keyboard in two rows. Bottom left y/z key becomes a 'c', s a 'c#', x a 'd' and so on. The next octave starts on the upper part of the keyboard with q being mapped to a 'c' again. Below are tables listing all keyboard shortcuts.

Pattern navigation keyboard shortcuts

command | shortcut | description
--- | --- | ---
move cursor | arrows | moves the cursor one position
next group | tab | moves the cursor to the next group (wire, global, voices)
prev group | shift tab | moves the cursor to the previous group (wire, global, voices)
move page | page up/down | moves the cursor 16 rows up or down
jump cursor | home/end | moves the cursor to first/last field in group, then first/last group, then first/last row
select area | shift arrows | set and enlarge/shrink the selection
begin selection | ctrl b | sets the upper row of the selection and changes selection mode into one of column, group, full-pattern (press multiple times) relative to the cursor
end selection | ctrl e | sets the lower row of the selection and changes selection mode into one of column, group, full-pattern (press multiple times) relative to the cursor
select column | ctrl l | select the full column the cursor is in
select group | ctrl k | select the full group the cursor is in
select all | ctrl a | select the full pattern
unselect | ctrl u | remove the selection (leaves the data intact)
stepping | ctrl 1...9 | set how many lines the cursor goes down when editing

pattern view shortcuts

Pattern editing keyboard shortcuts

command | shortcut | description
--- | --- | ---
enter notes |
       s d   g h j
    y/z x c v b n m
| notes from the base octave
enter notes |
     2 3   5 6   7
    q w e r t z/y u
| notes from one octave above the base octave
enter notes |
     9 0
    i o p
| notes from two octaves above the base octave
note off | 1 | turns a playing note off
clear value | . (period) | clears the field under the cursor
live value | , (comma) | copy the current machine value into the field under the cursor
delete column | delete | deletes the row at the cursor for the current column (move entries below up)
insert column | insert | insert a blank row at the cursor for the current column (move entries below down)
delete group | shift delete | deletes the row at the cursor for the current group (move entries below up)
insert group | shift insert | insert a blank row at the cursor for the current group (move entries below down)
delete full row | ctrl shift delete | deletes the row at the cursor for the whole pattern (move entries below up)
insert full row | ctrl shift insert | insert a blank row at the cursor for the whole pattern (move entries below down)
flip | ctrl f | turns the values in the selected range upside down
interpolate | ctrl i | enters values into the selected range that linearly blend from the start to the end value
randomize | ctrl r | enters random values into the selected range
range-randomize | ctrl R | enters random values into the selected range using the first and last value in the selection as a random number range

pattern view shortcuts

Pattern action keyboard shortcuts

command | shortcut | description
--- | --- | ---
sequence editor | return | go to sequence editor
select machine | ctrl up,down (arrow) | select current machine
select pattern | +,- (keypad) | select current pattern
select wave | <,> | select current wave
switch base octave | *,/ (keypad) | lower/raise the base octave

pattern view shortcuts

A list of keyboard shortcuts can also be seen on the wiki.

#### The sequence view of a song

A song consists of several tracks (columns), where in each track patterns are played. There can be several tracks for the same machine. The rows are time slots. The position column can show the time in different formats such as ticks and time. The label column can be use to annotate parts of the song, such as 'verse' and 'chorus' for easy navigation.

Sequence view

The songs sequence view.

The sequence header for each track shows the name of the machine, mute, solo. bypass buttons (depending whether it is a generator, effect or sink) and a level-meter. The name field is editable and changing it will rename the machine.

The sequence header for the label column offers shortcuts to jump to the selected label. The header for the position column contains a selector for the preferred position format.

The context menu allows to add or remove tracks, move tracks left or right and open the machine properties/ preferences for the current track. For new generators a track is added automatically.

One can navigate around using cursor keys. When changing tracks, the list of patterns on the right is updated to show the patterns for the current machine. Again gray pattern label color indicates that the pattern is not in use. Patterns can be entered into tracks by pressing the associated key (shown left to the pattern name in the list). A new pattern always interrupts a previous one, that is if there is a 32 tick long pattern '00' at row 0 and and a pattern '01' at row 16, then only the first 16 ticks of pattern '00' will be played. In addition patterns further to the right shadow patterns to the left (only the filled parameters are overlayed). Why is that useful? One can have multiple tracks for the same machine and then on-the-fly combine patterns. To give an example, for a synthesizer one can have patterns with the melodies and patterns with filter sweeps. Then one can use the filter sweep patterns with the melody patterns.

The pattern list always contains a few special patterns. Depending on the machine type, there are break, mute, solo, bypass.

Special patterns

pattern | machine type | description
--- | --- | ---
break | all | stop the pattern above, can be used to reuse a long pattern and cut it off at some point and to undo the special patterns below
mute | all | silence the output, this is similar to break, but would cut-off any sound immediately, use a break pattern to unmute
bypass | effects | stop applying the effect, use a break pattern to enable again
solo | generators | play only this generator, use a break pattern to enable the other generators again

special patterns

The cursor can move beyond the end of the pattern. The pattern gets automatically expanded when entering a pattern beyond the current end of the song. This works the same way for the label column on the left. There descriptive labels for easier song-navigation can be entered as text upon pressing enter.

To expand the sequence, scroll down with the cursor and press Ctrl e to set the end-line. If the cursor is above the end-line, pressing Ctrl e will set the loop-end marker. When the cursor is on the loop-end marker Ctrl e will shorten the sequence. To set the loop-begin marker press Ctrl b.

To set play position click with left mouse-button in the first column at the desired time location. To modify the loop start/end instead hold down the Ctrl or Ctrl+Shift key while clicking.

A left mouse-button click in the sequence area will move the cursor there. A double click will switch to the pattern editor with the pattern active or the machine of the track selected.

It is also possible to insert and delete full rows or just entries in a track. The shortcuts for this are Ctrl i to insert a full row and Ctrl d to remove a full row. To only insert or remove inside the current track hold the Shift key in addition.

Sequence navigation keyboard shortcuts

command | shortcut | description
--- | --- | ---
move cursor | arrows | moves the cursor one position
move page | page up/down | moves the cursor a screen-page up or down
jump cursor | home/end | moves the cursor to first/last row
set loop start | ctrl b | sets the begin of the loop region
set loop/song end | ctrl e | sets the end of the loop region or end of song (press again)
select area | shift arrows | set and enlarge/shrink the selection

sequence view shortcuts

Sequence editing keyboard shortcuts

command | shortcut | description
--- | --- | ---
clear value | . (period) | clears the pattern under the cursor
delete track | delete | deletes the row at the cursor for the current track (move entries below up)
insert track | insert | insert a black row at the cursor for the current track (move entries below down)
delete full row | shift delete | deletes the row at the cursor for the whole sequence (move entries below up)
insert full row | shift insert | insert a black row at the cursor for the whole sequence (move entries below down)

sequence view shortcuts

Sequence action keyboard shortcuts

command | shortcut | description
--- | --- | ---
pattern editor | return | go to sequence editor

sequence view shortcuts

A full list of keyboard shortcuts can also be seen on the wiki.

#### The wavetable view of a song

The wavetable hold sampled audio snippet that can be used e.g. from special sound generators (tracker sources). Those can be short instrument samples, but also full length songs.

Wave-table view

The songs wave-table view.

The left column is the wavetable. Samples are loaded by double clicking them in the right side file-browser. The play-toggle button on the toolbar above the file-browser allows to pre-listen file as the selection changes. Waves in the table can also be played, renamed and removed.

Each wavetable entry can have multiple wave levels, which are shown below the wavetable for the selected wave. Some of the details are editable. Right to the wave level list is a waveform preview widget. It shows loop markers and a playback position indicator.

Samples can be found on the internet, brought from companies offering sample collections (as CD/DVD sets) or recorded yourself.

#### The information view of a song

This page allows you to change song parameters, such as speed and timing resolutions and to enter information about the song. The meta data will be used for the tags when creating a final mix-down. The tags show up in your desktop media player or portable media player. While the fields are not mandatory, it is a good idea to fill them.

Info view

The songs info view.

The "beats per minute", "beats" and "ticks per beat" parameters control the timing and measure of the song. "Beats per minute" is the classic "bpm" speed of the song. "beats" determines the beats per measure and "ticks per beat" the granularity. If you like to use quarter notes, "ticks per beats" need to be 4. Thus a straight four to the floor has beats=4 and ticks-per-beat=4. A waltz would use beats=3 and ticks-per-beat=4.

### The status bar

The status bar that is located at the bottom of the window. On the left side it shows the status of longer operations like saving and loading with a text message. It also shows some extra detail in some song views. On the right side, it displays the length of the song, the loop range, the playback position and the current CPU usage.

## Dialog windows

There are various dialogs that are invoked from the main-menu or from context menus.

### The settings window

This window contains all settings for the &app; application. All settings are grouped into categories that can be chosen from the list on the left side.

Settings dialog

Settings dialog.

#### Audio device settings

Select the audiosink to use. It will be changed immediately, except when a song is playing (will be switched after stopping).

Audio device settings

Audio device settings.

All offered audio sinks should be fine for song-playback. One area where they differ is latency. Low latency is important when playing machines live - that is playing notes in the pattern editor or changing parameters in the machine window. The lower the latency, the more immediate the changes are. Jack is known for being able to achieve a low latency, but also a well configured alsa or pulseaudio can achieve a reasonable latency.

For some sinks one can chose the audio device that should be used. For all sinks the sampling rate and audio channels can be configured. This should be set matching the audio sink. If jack is configured to play at 44100 Hz choosing a lower rate might play at lower CPU consumption, but ideally the setting are the same.

The last setting is the target latency. Buzztrax will configure the audio rendering to get close to it. A lower latency is good for live modifications on machines, but also causes a higher CPU load.

#### Interaction controller settings

Machines can be operated using hardware controllers. Buzztrax can use several types of controls, such as USB HID devices (mice, joystick) and alsa midi devices. Right now this settings-page only shows the detected devices. If you don't see anything, your application-package might have been build without gudev support. This will be indicated by a warning message in the settings page as well.

Interaction controller settings

Interaction controller settings.

For some device types such as midi-devices, the available controls can not be auto-detected. Although one can teach these in a simple procedure. Every time such a device is selected, the lean mode will be activated. In this mode one can press the hardware buttons or move sliders and knobs. When this happens, controls not yet in the list will be automatically added, otherwise they will be selected. The selected control can be renamed.

#### Playback controller settings

Buzztrax implements a few protocols to synchronize playback with external applications or devices. This window lists the controls and allows to configure each of them. For each protocol buzztrax can be time master and/or slave (if supported by the protocol or protocol implementation). In master mode, buzztrax would also start the playback of the external side, when the playback inside buzztrax starts. In slave mode, buzztrax would listen to a command from the external side to also start playback when the external side starts. Each of the protocols might show some extra settings below the list when selected.

UPnP A/V remote control via Coherence. (FIXME: explain)

Playback controller settings

Playback controller settings.

#### Color settings

(FIXME: no theme settings yet)

Colors settings

Colors settings.

#### Shortcut settings

(FIXME: no shortcut settings yet)

Shortcut settings

Shortcut settings.

#### Directory settings

Configure default directories used for various file types.

Directory settings

Directory settings.

### Machine properties dialog

Context menus on machine, pattern and sequence page allow to open this property view for the current machine.

The main area of the dialog is covered by the parameters of the machine. These parameter control the generated audio or the effects. If parameters are controlled by patterns, the ui will reflect the changes as the music plays.

Parameters are grouped. There is one group for global parameters and one for each voice (for polyphonic machines). Effects and the master also have a group for each input, allowing to change volume and panorama. These are the same parameters that can be changed on the wire in the machine view. Each group has a context menu, e.g. to copy the settings for the group.

Each parameter has a context menu. The menu allows to bind the parameter to a hardware controller and unbind it. If a parameter is bound, the changes on the hardware controller will effect the parameter. &app; supports hid (e.g joysticks, wiimotes, harddisk accelerometers) and midi devices. For some device types the sub-menu with the controls will start with an entry "Learn ...". This will lead to the controller settings, where new controllers can be taught.

At the top of the dialog is a small toolbar. One button allows to show or hide the right side preset pane. Most machines support presets. Presets are a collection of parameter sets. Other buttons on the toolbar show information about the machine, the help, reset or randomize parameters. The preset pane in turn has a toolbar. One can add, remove and edit preset entries. Rarely machines have built-in presets that are not editable. In such a case the toolbar is disabled.

Machine properties dialog

Machine properties dialog.

Several such dialogs can be opened and the status is saved with the song.

### Machine preferences dialog

Machine preferences are settings that are configured for the whole song. These settings cannot be changed over time. Context menus on machine, pattern and sequence page allow to open this dialog.

Warning

Right now this might also contain some low-level settings, where changing them could break playback.

Machine preferences dialog

Machine preferences dialog.

### Machine rename dialog

Allows renaming a machine. The dialog ensures that the new name is unique in the song.

Machine rename dialog

Machine rename dialog.

### Preset properties dialog

Allows renaming a preset and adding comments for them. The dialog ensures that the new name is unique among the presets of a machine.

Preset properties dialog

Preset properties dialog.

### Signal analysis dialog

The context menu on wires and the master machine allow to attach live signal analyzers to the song. This dialog shows the volume meters and a spectrogram for the wire or the master. There are a few settings to change the visualization of the spectrogram.

Several such dialogs can be opened and the status is saved with the song.

Signal analysis dialog

Signal analysis dialog.

### Pattern properties dialog

Allows renaming a pattern as well as changing its length or the number of voices (for polyphonic machines). The dialog ensures that the new name is unique among the patterns of a machine.

Pattern properties dialog

Pattern properties dialog.

### Song recording dialog

&app; can render a song as a mix-down or a series of files per generator. The mix-down is ideal to share or publish the song. In both cases the recordings can be encoded and muxed in several formats.

Song recording settings dialog

Song recording settings dialog.

Song recording progress dialog

Song recording progress dialog.

### About dialog

This dialog shows a short info about the application, the license it is released under and gives credits to the contributors.

About dialog

About dialog.

### Tip-of-the-day dialog

If the tip-of-the-day feature is enabled in the help menu this dialog is shown each time after starting the application. It will highlight special features that one might otherwise miss.

Tip-of-the-day dialog

Tip-of-the-day dialog.

### Missing song elements dialog

Songs have external dependencies, such as the machines (generators and effects) and sampled wave forms. In some song formats (e.g. .bzt) the wave forms are part of the song file, in others (e.g. .xml) only the path to the waveform file is stored. If loading a file detects that some dependencies are missing, &app; will gather them and present them in one dialog.

To solve the problem one needs to install the missing machines or put the external wave forms back to the original place. It would be desirable to have some repair feature in &app; to support fixing the song.

Missing song elements dialog

Missing song elements dialog.

### Crash recovery dialog

When editing a song &app; is writing a detailed change log to disk. In the case of a application, system or computer failure it is possible to replay the changes on top of the last saved copy to get back to the state before failure. When starting &app; it will check for such logs and if some are found present this dialog. Now one can choose to restore the changes or delete them. The dialog is also available from the file menu.

Crash recovery dialog

Crash recovery dialog.
main menu

## Reference

This chapter contains a few useful lists for reference.

### Keyboard shortcuts

A complete list of keyboard shortcuts is listed on the buzztrax wiki. Each of has a table describing the local keyboard shortcuts.

Index

&app;
buzztrax