Resources

The resources dialog has separate tabs for managing user defined Chords, Arpeggios, Velocity Layers and MIDI Controller Maps. The resources dialog can be accessed via the Windows menu in the Main Dialog, from the machine context menu in the machines view and probably a couple of other places.

Please be aware that there is currently no undo system for the resources. I'll fix it eventually, honest.

Global resources

Global resources are stored in Magic's settings and are always available in any song. From Magic 1.17, changes made to the global resources are saved in the user settings file, "IX Magic User Settings.xml". The content of the user settings file overrides the content in the default settings file, so now if you remove any default content it will stay removed. If for any reason you should need to recover any default content, you can copy it from the default settings file, "IX Magic Settings.xml".

Song resources

When you save a song, any resources used will be saved to the song file. When that song is loaded back into Buzz, Magic will compare the resources in the song file with the global resources and if a loaded resource matches a global resource, the global resource will be used. Resources that only exist in the loaded file will be shown as song resources. Does that makes sense?

Chords

The Chords tab lets you define and edit chord definitions that can be used in a note sequence. A chord definition is a set of intervals which is associated with one or more names. The root note is '1', one semitone up from root is '2' etc. so a simple major triad is defined as "1,5,8". You can define as many chords as you like.

In a note sequence, you can use a predefined chord by simple entering a note name (with optional octave number) followed by any one of the names assigned to the chord eg. "C4Maj" or "C4M". Note that chord names are case sensitive.

Resources dialog showing the Chords tab

Resources dialog showing the Chords tab.

Element Description
Chord List This shows all the chords that have been defined. Right-click on the list to add, duplicate or remove a chord definition.
Chord Names Enter as many names as you like for the chord, separated by commas. Spaces are allowed.
Chord Intervals The list of interval numbers that define the chord, separated by commas.
Global/Song buttons Selects which group of chords are displayed in the list.

Arpeggios

Arpeggios are very similar to chords but an arpeggio definition is a list of steps in a chord, rather than a list of specific intervals. In an arpeggio definition, the root note of the chord is defined as '0' and positive or negative numbers define steps up/down the chord. Arpeggios can also contain other tokens to define the movement. See the Note Sequence reference for details of all the available arpeggio tokens. Note that predefined Arpeggios cannot currently contain the names of other predefined Arpeggios. I'll probably change that at some point.

Resources dialog showing the Arpeggios tab

Resources dialog showing the Arpeggios tab.

Element Description
Arpeggio List Shows all the arpeggios that have been defined. Right-click to add, duplicate or remove an arpeggio.
Arpeggio Names Comma separated list of names by which the selected arpeggio can be referenced. As many as you like and spaces are okay.
Arpeggio Steps See the Note Sequence reference for details of all the available arpeggio tokens.
Global/Song buttons Selects which group of arpeggios are displayed in the list.

Velocity Layers

Velocity Layers define a range of velocity values which can be used with the Event Velocity Range and Velocity Clamp properties. This is useful if you want several Events to have identical velocity settings as you can define the layer once and link as many Events to it as necessary. Changes to the velocity layer will affect all the linked Events simultaneously, avoiding the need to edit each Event individually. You can also simply copy the values from a layer to an Event without linking. Both the link and copy functions can be accessed by right-clicking on the Event velocity controls.

Resources dialog showing the Layers tab

Resources dialog showing the Layers tab.

Element Description
Layers List Shows all the defined layers. Right-click to add, duplicate or remove a layer.
Layer Name Layers only get one name. Awwww.
Lower Limit The lowest velocity value for the layer.
Upper Limit The highest velocity value for the layer.
Global/Song buttons Selects which group of layers are displayed in the list.

MIDI Continuous Controller Maps

Controller Maps let you change the CC names shown in the MIDI Event dialogs. The default map uses the GM names but I've included mappings for the few bits of external MIDI gear I own.

Resources dialog showing the Controller maps tab

Resources dialog showing the Controller Maps tab.

Element Description
Controller Map List Shows the defined mappings. Right-click to add, duplicate or remove a mapping.
Controllers The list of continuous controllers. When you select one, its properties will be displayed in the editing fields.
CC Number Selects which CC to edit.
CC Name Enter a name to display for the selected CC.
Show Named Only If checked, only CCs with names will be displayed in the list.
Global/Song buttons Selects which group of Controller Maps are displayed in the list.
New Button Creates a new mapping. New maps are completely empty.
Remove Button Remove the selected map. Be careful.
Import Button Load a map from disk. Controller maps are saved in .xml format.
Export Button Saves the selected map to an .xml file.

Markers

You can define markers refer to a position in the song. These markers can then be used as position values by Transport Events. For more details on how to specify position values, see Transport Events.

Resources dialog showing the Markers tab

Resources dialog showing the Markers tab.

Element Description
Marker List Shows all the defined markers. Right-click to add, duplicate or remove a marker. Double-click to set Buzz playback position.
Marker Name Marker name is used in the Transport Event position values.
Marker value Position value as ticks, beats or time. Markers cannot reference other markers or special values and cannot be relative values. See position values for more details.
Get Button Sets the marker value to the current playback position.
Global/Song buttons As markers specify a position in a song there are no global markers, so these controls are disabled.