Mobius Reference

December 2010


Contents

1Introduction
2Organization
2.1    Functions
2.1.1        Function Classes
2.1.1.1            Modal Edit Functions
2.1.1.2            Instant Edit Functions
2.1.1.3            Reset Functions
2.1.1.4            Instant Move Functions
2.1.1.5            Loop Trigger Functions
2.1.1.6            Effect Functions
2.1.1.7            Mute Functions
2.1.1.8            Global Functions
2.2    Parameters
2.3    Controls
2.4    Variables
3Functions
3.1    Auto Record
3.2    Backward
3.3    Bounce
3.4    Checkpoint
3.5    Clear
3.6    Focus Lock
3.7    Forward
3.8    Full Speed
3.9    Global Mute
3.10    Global Pause
3.11    Global Reset
3.12    Half Speed
3.13    Insert
3.14    Instant Divide
3.15    Instant Multiply
3.16    Loop
3.17    MIDI Out
3.18    MIDI Start
3.19    MIDI Stop
3.20    Move
3.21    Multiply
3.22    Mute
3.23    Mute + MIDI Start
3.24    MuteOff
3.25    MuteOn
3.26    Mute Realign
3.27    Next Loop
3.28    Next Track
3.29    Overdub
3.30    OverdubOff
3.31    OverdubOn
3.32    Pause
3.33    Pitch Down
3.34    Pitch Next
3.35    Pitch Normal
3.36    Pitch Previous
3.37    Pitch Shift
3.38    Pitch Up
3.39    Play
3.40    Previous Loop
3.41    Previous Track
3.42    Quant MIDI Start Point
3.43    Rate Down
3.44    Rate Next
3.45    Rate Normal
3.46    Rate Previous
3.47    Rate Shift
3.48    Rate Up
3.49    Realign
3.50    Record
3.51    Redo
3.52    Rehearse
3.53    Replace
3.54    Reset
3.55    Retrigger
3.56    Retrigger Once
3.57    Reverse
3.58    Sample
3.59    Save Audio Recording
3.60    Save Loop
3.61    Shuffle
3.62    Slip, Slip Backward, Slip Forward
3.63    Solo
3.64    Speed
3.65    Start Audio Recording
3.66    Start Point
3.67    Stop Audio Recording
3.68    Stutter
3.69    Substitute
3.70    Sustain Insert
3.71    Sustain Multiply
3.72    Sustain Mute
3.73    Sustain Mute Retrigger
3.74    Sustain Next Loop
3.75    Sustain Overdub
3.76    Sustain Previous Loop
3.77    Sustain Record
3.78    Sustain Rehearse
3.79    Sustain Replace
3.80    Sustain Reverse
3.81    Sustain Speed
3.82    Sustain Stutter
3.83    Sustain Substitute
3.84    Sustain Unrounded Insert
3.85    Sustain Unrounded Multiply
3.86    Sync Master Track
3.87    Track
3.88    Track Copy
3.89    Track Copy Timing
3.90    Track Group
3.91    Track Reset
3.92    Trim End
3.93    Trim Start
3.94    Undo
4User Interface Functions
4.1    UI Decrement Parameter
4.2    UI Increment Parameter
4.3    UI Next Parameter
4.4    UI Move Display Components
4.5    UI Previous Parameter
5Preset Parameters
5.1    Auto Record Tempo
5.2    Bounce Quantize
5.3    Empty Loop Action
5.4    Enable Secondary Feedback
5.5    Loops Per Track
5.6    Maximum Redo
5.7    Maximum Tempo
5.8    Maximum Undo
5.9    Minimum Tempo
5.10    Multiply Mode
5.11    Multiply/Insert Rounding
5.12    Mute Cancel
5.13    Mute Mode
5.14    Mute Sync Mode
5.15    No Feedback Undo
5.16    No Layer Flattening
5.17    Out Sync Realign Mode
5.18    Overdub Quantized
5.19    Record Transfer
5.20    Overdub Transfer
5.21    Pitch Sequence
5.22    Pitch Shift Retrigger
5.23    Pitch Transfer
5.24    Quantize Mode
5.25    Rate Sequence
5.26    Rate Shift Retrigger
5.27    Rate Transfer
5.28    Realign Time
5.29    Record Beats/Bar
5.30    Record Resets Feedback
5.31    Record Speed Changes
5.32    Record Threshold
5.33    Return Location
5.34    Reverse Transfer
5.35    Shuffle Mode
5.36    Slip Mode
5.37    Slip Time
5.38    Sound Copy Mode
5.39    Speed Sync Adjust
5.40    Subcycles
5.41    Switch Duration
5.42    Switch Location
5.43    Switch Quantize
5.44    Switch Sync Adjust
5.45    Switch Velocity Sensitive
5.46    Sync Mode
5.47    Time Copy Mode
5.48    Track Copy
5.49    Track Sync Mode
5.50    Unrounded Sync Adjust
6Track Parameters
6.1    Focus Lock
6.2    Group
6.3    Preset
6.4    Preset Number
7Track Controls
7.1    Feedback
7.2    Input Level
7.3    Output Level
7.4    Pan
7.5    Secondary Feedback
8Global Parameters
8.1    16 Bit Wave Files
8.2    Audio Input Device
8.3    Audio Output Device
8.4    Bindings
8.5    Custom Message File
8.6    Drift Check Point
8.7    Drift Resync Frames
8.8    Dual Plugin Edit Window
8.9    Fade Frames
8.10    Focus Lock Functions
8.11    Groups Have Focus Lock
8.12    Host MIDI Status Export
8.13    Input Latency
8.14    Isolate Overdubs
8.15    Long Press Milliseconds
8.16    Max Loops Per Track
8.17    Message Duration
8.18    MIDI Input
8.19    MIDI Output
8.20    MIDI Record Pulsed
8.21    MIDI Status Export
8.22    MIDI Through
8.23    Modes Ignoring Secondary Feedback
8.24    Monitor Audio Input
8.25    Mute Cancel Functions
8.26    Noise Floor
8.27    Output Latency
8.28    Plugin MIDI Inputs
8.29    Plugin MIDI Outputs
8.30    Plugin MIDI Through
8.31    Plugin Ports
8.32    Quick Save File
8.33    Rate/Pitch Shift Range
8.34    Reduce Feedback During Overdub
8.35    Save Project Layers
8.36    Selected Track
8.37    Setup
8.38    Trace Debug Level
8.39    Trace Print Level
8.40    Track Groups
8.41    Tracks
9Variables
9.1    Script State
9.1.1        clickCount
9.1.2        midiChannel
9.1.3        midiNumber
9.1.4        midiType
9.1.5        midiValue
9.1.6        returnCode
9.1.7        sustainCount
9.1.8        triggerNumber
9.1.9        triggerOffset
9.1.10        triggerValue
9.2    Loop Sizes
9.2.1        cycleCount
9.2.2        cycleFrame
9.2.3        cycleFrames
9.2.4        cycleNumber
9.2.5        layerCount
9.2.6        loopCount
9.2.7        loopFrame
9.2.8        loopFrames
9.2.9        loopNumber
9.2.10        redoCount
9.2.11        subCycleNumber
9.2.12        subCycleFrame
9.2.13        subCycleFrames
9.2.14        subCycleCount
9.3    Loop Events
9.3.1        nextEvent
9.3.2        nextEventFunction
9.3.3        nextLoop
9.4    Loop Modes
9.4.1        effectiveFeedback
9.4.2        inHalfSpeed
9.4.3        inMute
9.4.4        inOverdub
9.4.5        inPause
9.4.6        inRealign
9.4.7        inReturn
9.4.8        inReverse
9.4.9        isRecording
9.4.10        mode
9.4.11        rate
9.4.12        rawPitch
9.4.13        rawRate
9.4.14        scalePitch
9.4.15        scaleRate
9.5    Track State
9.5.1        globalMute
9.5.2        outSyncMaster
9.5.3        solo
9.5.4        track, trackNumber
9.5.5        trackCount
9.5.6        trackSyncMaster
9.6    Generic Sync
9.6.1        basePulseFrames
9.6.2        externalPulse
9.6.3        externalPulses
9.6.4        preRealignFrame
9.6.5        preRealignPulseFrame
9.6.6        pulseFrame
9.6.7        pulseFrames
9.6.8        pulseLoopFrame
9.6.9        recordCyclePulses
9.6.10        syncBeat
9.6.11        syncBar
9.6.12        syncDrift
9.6.13        syncDriftChecks
9.6.14        syncRawBeat
9.6.15        syncRealigns
9.6.16        tempo
9.7    Out Sync
9.7.1        syncOutBar
9.7.2        syncOutBeat
9.7.3        syncOutRawBeat
9.7.4        syncOutSending
9.7.5        syncOutStarted
9.7.6        syncOutStarts
9.7.7        syncOutTempo
9.8    MIDI Sync
9.8.1        syncInBar
9.8.2        syncInBeat
9.8.3        syncInRawBeat
9.8.4        syncInReceiving
9.8.5        syncInStarted
9.8.6        syncInTempo
9.9    Host Sync
9.9.1        syncHostBar
9.9.2        syncHostBeat
9.9.3        syncHostRawBeat
9.9.4        syncHostReceiving
9.9.5        syncHostStarted
9.9.6        syncHostTempo
9.10    Miscellaneous
9.10.1        blockFrames
9.10.2        configurationDirectory
9.10.3        installationDirectory
9.10.4        noExternalAudio
9.10.5        sampleFrames

1 Introduction

In this manual we will document every function, control, parameter, and variable that exists in Mobius. Some of these are intended for use only in scripts so you will not see them in the binding windows. Unlike the other manuals, this one is not intended to be read from top to bottom. The sections will be arranged alphabetically to make them easier to locate.

In some cases a function, control, or parameter may have already been well documented in another manual, particularly Getting Started With Mobius and Mobius Techniques. In those cases rather than duplicate all the material we will present a brief summary here, then have a link to the other manual.

2 Organization

Mobius has a lot of "things" in it that can be controlled with external triggers and used in scripts. Some of these things behave in a similar way though we talk about them using different names. Here we will review the major categories of things and discuss how they are similar and different.

Note that in the documentation, many things will have a "display name" and an "internal name". The display name is usually the title of the section that documents the thing and is the name you will see in the user interface. The internal name is the name you must used to refer to this thing in a script. Usually they are similar. if the display name contains spaces the spaces will be removed in the internal name. Display names always start with a capital letter, internal names for parameters always start with a lower case letter. A few internal names will use abbreviations or fewer words than the display name.

2.1 Functions

A function is a named action performed by Mobius at the request of the user. Examples include Record, Overdub, and Reset. Causing a function to be performed is called executing the function.

Functions are normally bound to a trigger that is a button of some kind such as a MIDI note or a computer keyboard key. Functions do not have a numeric value so they are not bound to MIDI continuous control pedals. Functions operate in one of three ways: instant, sustain, and modal.

Instant functions happen immediately. Sustain functions start when you press the trigger and end when you release the trigger. Modal functions start when you press the trigger the first time, and end when you press another trigger.

2.1.1 Function Classes

We divide functions in to several classes. These classes are mostly just to help document the functions by showing the ones that have similar behavior. You don't really need to know about function classes except for one special case: the Mute Cancel parameter.

2.1.1.1 Modal Edit Functions

The functions in this class all cause Mobius to enter a mode which causes the function to execute over a span of time. Here you will find the two most common functions, Record and Overdub. All but one modal edit function has both a sustain and a non-sustain version. They are called "edit" functions because they can change the loop in some way.

2.1.1.2 Instant Edit Functions

The functions in this class all cause Mobius to modify the loop instantly, though some may be delayed due to quantization. They are "edit" functions because they all change the loop in some way and result in the generation of a new layer.

2.1.1.3 Reset Functions

The functions in this class cause loops to be reset and all their content discarded. In a way they are similar to Instant Edit Functions except they do not create new layers.

2.1.1.4 Instant Move Functions

The functions in this class happen instantly and cause Mobius to change the playback position of the loop. They do not modify the loops or layers.

2.1.1.5 Loop Trigger Functions

The functions in this class select the loop within a track to play. Usually this is a different loop than the one currently playing but some simply retrigger the current loop. This class of function is very important because most of them have loop switch behavior which can be quite complex.

2.1.1.6 Effect Functions

The functions in this class apply a temporary non-destructive effect to the loop. These functions will not generate a new layer unless they are used in combination with another editing function.

2.1.1.7 Mute Functions

The functions in this class all perform some form of mute, temporarily silencing the loop. They are similar to Effect Functions in that they are temporary and non-destructive. But it is important that they have their own class because it is used to define the behavior of the Mute Cancel Functions parameter.

2.1.1.8 Global Functions

The functions on this class do not operate directly on loops. Instead they operate on tracks or the entire collection of tracks.

2.2 Parameters

A parameter is named value that can be changed to control how Mobius behaves. There are three categories of parameters: global parameters, track parameters and preset parameters.

Global parameters control general operating characteristics such as whether input monitoring is enabled, or the amount of latency compensation.

Preset parameters change the way functions are performed, examples include Record Threshold, Quantize Mode, and Sync Mode. Most of the time when we talk about parameters we're referring to preset parameters.

Track parameters control a few characteristics of each track such as the track name, group number, and input focus. These are relatively unusual and are used mostly in scripts.

Parameters have a type which determines how they are shown in the UI and used in scripts.

Parameters can be bound to triggers such as MIDI events but this is relatively unusual. More often parameters are set in scripts that are bound to MIDI triggers. If you do bind a MIDI trigger to a parameter, you should use a MIDI continuous controller. This is because unlike functions parameters have a ranged value and you need a trigger that can sweep over all the values in the range.

2.3 Controls

A control is a named value that controls how audio is recorded and played in a track. Controls are similar to track Parameters but their values are always integers and they have a larger range than most parameters. They are usually set by a MIDI device that sends continuous controller messages such as a rotating knob or a foot pedal.

There are five built-in controls: Input Level, Output Level, Feedback, Secondary Feedback, and Pan.

2.4 Variables

So far we haven't talked much about variables because you don't see them in the user interface and you can't bind triggers to them. They are however very important in scripts.

A variable is similar to a parameter, it is a named value that holds information about the current Mobius state. Unlike parameters though, most variables cannot be changed. They can only be read in scripts and used to make decisions. Variables change as a side effect of normal Mobius operation.

For example the variable loopFrame has the current playback position in the current loop of the active track. You might think that setting this value would cause the playback position to move but this is not allowed. Intsead you must use the Move function to change the playback position.

There are many variables, some are frequently used in scripts, others are esoteric and intended only for unit testing.

3 Functions

3.1 Auto Record

Internal name: AutoRecord

3.2 Backward

Internal name: Backward

3.3 Bounce

Internal name: Bounce

A modal function that starts or stops a bounce recording. The contents of the playing tracks may be mixed and copied to an empty track, automatically muting the source tracks after the bounce.

See the section Bounce Recording in Mobius Techniques for more information.

3.4 Checkpoint

Internal name: Checkpoint

Creates a new layer checkpoint and collapses the display of layers between the new checkpoint and the last checkpoint.

See the section Layer Management With Checkpoints in Mobius Techniques for more information.

3.5 Clear

Internal name: Clear

Erasees the current contents of the loop, leaving an empty loop of the same size as the original. A new layer is created so you can use Undo to return to the original loop.

3.6 Focus Lock

Internal name: FocusLock

3.7 Forward

Internal name: Forward

3.8 Full Speed

Internal name: Fullspeed

3.9 Global Mute

Internal name: GlobalMute

Mute all tracks that are currently playing, but do not unmute any tracks that are currently muted. After using Global Mute, if you use it a second time, it will unmute only those tracks that were originally playing. Note that this is different than simply toggling the current mute state in all tracks.

3.10 Global Pause

Internal name: GlobalPause

Pause all tracks that are currently playing, but do not pause any tracks that are currently paused. After using Global Pause a second time, it will unpause only those tracks that were playing previously. Note that this is different than simply toggling the current pause state in all tracks.

3.11 Global Reset

Internal name: GlobalReset

Perform the Track Reset function in all tracks.

After a Global Reset the track state will be restored from the currently selected Track Setup.

3.12 Half Speed

Internal name: HalfSpeed

3.13 Insert

Internal name: Insert

3.14 Instant Divide

Internal names: Divide, Divide2, Divide3, Divide4

Performans an immediate divide of the loop. These are similar to the Instant Multiply functions except they work in the other direction, cutting the loop into smaller pieces then selecting one of those pieces.

In the binding windows you will see the functions Instant Divide 2, Instant Divide 3 and Instant Divide 4. These are all just variants of the Divide script function with a fixed divisor.

The function with internal name Divide may only be used in scripts. The divisor is specified as an argument to the function. For example:


    Divide 6

Using the Divide script function you can have any divisor you want, even one calculated by an expression. But since we can't yet enter arguments and expressions in the binding windows, you can only directly bind to one of the three instant divide functions that have a fixed multiplier in their names..

In scripts you can use both the Divide function that takes an argument as well as the internal names of the divide funtions with a fixed divisor. These two script statements will have the same effect.


    # here the divisor is part of the function name

    Divide4



    # here the divisor is an argument

    Divide 4

3.15 Instant Multiply

Internal name: InstantMultply, InstantMultiply2, InstantMultiply3, InstantMultiply4

Performs an immediate multiply of the loop. This differs from the Multiply function in that the loop is not extended over time. The current loop is simply copied, then those copies are appended some number of times. The number of cycles will be multipled by the same amount but the cycle length remains the same.

In the binding windows you will see the functions Instant Multiply 2, Instant Multiply 3 and Instant Multiply 4. These are all just variants of the InstantMultiply script function with a fixed multiplier.

The function with internal name InstantMultiply may only be used in scripts. The multiplier is specified as an argument to the function. For example:


    InstantMultiply 6

Using the InstantMultiply script function you can have any multiplier you want, even one calculated by an expression. But since we can't yet enter arguments and expressions in the binding windows, you can only directly bind to one of the three instant multiply functions that have a fixed multiplier in their names.

In scripts you can use both the InstantMultiply function that takes an argument as well as the internal names of the funtions with a fixed multiplier. These two script statements will have the same effect.


    # here the multiplier is part of the function name

    InstantMultiply4



    # here the multiplier is an argument

    InstantMultiply 4

3.16 Loop

Internal name: Loop1 through Loop8

Trigger the numbered loop in the current track. If the track does not have that number of loops the function will have no effect. This is a loop switch function.

3.17 MIDI Out

Internal name: MidiOut

Sends a message to all of the configured MIDI output devices. This function is accessible only from scripts.

3.18 MIDI Start

Internal name: MidiStart

Waits for the loop start point, then sends a MIDI Start message to all of the configured MIDI output devices.

See also Mute + MIDI Start which will first mute the loop.

3.19 MIDI Stop

Internal name: MidiStop

Sends the MIDI Stop message immediately to all of the configured MIDI output devices.

3.20 Move

Internal name: Move

This function is available only in scripts.

3.21 Multiply

Internal name: Multiply

3.22 Mute

Internal name: Mute

3.23 Mute + MIDI Start

Internal name: MuteMidiStart

3.24 MuteOff

Internal name: MuteOff

This function is available only in scripts.

3.25 MuteOn

Internal name: MuteOn

This function is available only in scripts.

3.26 Mute Realign

Internal name: MuteRealign

3.27 Next Loop

Internal name: NextLoop

3.28 Next Track

Internal name: NextTrack

Active the next track. The active track will have input focus meaning that it will response to button, key, and MIDI events. If the previously active track was running, it will still be running.

3.29 Overdub

Internal name: Overdub

3.30 OverdubOff

Internal name: OverdubOff

Turn overdub off. If overdub is already off this will have no effect. This function is only accessible from scripts.

3.31 OverdubOn

Internal name: OverdubOn

Turn overdub on. If overdub is already on this will have no effect. This function is only accessible from scripts.

3.32 Pause

Internal name: Pause

Mute the track and freeze the playback and record positions. The effect is similar to pressing the pause button on a tape deck. When pause is released, the track will continue playing and recording from the same position. This behavior is also available with the Mute function if the Mute Mode parameter is set to Pause.

3.33 Pitch Down

Internal name: PitchDown

Decrease the pitch one semitone.

3.34 Pitch Next

Internal name: PitchNext

Move to the next pitch in the pitch sequence. If you are currently at the end of the sequence, move to the first pitch in the sequence. See the Pitch Sequence parameter for more information on defining a pitch sequence.

3.35 Pitch Normal

Internal name: PitchNormal

Return the pitch to normal.

3.36 Pitch Previous

Internal name: PitchPrevious

Move to the previous pitch in the pitch sequence. If you are currently at the beginning of the sequence, move to the last pitch in the sequence. See the Pitch Sequence parameter for more information on defining a pitch sequence.

3.37 Pitch Shift

Internal name: PitchShift

Change the pitch up or down any number of semitones. This function can be used in scripts and bound to a trigger but it will behave differently in those contexts. When used in a script the amount of pitch change must be specified as a function argument.

Script examples:


   PitchShift 5

   PitchShift -7

When bound to a trigger, it must be bound to a "ranged" trigger such as a MIDI note or MIDI continuous controller. It is almost always bound to a MIDI note from a keyboard so you can adjust pitch shift chromatically by playing the keyboard.

The value of the note in the binding becomes the center point of the shift range. If you press this note the pitch returns to normal. If you press notes on either side of the center note, the pitch will be raised or lowered by the corresponding number of semitones.

3.38 Pitch Up

Internal name: PitchUp

Increase the pitch one semitone.

3.39 Play

Internal name: Play

End the current mode and return to play mode. This is like a universal mode cancel function. It will get you out of modes like Insert, Multiply, Rehearse, Replace, Substitute, Overdub, and Mute and to Play mode. It does not cancel minor modes like Reverse or Half Speed. It can also be used to cancel a loop switch when confirmation is on, since normally Undo is used as a confirming action.

3.40 Previous Loop

Internal name: PrevLoop

Trigger the previous loop in the current track. This is similar to the Next Loop function but goes in the other direction.

3.41 Previous Track

Internal name: PrevTrack

Active the previous track. See also Next Track.

3.42 Quant MIDI Start Point

Internal name: QuantMidiStartPoint

Wait until the next external start point, then perform the Start Point function to align the loop start point with the external start point.

3.43 Rate Down

Internal name: RateDown

Decrease the playback rate to achieve a one semitone drop in pitch.

3.44 Rate Next

Internal name: RateNext

Move to the next playback rate in the rate sequence. If you are currently at the end of the sequence, move to the first rate in the sequence. See the Rate Sequence parameter for information on defining rate sequences.

3.45 Rate Normal

Internal name: RateNormal

Return the playback rate to normal.

3.46 Rate Previous

Internal name: RatePrevious

Move to the previous playback rate in the rate sequence. If you are currently at the beginning of the sequence, move to the last rate in the sequence. See the Rate Sequence parameter for information on defining rate sequences.

3.47 Rate Shift

Internal name: RateShift

Change the rate up or down any number of semitones. This function can be used in scripts and bound to a trigger but it will behave differently in those contexts. When used in a script the amount of rate change must be specified as a function argument.

Script examples:


   RateShift 5

   RateShift -7

When bound to a trigger, it must be bound to a "ranged" trigger such as a MIDI note or MIDI continuous controller. It is almost always bound to a MIDI note from a keyboard so you can adjust rate shift chromatically by playing the keyboard.

The value of the note in the binding becomes the center point of the shift range. If you press this note the rate returns to normal. If you press notes on either side of the center note, the rate will be raised or lowered by the corresponding number of semitones.

3.48 Rate Up

Internal name: RateUp

Increase the playback rate to achieve a one semitone rise in pitch.

3.49 Realign

Internal name: Realign

3.50 Record

Internal name: Record

3.51 Redo

Internal name: Redo

Returns to a layer that had previously been undone. The number of layers that may be redone is controlled by the Max Redo Layers preset parameter.

3.52 Rehearse

Internal name: Rehearse

3.53 Replace

Internal name: Replace

3.54 Reset

Internal name: Reset

3.55 Retrigger

Internal name: Retrigger

3.56 Retrigger Once

Internal name: RetriggerOnce

3.57 Reverse

Internal name: Reverse

See also Forward and Backward.

3.58 Sample

Internal names:Sample, Sample1 through Sample8

Begin playback of a configured sample. See Samples for more information.

3.59 Save Audio Recording

Internal name: SaveAudioRecording

Save the audio captured by the Start Audio Recording function to a file.

3.60 Save Loop

Internal name: SaveLoop

Perform a "quick save" of the current loop.

3.61 Shuffle

Internal name: Shuffle

3.62 Slip, Slip Backward, Slip Forward

Internal names: Slip, SlipBackward, SlipForward

The Slip Forward and Slip Backward functions allow you to instantly move the playback position forward or backward. The effect is similar to a Retrigger, except that you have more control over where the new playback position will be.

The amount of slippage is determined by two preset parameters: Slip Mode and Slip Time. The Slip Mode. parameter may have one of these values.

Next SubcyclePlayback jumps to the next subcycle boundary.
Next CyclePlayback jumps to the next cycle boundary. If there is only one cycle in the loop, the effect is identical to Retrigger.
Next LoopPlayback jumps to the loop boundary. The effect is identical to Retrigger.
Relative SubcyclePlayback jumps an amount equal to one subcycle, relative to the current position. The ending position may not be on a subcycle boundary.
Relative CyclePlayback jumps an amount equal to one cycle, relative to the current position. The ending position may not be on a cycle boundary. If there is only one cycle in the loop, this will have no affect.
MillisecondsPlayback jumps a configurable number of milliseconds.

When Slip Mode is set to Milliseconds the amount of slippage is determined by the Slip Time parameter. This is set to a positive integer number of milliseconds. For example, slip time value of 1000 would cause the Slip Forward function to slip forward 1 second.

3.63 Solo

Internal name: Solo

Mute all tracks other than the active track, unmute the active track if it is currently muted. If you immediately use Solo again, it will restore the mute state of all tracks to what it was before the first Solo.

3.64 Speed

Internal name: Speed

3.65 Start Audio Recording

Internal name: StartAudioRecording

Begin capturing audio being sent to the output device.

3.66 Start Point

Internal name: StartPoint

3.67 Stop Audio Recording

Internal name: StopAudioRecording

Stop capturing audio being sent to the output device.

3.68 Stutter

Internal name: Stutter

3.69 Substitute

Internal name: Substitute

3.70 Sustain Insert

Internal name: SUSInsert

3.71 Sustain Multiply

Internal name: SUSMultiply

3.72 Sustain Mute

Internal name: SUSMute

3.73 Sustain Mute Retrigger

Internal name: SUSMuteRetrigger

3.74 Sustain Next Loop

Internal name: SUSNextLoop

3.75 Sustain Overdub

Internal name: SUSOverdub

3.76 Sustain Previous Loop

Internal name: SUSPrevLoop

3.77 Sustain Record

Internal name: SUSRecord

3.78 Sustain Rehearse

Internal name: SUSRehearse

3.79 Sustain Replace

Internal name: SUSReplace

3.80 Sustain Reverse

Internal name: SUSReverse

3.81 Sustain Speed

Internal name: SUSSpeed

3.82 Sustain Stutter

Internal name: SUSStutter

3.83 Sustain Substitute

Internal name: SUSSubstitute

3.84 Sustain Unrounded Insert

Internal name: SUSUnroundedInsert

3.85 Sustain Unrounded Multiply

Internal name: SUSUnroundedMultiply

3.86 Sync Master Track

Internal name: SyncMasterTrack

3.87 Track

Internal names: Track, Track1 through Track8

3.88 Track Copy

Internal name: TrackCopy

Copies the audio content of the adjacent track on the left into the current track.

3.89 Track Copy Timing

Internal name: TrackCopyTiming

Copies the timing of the adjacent track on the left into the current track.

3.90 Track Group

Internal name: TrackGroup

Assign the track to the next track group, or remove the assignment if the track is already in the last group. A long press will always remove the assignment. By default there are 4 groups, so successive calls of the Next Group function would assign group 1, 2, 3, 4, then back to no assignment.

3.91 Track Reset

Internal name: TrackReset

Reset all loops in the track. The track state will be restored from the current Track Setup.

Prior to version 1.42 this was called General Reset.

3.92 Trim End

Internal name: TrimEnd

Removes the content of the loop from the current frame to the end. This is the same as doing an unrounded multiply to the end, but requires only one function.

3.93 Trim Start

Internal name: TrimStart

Removes the content of the loop from the beginning to the current frame. This is the same as doing an unrounded multiply from the beginning but requires only one function>

3.94 Undo

Internal name: Undo

4 User Interface Functions

Functions beginning with the string "UI" apply to he Mobius user interface. Most of these have no effect on how Mobius behaves, they just change things in the user interface. They are most commonly bound to computer keyboard keys since you are usually not playing an instrument when you use them.

4.1 UI Decrement Parameter

Internal name: decParameter

Decrement the current parameter value in the Instant Parameters display component.

4.2 UI Increment Parameter

Internal name: incParameter

Increment the current parameter value in the Instant Parameters display component.

4.3 UI Next Parameter

Internal name: nextParameter

Move to the next parameter in the Instant Parameters display component.

4.4 UI Move Display Components

Internal name: spaceDrag

This function must be bound to a Sustainable Trigger. While the trigger is held down, the components in the status area will be drawn with outline borders and may be moved. See Customizing the Status Area in Exploring Mobius for more information.

4.5 UI Previous Parameter

Internal name: prevParameter

Move to the previous parameter in Instant Parameters display component.

5 Preset Parameters

A preset is a named collection of parameter that effect how looping functions will be performed. While you can change parameters individually using MIDI or scripts, you will usually change parameters in bulk by selecting presets.

You may need only one preset, or you may define several with parameters chosen for different looping styles. Each track has an active preset that may be changed at any time, even while a loop is playing. Each track may have a different active preset.

All preset parameters can be changed in scripts but these changes are not permanent. Parameters changed in scripts will only live until a new preset is selected, or until the Track Reset or Global Reset functions are executed.

Some parameters are available for binding in the binding windows. You would normally bind them to a trigger that can generate a range of values such as a MIDI expression pedal.

5.1 Auto Record Tempo

Internal name: recordTempo

5.2 Bounce Quantize

Internal name: bounceQuantize

Internal values: off, subCycle, cycle, loop

Selects the quantization level to be used with the Bounce Record function.

5.3 Empty Loop Action

Internal name: emptyLoopAction

Internal values: none, record, copy, copyTiming

5.4 Enable Secondary Feedback

Internal name: altFeedbackEnable

Internal values: true, false

5.5 Loops Per Track

Internal name: loopCount

5.6 Maximum Redo

Internal name: maxRedo

The maximum number of layers will retain for redo.

5.7 Maximum Tempo

Internal name: maxTempo

5.8 Maximum Undo

Internal name: maxUndo

The maximum number of layers will retain for undo.

5.9 Minimum Tempo

Internal name: minTempo

5.10 Multiply Mode

Internal name: multiplyMode

Internal values: normal, simple

5.11 Multiply/Insert Rounding

Internal name: roundMode

5.12 Mute Cancel

Internal name: muteCancel

Internal values: never, edit, trigger, effect, custom, allways

The Mute Cancel parameter controls whether mute mode is canceled when using other functions. The value may be the name of a function class or it may be an explicit list of function names. See the Function Classes section for more information on classes.

This table shows the allowed values for the Mute Cancel parameter:

NeverMute mode is not canceled until you use another Mute function. Note that mute may still be temporarily canceled with global functions such as Solo.
EditsMute mode is canceled whenever a function that modifies the loop is used. This includes both the Modal Edit and Instant Edit functions.
TriggersMute mode is canceled by the Modal Edit and Instant Edit functions as well as the Trigger functions such as Next Loop, Retrigger, etc.
EffectsMute mode is canceled by the Modal Edit, Instant Edit, and Trigger functions as well as the Effect functions such as Reverse, Halfspeed, etc.
CustomThe functions that cancel mute mode may be individually selected.

When Mute Cancel is set to Custom the functions that cancel mute mode are defined by the global parameter named (surprisingly) Mute Cancel Functions. This parameter is set in the Global Parameters dialog, it cannot have a different value in each preset. To select the functions that cancel mute mode, move them from the left panel to the right panel.

5.13 Mute Mode

Internal name: muteMode

Internal values: continue, start, pause

5.14 Mute Sync Mode

Internal name: muteSyncMode

Internal values: transport, transportClocks, clocks, none

5.15 No Feedback Undo

Internal name: noFeedbackUndo

When true, suppresses the retention of layers when the only change made to them during the last iteration was the application of feedback.

5.16 No Layer Flattening

Internal name: noLayerFlattening

When checked, Mobius will not merge the content fed back from the previous layer with new content while the layer is recorded. Instead, the content of each layer will be merged dynamically as the loop plays. This can be useful as a technique but requires more CPU overhead. See the Layer Flattening section in Exploring Mobius for more information.

5.17 Out Sync Realign Mode

Internal name: outRealignMode

Internal values: midiStart, retrigger

5.18 Overdub Quantized

Internal name: overdubQuantized

5.19 Record Transfer

Internal name: recordTransfer

Internal values: off, follow

Controls how record mode is carried forward when switching loops. If set to Off what happens after the switch is determined by the Empty Loop Action parameter. If set to Follow then the next loop will always be reset and a new recording will begin immedidately.

This duplicates a relatively obscure EDP feature where ending a recording with a loop switch with the Auto Record parameter set to true would unconditionally start recording in the next loop.

5.20 Overdub Transfer

Internal name: overdubTransfer

Internal values: off, follow, restore

Controls how overdub mode is carried forward when switching loops. If set to Off overdub mode is always off after switching loops. If set to Follow the overdub mode in the current loop is carried forward to the next. If set to Remember the overdub mode of a loop is remembered when leaving the loop, and restored when returning to it.

5.21 Pitch Sequence

Internal name: pitchSequence

Same as Rate Sequence but defines a sequence for the itch Shift function that changes pitch without changing tempo.

5.22 Pitch Shift Retrigger

Internal name: pitchShiftRetrigger

When checked, causes the loop to be retriggered whenever the rate changes with the PitchUp, PitchDown, PitchNormal, PitchNext, PitchPrev, and PitchShift functions.

5.23 Pitch Transfer

Internal name: pitchTransfer

Internal values: off, follow, restore

Controls how Pitch Shift is carried forward when switching loops. If set to Off pitch is always returned to normal after switching loops. If set to Follow the pitch of the current loop is carried forward to the next. If set to Remember the pitch of a loop is remembered when leaving the loop, and restored when returning to it.

5.24 Quantize Mode

Internal name: quantize

5.25 Rate Sequence

Internal name: rateSequence

May be set to a space delimited list of numbers which represent positive or negative rate changes in semitone increments. For example a rate of "1" is one semitone above normal, a rate of "-7" is 7 semitones below normal (or a perfect fifth lower). Once a rate sequence is defined, the rate may be changed using the Rate Next and Rate Previous functions.

See also Pitch Sequence

5.26 Rate Shift Retrigger

Internal name: rateShiftRetrigger

When checked, causes the loop to be retriggered whenever the rate changes with the RateUp, RateDown, RateNormal, RateNext, RatePrev, and RateShift functions.

5.27 Rate Transfer

Internal name: autoRecord

Internal values: off, follow, restore

Controls how both the Half Speed and Rate Shift modes are carried forward when switching loops. If set to Off rate is always returned to normal after switching loops. If set to Follow the current rate is carried forward to the next loop. If set to Remember the rate of a loop is remembered when leaving the loop, and restored when returning to it.

5.28 Realign Time

Internal name: realignTime

Internal values: immediate, subcycle, cycle, loop, external

5.29 Record Beats/Bar

Internal name: recordBeats

5.30 Record Resets Feedback

Internal name: recordResetsFeedback

5.31 Record Speed Changes

Internal name: rateRecord

5.32 Record Threshold

Internal name: recordThreshold

5.33 Return Location

Internal name: returnLocation

Internal values: follow, restore, start, random

5.34 Reverse Transfer

Internal name: reverseTransfer

Internal values: off, follow, restore

Controls how reverse mode is carried forward when switching loops. If set to Off the direction is always forward after switching loops. If set to Follow the direction of the current loop is carried forward to the next. If set to Remember the direction of a loop is remembered when leaving the loop, and restored when returning to it.

5.35 Shuffle Mode

Internal name: shuffleMode

5.36 Slip Mode

Internal name: slipMode

5.37 Slip Time

Internal name: slipTime

5.38 Sound Copy Mode

Internal name: soundCopyMode

When performing a loop copy because Empty Loop Action was set to Copy, this parameter specifies the mode you want to be in after the copy. By default this is Multiply mode, but you may also select Play, Overdub, or Insert modes.

5.39 Speed Sync Adjust

Internal name: speedSyncAdjust

5.40 Subcycles

Internal names: subcycles, 8thsPerCycle

5.41 Switch Duration

Internal name: switchDuration

5.42 Switch Location

Internal name: switchLocation

5.43 Switch Quantize

Internal name: switchQuantize

5.44 Switch Sync Adjust

Internal name: switchSyncAdjust

5.45 Switch Velocity Sensitive

Internal name: switchVelocity

The Switch Velocity Sensitive parameter can be used to adjust the output level of the track when switching loops. This can only be used when the function trigger is a MIDI key event from a keyboard that supports velocity sensitivity. This is a boolean option that is either on or off.

This is most commonly used with the loop switch functions that switch to a specific loop: Loop Trigger 1, Loop Trigger 2, etc. See the Next Loop section for a list of all the loop switch fucntions.

After the loop switch, the output level of the track is set to the MIDI velocity from the key event so if you press the key hard (velocity 127) the output level should at maximum, and if you press the key softly the output level will be lower, but always greater than zero.

This option is typically used with the Switch Location set to Start and Switch Duration set to Once. With these settings you can "play" the loops like a keyboard sampler with velocity sensitivity.

5.46 Sync Mode

Internal name: syncMode

5.47 Time Copy Mode

Internal name: timeCopyMode

When performing a loop time copy because Empty Record Action was set to Copy Timing, this parameter specifies the mode you want to be in after the copy. By default this is Insert mode, but you may also select Play, Overdub, or Multiply modes.

5.48 Track Copy

Internal name: trackCopy

Determines what happens when you activate a track that has no content. If the value is Timing, the timing of the active loop in the last track will be copied into a new loop in the new track. If the value is Sound, the content of the active loop in the last track is copied into the new track.

5.49 Track Sync Mode

Internal name: trackSyncMode

Internal values: off, subCycle, cycle, loop

5.50 Unrounded Sync Adjust

Internal name: unroundedSyncAdjust

6 Track Parameters

Each track has a few parameters that are set in the Track Setup. These will have their initial values specified in the Track Setup but they may be changed in scripts.

6.1 Focus Lock

Internal name: focus

This is a boolean parameter that when true indicates that the current track has focus lock. The parameter may also be set with the Focus Lock function or by clicking on the Track Number in the track strip.

Script example:


    set focus true

    FocusLock 

6.2 Group

Internal name: group

This is an integer parameter that has the number of the track group in the current track. If the value is zero there is no track group. Positive group numbers are displayed as letters in the user interface. Group 1 is displayed as A group 2 is displayed as B etc. When setting this from scripts you may use either numbers staring from 1 or letters starting from A.

Script example:


    set group 1

    set group A

6.3 Preset

Internal name: preset

This parameter has the name of the preset that is active in the track. When setting this from scripts you may use either the preset name or the preset number from 1. While you can set this with a track parameter it is preferable in scripts to use the Preset built-in script function.

Script example:


    set preset 1

    set preset "My Preset"

    Preset 1

    Preset "My Preset"

6.4 Preset Number

Internal name: presetNumber

7 Track Controls

Track controls are really just Track Parameters but we call them controls because the values of these parameters is different than the others. A control value ranges from 0 to 127 and is almost always bound to a MIDI expression pedal.

7.1 Feedback

Internal name: feedback

Feedback controls how the loop decays over time. With feedback set at 127 the loop does not decay, it will play that way forever or until you change it with looping functions. With feedback reduced the loop will gradually become softer every time it plays until it eventually decays to silence. A common looping technique is to use Overdub with feedback reduced. You can keep adding new layers to the loop but old layers will decay. In this way you can create evolving loops that change gradually over time.

For more on using feedback see the Using Feedback section in Getting Started With Mobius.

7.2 Input Level

Internal name: input

Input Level controls the amount of attenuation (volume reduction) applied to the audio stream coming in from the audio interface or the plugin host. A value of 127 means that the audio is unmodified. Lowering the value attenuates the audio using an approximate logarithmic curve. Usually input level is left all the way up, but you may want to reduce it if you have different instruments routed to each track and you want to balance their input levels.

7.3 Output Level

Internal name: output

Output Level controls the amount of attenuation applied to the track output as it is sent to the audio device or plugin host. Like Input Level a value of 127 means the is passed unmodified. Output levels are frequently changed to balance the track mix. Functions that add new material to a loop such as Overdub can cause a loop to become progressively louder. After several overdubs it may be necessary to reduce the output level to match the other tracks. Output levels are also commonly changed as an effect, such as temporarily muting tracks or performing a gradual fade in or fade out.

7.4 Pan

Internal name: pan

Pan adjusts the relative output levels of the left and right channels of the track.

7.5 Secondary Feedback

Internal name: altFeedback

Secondary Feedback is like Feedback except that it is active at different times. It must be enabled by selecting the Enable Secondary Feedback preset parameter.

For more on using feedback see the Using Feedback section in Getting Started With Mobius.

8 Global Parameters

Global parameters affect the operation of Mobius regardless of which setup, preset, or binding configuration is active. There is only one set of global parameters and they are always active. To edit most global parameters open the Configuration menu and select the Global Parameters item.

8.1 16 Bit Wave Files

Internal name: 16BitWaveFile

This is a boolean parameter that when true will cause Mobius to save all audio samples as 16-bit integers when writing .wav files. It is found under the Miscellaneous tab of the Global Parameters window.

If this is not enabled, samples are stored as 32-bit floating point numbers. 32-bit is usually preferred because it provides greater dynamic range, but not all audio applications are able to open 32-bit files. If you have trouble loading a file that Mobius saves try saving it in 16-bit mode.

Script example:


    set 16BitWaveFile true

8.2 Audio Input Device

Internal name: audioInput

This parameter has the name of the audio device Mobius will open for input when running in standalone mode. Unlike most global parameters this is edited in the Audio Devices window. If you are using an ASIO device the value of this parameter must be the same as the Audio Output Device parameter.

In a script, this parameter may only be read, setting the value will have no effect. One possible script application is to use the parameter in a conditional expression to change the behavior of the script depending on which device is selected.

8.3 Audio Output Device

Internal name: audioOutput

This parameter has the name of the audio device Mobius will open for output when running in standalone mode. Unlike most global parameters this is edited in the Audio Devices window. If you are using an ASIO device the value of this parameter must be the same as the Audio Input Device parameter.

In a script, this parameter may only be read, setting the value will have no effect. One possible script application is to use the parameter in a conditional expression to change the behavior of the script depending on which device is selected.

8.4 Bindings

Internal name: bindings

This parameter has the name of the MIDI binding set that will be merged with the default binding set. Unlike most global parameters this one is set in the MIDI Control window, if you leave a binding set selected other than the first one.

In scripts, the value will be a string containing the name of the binding set. Since binding set names often contain spaces you must remember to surround the name in quotes.

Script example:


    set bindings "Ground Control Pro Bank 1"

8.5 Custom Message File

Internal name: customMessageFile

This parameter is used to specify a alternative file containing the text that Mobius uses in the user interface. It is found under the Miscellaneous tab of the Global Parameters window. The default message file is Catalog_USEnglish.txt.

Creating custom message files can be used if you need to shorten or otherwise change some of the text seen in the user interface. It can also be used if you want to translate the text into another language. This is recommended only for advanced users since the contents of the message file can change at every Mobius release and it can become difficult to synchronize the custom files. If you have a change you think should be in the default message files contact us.

This parameter cannot be set from scripts.

8.6 Drift Check Point

Internal name: driftCheckPoint

Note: This is an experimental parameter that is not visible in the user interface. If you feel you need to use this parameter please contact us.

This parameter determines when Mobius will check to see if ynchronized loops have drifted away from the master clock. The possible values are:

When set to external we check for sync drift every time the external loop reaches the start point. The external start point is defined by the number of "pulses" counted when the loop was first recorded. When syncing to MIDI clocks a pulse is a MIDI clock, when syncing to VST beats a pulse is a VST beat, when syncing to a VST bar a pulse is a VST bar, etc.

Every time we receive this number of pulses we are at the external loop start point. For example, when syncing from MIDI clocks, a loop is recorded for 96 clocks. After recording we continue to count MIDI clocks wrapping back to zero every time we count up to 96. When we wrap back to zero, this is the external start point.

Script example:


    set driftCheckPoint external

8.7 Drift Resync Frames

Internal name: maxSyncDrift

This parameter has the number of frames Mobius will allow a loop to drift out of sync with a master clock before it is retriggered to bring it back into alignment. It is found under the Advanced tab of the Global Parameters window.

This parameter is only used when the Sync Mode preset parameter is set to something other than None. The default value is 2048. There is almost never a need to set this to a lower value. It is tempting to think that setting this value lower will make the synchronization more accurate but actually it can make it worse. There is always some amount of clock drift due to jitter in the MIDI protocol, CPU load and other factors. This drift tends to balance out over time. For example during one loop pass we may be 350 frames ahead, but on the next loop pass we're -250 behind, then 180 ahead, then -260 behind, etc. If Max Sync Drift were set to a low number like 100, you would end up doing a drift retrigger every time the loop played. Since a drift retrigger sounds like a soft "bump" at the beginning of the loop you only want to retrigger when it is absolutely necessary.

You might want raise the value if you are using MIDI slave sync and the connection has an unusual amount of jitter. If you hear the loop being retriggered too often try raising the value to 4000.

This parameter may be set from scripts though there is never a need to do so. This is something you normally set once when tuning a new installation, then you leave it that way until something significant changes, like getting a new MIDI interface.

8.8 Dual Plugin Edit Window

Internal name: dualPluginWindow

This parameter controls the number of windows that will be opened when using Mobius as a VST plugin. It is found under the Miscellaneous tab of the Global Parameters window.

Most plugins open an single "edit" window to change the plugin parameters. But this window is controlled by the host application and it has several important restrictions. The host's window can't be resized which is often desireable after customizing the Mobius user interface. Events from the computer keyboard are also passed inconsistently which means you might not be able to use all of key and shift combinations as Mobius function triggers.

When this option is enabled, Mobius will open two edit windows, the first is the window controlled by the host appliation which will will small and contain only the Mobius icon. The second will be an independent window containing the Mobius user interface. Because this window is not controlled by the host, it can be resized and will recieve all keyboard events.

This option is only available for VST plugins under Windows. It is not available for either VST or Audio Unit plugins on the Mac.

This parameter cannot be set from scripts.

8.9 Fade Frames

Internal name: fadeFrames

NOTE: This is an experimental parameter that is not accessible from the user interface. If you feel you have a need for this parameter please contact us.

Mobius performs a cross fade whenever playback must change abruptly such as when performing an unquantized loop switch, a loop retrigger, or a replace. The value of this parameter is the length of this fade in frames.

This is necessary to prevent "snapping" or "clicking" sounds during playback caused by sudden changes in sample level. The default value is 128 and there is rarely a need to change it. The value cannot be set below 16 because this would increase the chance of audible artifacts. It cannot be set higher than 256 because the size is used in the allocation of stack buffers which must be limited.

Originally this could be set from the Global Parmaters window with the intent that users could set it to a very high value to get "pumping" and "breathing" effects. With the introduction of the 256 maximum size, this is no longer possible and since 256 doesn't sound much different thatn 128 the parameter is no longer exposed.

We may restore the ability to set long fade times, if you have used this in the past please contact us.

Script example:


    set fadeFrames 16

8.10 Focus Lock Functions

Internal name: focusLockFunctions

This parameter specifies which functions will be sensitive to focus lock. It is found under the Functions tab of the Global Parameters window.

In XML this is represented by the FocusLockFunctions element.

In scripts the value is a string containing a comma seperated list of internal function names.

Script example:


    set focusLockFunctions Record,Overdub,Multiply

8.11 Groups Have Focus Lock

Internal name: groupFocusLock

This boolean parameter is true if track groups are to have focus lock behavior. It is found in the Miscellaneous tab of the Global Parameters window. The default value is false.

See the Focus Lock and Track Groups and Focus Lock sections in Exploring Mobius for more information on focus lock behavior and track groups.

8.12 Host MIDI Status Export

Internal name: hostMidiExport

This parameter causes MIDI messages to be sent to the plugin host whenever certain Mobius controls or parameters are changed from the user interface or from scripts. It is found under the Miscellaneous tab of the Global Parameters window. This parameter is only relevant when running Mobius as a plugin.

The purpose of this parameter is to keep bi-directional MIDI control surfaces in sync with the actual Mobius state. See MIDI Status Export in the Exploring Mobius manual for more information on this feature.

Script example:


    set hostMidiExport true

8.13 Input Latency

Internal name: inputLatency

This parameter has the number of frames of input latency used for latency compensation. Unlike most global parameters this is not set in the Global Parameters window. Instead it is set in the Audio Devices window when you select an audio device. If you entered a value in the Override Input Latency Frames field that will be the initial value of the inputLatency parameter. If you did not specify an override the parameter will have a value returned by the device driver for the audio interface.

You can set this parameter from a script but this is not recommended. If you read some of the Mobius test scripts you will see the latency being set but that is only done so the tests can run with the same latency compensation levels for any audio device. We have never heard of a legitimate reason for users to set this parameter.

8.14 Isolate Overdubs

Internal name: isolateOverdubs

NOTE: This is an experimental parameter that is not accessible from the user interface. This is no longer exposed in the user interface because it is hard to explain, it isn't obvious when it has been enabled, and it can up to double the amount of memory required for each layer. If you feel you have a need for this parameter please contact us.

This is a boolean parameter that when true will cause Mobius to save an independent copy of the new audio content added to each layer. This copy will be saved as a .wav file when you save a project. Normally, new content that is overdubbed in a layer is merged with content carried over from the previous layer in a process called "flattening". When a project is saved the .wav file for the layer contains both the new content and the content from previous layers. When the Isolate Overdubs option is on, the project saves two .wav files for each layer, one containing the flattened content, and one containing only the new content overdubbed during the recording of the layer.

8.15 Long Press Milliseconds

Internal name: longPress

This parameter has the number of milliseconds that Mobius will wait while a sustainable trigger is held in its "down" state before performing the long press behavior. It is found found under the Miscellaneous tab of the Global Parameters window.

Several functions have long press behavior, the Record function for example will convert to the Reset function if the trigger is held down. Scripts will also receive notification if the long press time has been reached and may take special action. IF a function has long press behavior it will be mentioned in the reference section for that function.

The default value is 500 (1/2 second) which is acceptable to most people. Normally you do not set the value lower than this because it becomes easier to cause the long press behavior accidentally just by lingering a little on the switch. Setting it higher will give you more time to release the switch.

Script example:


    set longPress 1000

8.16 Max Loops Per Track

Internal name: maxLoops

This parameter has the maximum number of loops that are allowed in each track. It is found under the Limits tab of the Global Parameters window. The default is 4. Note that this does not by itself specify how many loops will be in a track, that is done by the preset parameter Loop Count. For example, Max Loops Per Track may be 8 but if Loop Count is 4 the track will only have 4 loops.

Setting this parameter is important if you have chosen to add the Loop Status component to the track strip. This component displays a vertical column of rectangles representing the loops in a track. Because the actual number of loops is determined by the Loop Count preset parameter, each track may contain a different number of loops. But while tracks can have different numbers of loops, the height of this component must be the same in all tracks. The Max Loops Per Track determines the height of the Loop Status component. If the track has fewer than this number of loops, the component will just display empty space at the bottom.

Because people usually want the track strip to be as short as possible, you should think about the number of loops you will actually need in each track so you don't waste space in the track strip. If you don't use the Loop Status component then this parameter is ignored.

It is not meaningful to set this parameter from a script because changing will not cause the user interface to be redrawn. The value can only be set from the Global Parameters window, and it will only take effect when you restart Mobius.

8.17 Message Duration

Internal name: messageDuration

This has the number of seconds that messages generated by the Message script function will appear in the user interface. This is found under the Miscellaneous tab of the Global Parameters window.

The default value is 2. If you set this to 0, messages will be shown continuously until they are changed.

To see messages you must also have the Messages component enabled in the status area. See Components section in Exploring Mobius for more information on customizing the user interface.

Script examples:


     set messageDuration 10

8.18 MIDI Input

Internal name: midiInput

This parameter has the names of the MIDI devices that have been selected for input when running in standalone mode. This is not set in the Global Parameters window, it is set from the Input Devices panel in the MIDI Devices window.

When used in a script the value will be a string containing a comma separated list of device names. Setting this value in a script will have no effect until Mobius is restarted.

This is a relatively useless parameter, but you could use it in a script to take different actions depending on the MIDI devices being used.

8.19 MIDI Output

Internal name: midiOutput

This parameter has the names of the MIDI devices that have been selected for output when running in standalone mode. This is not set in the Global Parameters window, it is set from the Output Devices panel in the MIDI Devices window.

When used in a script the value will be a string containing a comma separated list of device names. Setting this value in a script will have no effect until Mobius is restarted.

This is a relatively useless parameter, but you could use it in a script to take different actions depending on the MIDI devices being used.

8.20 MIDI Record Pulsed

Internal name: midiRecordPulsed

This is a boolean parameter that when true will cause the ending of a MIDI synchronized recording to be performed exactly on a MIDI clock pulse rather than being calculated based on the average tempo and adjusted for clock jitter. It is found under the Advanced tab of the Global Parameters window. The deafult is false.

This is an advanced parameter that should only be set after consulting with the Mobius developers. Normally it is better to let Mobius derive the actual loop length by smoothing the MIDI clocks and guessing at the tempo rather than blindly following MIDI clocks which may have significant jitter and arrive at the "wrong" times.

8.21 MIDI Status Export

Internal name: midiExport

This parameter causes MIDI messages to be sent to the selected MIDI output devices whenever certain Mobius controls or parameters are changed from the user interface or from scripts. It is found under the Miscellaneous tab of the Global Parameters window.

The purpose of this parameter is to keep bi-directional MIDI control surfaces in sync with the actual Mobius state.

See MIDI Status Export in Exploring Mobius for more information on this feature.

This parameter is relevant for both standalone and plugin modes. But if you want status exports from the plugin you will need to select plugin MIDI devices in the MIDI Devices window.

Script example:


    set midiExport true

8.22 MIDI Through

Internal name: midiThrough

This parameter holds the name of the MIDI device that have been selected as a "through" device when running in standalone mode. This is not set in the Global Parameters window, it is set from the Through Device panel in the MIDI Devices window.

A "through" device will immediately receive a copy of every MIDI message that comes in on all the selected input devices. There is rarely a need to select a MIDI through device. Unlike the parameters for input and output devices, there can only be one through device.

When used in a script the value will be a string containing the device name. Setting this value in a script will have no effect until Mobius is restarted.

This is a relatively useless parameter, but you could use it in a script to take different actions depending on the MIDI devices being used.

8.23 Modes Ignoring Secondary Feedback

Internal name: altFeedbackDisable

This parameter has the names of the recording modes that will not respond to the Secondary Feedback control. It is found under the Modes tab of the Global Parameters window.

Secondary feedback must first be enabled with the Enable Secondary Feedback preset parameter. When this is enabled, the following recording modes will by default use secondary feedback rather than primary feedback.

If you do not want these modes to use secondary feedback, add the mode name to the Modes Ignoring Secondary Feedback parameter using the item selector.

In Replace mode, the feedback level is always zero.

In Insert mode, there is no background content so feedback is not relevant.

In all other modes recording is not active so feedback is not relevant.

The parameter is stored in the mobius.xml file as the AltFeedbackDisables element.

In scripts, the value is a string containing a comma seperated list of mode names.

Script example:


    set altFeedbackDisable Multiply,Overdub

8.24 Monitor Audio Input

Internal name: monitorAudioInput

This is a boolean parameter that when true causes the audio input for the active track to be sent immediately to the audio output device without modification. It is found under the Miscellaneous tab of the Global Parameters window.

This is used to hear the signal being sent into Mobius when you are not monitoring using an external mixer or the "zero latency monitoring" feature of your audio interface.

See the Audio Input Monitoring section of the Installation Guide for more information on monitoring techniques.

8.25 Mute Cancel Functions

Internal name: muteCancelFunctions

This parameter contains the names of functions that will cause an immediate cancellation of Mute or Pause mode. It is found under the Functions tab of the Global Parameters window.

By default, mute mode is only canceled by executing the Mute function a second time, or by executing the Play, Record or Reset functions. Other loop editing functions like Overdub will not cancel mute mode. This can be used in advanced looping techniques where a loop is muted and then modified without the audience hearing it while it is being modified. Then the loop is umnuted and the audience hears the result.

In scripts the value of this parameter will be a string containing a comma seperated list of function names.

Script example:


    set muteCancelFunctions Overdub,Multiply

8.26 Noise Floor

Internal name: noiseFloor

This parameter determines the minimum signal level that is considered to be "significant" enough when overdubbing to cause the generation of a new layer. It is found under the Miscellaneous tab of the Global Parameters window.

When overdub is on and new content is added to the loop, a new layer is usually generated at the end of each iteration through the loop. If the new audio content is below the noise floor however, a new layer is not generated. This allows you to leave overdub on and listen to the loop a few times without having unnecessary layers generated on each iteration.

The Echoplex calls this feature "auto undo".

If the value is too low, a new layer will be generated every pass through the loop because string noise, AC buzz, or crowd noise is enough to make Mobius think that something important has been recorded. If the value is too high, Mobius may decide not to keep an overdub even if you were playing your heart out.

Script example:


    set noiseFloor 50

8.27 Output Latency

Internal name: outputLatency

This parameter has the number of frames of output latency used for latency compensation. Unlike most global parameters this is not set in the Global Parameters window. Instead it is set in the Audio Devices window when you select an audio device. If you entered a value in the Override Output Latency Frames field that will be the initial value of the outputLatency parameter. If you did not specify an override the parameter will have a value returned by the device driver for the audio interface.

You can set this parameter from a script but this is not recommended. If you read some of the Mobius test scripts you will see the latency being set but that is only done so the tests can run with the same latency compensation levels for any audio device. We have never heard of a legitimate reason for users to set this parameter.

8.28 Plugin MIDI Inputs

Internal name: pluginMidiInput

This parameter has the names of the MIDI devices that have been selected for input when running in plugin mode. This is not set in the Global Parameters window, it is set from the Plugin Input Devices panel in the MIDI Devices window.

When used in a script the value will be a string containing a comma separated list of device names. Setting this value in a script will have no effect until Mobius is restarted.

This is a relatively useless parameter, but you could use it in a script to take different actions depending on the MIDI devices being used.

8.29 Plugin MIDI Outputs

Internal name: pluginMidiOutput

This parameter has the names of the MIDI devices that have been selected for output when running in plugin mode. This is set in the Plugin Output Devices panel in the MIDI Devices window.

When used in a script the value will be a string containing a comma separated list of device names. Setting this value in a script will have no effect until Mobius is restarted.

8.30 Plugin MIDI Through

Internal name: pluginMidiThrough

This parameter has the name of the MIDI devices that has been selected for "through" when running in plugin mode. It is set in the Plugin Through Device panel in the MIDI Devices window.

If a through device is selected, any MIDI messages received from all the input devices will be immediately echoed to the through device. Unlike the parameters for input and output devices, you can only select one through device.

When used in a script the value will be a string containing containing the device name. Setting this value in a script will have no effect until Mobius is restarted.

8.31 Plugin Ports

Internal name: pluginPorts

This parameter specifies the number of input and output pins we will expose to the VST or Audio Units plugin host. It is set under the Limits tab of the Global Parameters window. The default is 8 ports which corresponds to 16 pins.

Some hosts may refuse to load plugins that have more than one pair of stereo input and output channels. If you have a host that will not the insert the Mobius plugin, try reducing the number of channels.

This is discussed in more detail in the Plugin Pins section of the Installation Guide.

8.32 Quick Save File

Internal name: quickSave

This parameter has the file system path to the file where the current loop is saved when selecting the Save Quick menu item or using the Save Loop function. It is found under the Miscellaneous tab of the Global Parameters window.

See the Quick Save section in Exploring Mobius for more information on how this is used.

The name must not include the .wav extension. The actual name of the file will be derived from the specified path plus a number to make the name unique. This allows you to use the Save Quick item several times without overwriting the previous file that was saved.

Script example:


    set quickSave c:\temp\mobiusloop

    set quickSave /Users/Jeff/loops/mobiusloop

8.33 Rate/Pitch Shift Range

Internal name: shiftRange

This parameter is used when binding the Rate Shift or Pitch Shift functions to a MIDI note or continuous controller. It defines the range of notes or controler values surrounding the value in the binding that will also trigger the rate or pitch shifting functions. It is found under the Miscellaneous tab of the Global Parameters window.

For example, if you bind MIDI note number 60 (middle C) to the Rate Shift function and the Rate/Pitch Shift Range parameter is 12, you will have a two octave range of rate shift available. The center note 60 will be normal, 61 will be one semitone higher, 59 will be one semitone lower, etc. Note that the number defines the number of semitones in one direction, so 12 means 12 semitones up and 12 semitones down for a total range of 24.

This allows you to play loops chromatically without having to manually bind every note in the range, you just bind the center note and Mobius automatically takes care of the rest of the note range.

If you select a wide range, the bindings may conflict with other binding you made in the MIDI Control window. If there is a conflict, the explict binding seen in the MIDI Control will have priority. For example if you have Rate Shift bound to note 60 with a range of 12 and you have Record bound to note 50, notes 49 and 51 will do a rate shift but 50 will do a record. These "holes" in the shift range make shift hard to use so if you need a wide range it is recommended that you select a single MIDI channel just for rate or pitch shift notes and put all your other MIDI bindings on another channel.

Script example:


    set shiftRange 48

8.34 Reduce Feedback During Overdub

Internal name: autoFeedbackReduction

This is a boolean parameter that when true will cause an automatic 5% reduction in feedback during Overdub, Multiply, and Stutter modes when the Feedback control is set to the maximum value of 127. It is found under the Miscellaneous tab of the Global Parameters window.

Enabling this parameter can reduce the chance of harsh digital clipping when overdubbing because a small amount of feedback will always be applied. Even when enabled though it is still possible to reach clipping if your overdubs are very loud.

Script examples:


     set altFeedbackReduction true

     set altFeedbackReduction false

8.35 Save Project Layers

Internal name: saveLayers

This is a boolean parameter that when true will cause the complete layer history to be saved with a project. It is found under the Advanced tab of the Global Parameters window.

Normally when a project is saved, only one .wav file is created for each loop that contains the most recent layer. When this parameter is set, we will save one .wav file for every layer in the loop. There are two reasons you might want to set this. First you can use the laye history as raw material when creating audio files in a traditional DAW or audio editor. Second, you can reload the layer history in Mobius so that you can use the Undo function as a performance technique even after saving and loading a project.

Usually this is disabled because it requires extra disk space for the project.

BUG:There are problems restoring projects saved with layers, we recommend you do not use this parameter if you intend to load the projects back into Mobius.

8.36 Selected Track

Internal name: selectedTrack

This parameter has the number of the currently selected track. This is not set in the Global Parameters window, you select tracks by clicking on them in the main window or by using one of the track selection functions.

The number of the first track is 1. In a script this parameter may be both read and set, when set it will change the selected track. You can also change the selected track with the Track function which is the preferred way to change tracks.

Script example:


    set selectedTrack 2

NOTE: Use of this parameter is not recommended, the parameter may be removed in a future release. Use the Track functions instead to select tracks.

8.37 Setup

Internal name: setup

This parameter has the number of the currently selected track setup. This is not set in the Global Parameters window, instead setups are selected in the Track Setups window.

The value of this parameter is always an integer. The first setup will be number 1, the second number 2, and so on. You can set this parameter from a script to change setups. The value in a script may either be the number or the name.

You can also change setups in a script by using the Setup statement. The behavior is the same, we prefer using the Setup statement. Because of this the setup parameter is relatively useless, you can change it with a function and scripts almost never need to know the number of the currently selected setup.

Script example:


    set setup 2

    set setup "My Setup"

8.38 Trace Debug Level

Internal name: traceDebugLevel

This parameter determines how much information Mobius will be sent to the Windows debug output stream as it runs. It is found under the Advanced tab of the Global Parameters window. This parameter is only meaningful when running on Windows.

See the Trace section of the Exploring Mobius guide for more information on trace and the debug output stream.

The default value is 2 which means both serious errors and operational status messages are sent.

8.39 Trace Print Level

Internal name: tracePrintLevel

This parameter determines how much information Mobius will be sent to the console as it runs. It is found under the Advanced tab of the Global Parameters window. This parameter is only meaningful when running on Windows.

See the Trace section of the Exploring Mobius guide for more information on trace and what the "console" means for Windows and Mac.

The default value is 1 which means only serious errors are sent.

8.40 Track Groups

Internal name: trackGroups

This parameter has the maximum number of track groups that can be used as a scope in bindings. It is found under the Limits tab in the Global Parameters window. The default value is 2.

Setting this to 1 makes track groups behave exactly like Focus Lock so that is not usually done. Setting it to a number higher than the number of tracks may be done but is not recommended since you can't make effective use of all the groups. Typically the number is 2, 3, or 4.

See the Track Groups section in Exploring Mobius for more information on how track groups are used.

8.41 Tracks

Internal name: tracks

This parameter has the number of tracks that will be shown in the main window. It is found under the Limits tab of the Global Parameters window. The default value is 8.

You can set this number lower to save space in the user interface if you don't need 8 tracks. You can also set it higher if you need more, but there are problems drawing the user interface if you have too many tracks. Changing the parameter will not take effect until you restart Mobius.

Because changes do not take effect until a restart, it is meaningless to set this parameter in a script. You might reference it in a script if you need to know how many tracks there are.

9 Variables

9.1 Script State

9.1.1 clickCount

Number of times the script has been reentred due to multi-clicks.

9.1.2 midiChannel

The MIDI channel number of the trigger event. This is also embedded in triggerNumber, but it is easier to use here.

9.1.3 midiNumber

The MIDI key/controller number of the trigger event.

9.1.4 midiType

The type of MIDI trigger: note, control, program.

9.1.5 midiValue

The same as triggerValue but has a more obvious name for use in !controller scripts.

9.1.6 returnCode

The return code of the last ThreadEvent. Currently used only by Prompt statements to convey the selected button. 0 means Ok, 1 means cancel.

9.1.7 sustainCount

Number of times the script has been notified of a sustain.

9.1.8 triggerNumber

The unique id of the trigger. For FunctionSourceMidi this will be a combination of the MIDI status, channel, and number. For other sources it will be a key code or other simple number.

9.1.9 triggerOffset

An optional extra value associated with the ranged triggers. This will have the relative position of the trigger from the center of the range.

9.1.10 triggerValue

An optional extra value associated with the trigger. For MIDI triggers this will be the second byte, the note velocity for notes or the controller value for controllers.

9.2 Loop Sizes

9.2.1 cycleCount

The number of cycles in the loop.

9.2.2 cycleFrame

The current frame relative the current cycle.

9.2.3 cycleFrames

The number of frames in one cycle.

9.2.4 cycleNumber

The current cycle number, relative to the beginning of the loop.

9.2.5 layerCount

The number of layers in the current loop. This is also in effect the current layer number since we are always "on" the last layer of the loop. This does not include the number of available redo layers.

9.2.6 loopCount

The current loop count. This is effectively the same as the "moreLoops" parameter but I like this name better. This should really be an alias of moreLoops so we can get and set it using the same name!!

9.2.7 loopFrame

The current record frame.

9.2.8 loopFrames

The number of frames in the loop.

9.2.9 loopNumber

The number of the curerent loop within the track. The first loop number is 1 for consistency with the trigger functions Loop1, Loop2, etc.

9.2.10 redoCount

The number of redo layers in the current loop.

9.2.11 subCycleNumber

The current subcycle number, relative to the current cycle.

9.2.12 subCycleFrame

The current frame relative the current subcycle.

9.2.13 subCycleFrames

The number of frames in one subcycle.

9.2.14 subCycleCount

The number of subCycles in a cycle. This is actually the same as the Subcycles preset parameter and can change with the preset, but we expose it as an internal variable so it is consistent with the other loop variables.

9.3 Loop Events

9.3.1 nextEvent

Returns the type name of the next event. Child events are ignored so we will skip over JumpPlayEvents. Now that we have this, could eliminate InReturn and InRealign.

9.3.2 nextEventFunction

Returns the function name associated with the next event. We subclass NextEventVariableType for the getTrackValue logic.

9.3.3 nextLoop

The number of the next loop if we're in loop switch mode. Loops are numbered from 1. Returns zero if we're not loop switching.

9.4 Loop Modes

9.4.1 effectiveFeedback

The value of the feedback currently being applied. This will usually be either the Feedback or Secondary Feedback control values depending on which is being used. It will always be zero if we're in Replace, Insert or another mode that does not bring forward any content from the previous loop.

9.4.2 inHalfSpeed

True if half-speed is enabled.

9.4.3 inMute

True if playback is muted. This usually means that we're also in Mute mode, but if Overdub is also on, mode will be Overdub. Note also that this tests the isMute flag which can be on for other reasons than being in Mute mode.

9.4.4 inOverdub

True if overdub is enabled. Note that this doesn't necessarily mean that the mode is overdub, only that overdub is enabled when we fall back into Play mode.

9.4.5 inPause

True if we're in Pause or Pause mode. This is available because the "mode" parameter is not always set to Pause. Once case is if Pause and Overdub are on at the same time mode will be Overdub (I think this is the only case).

9.4.6 inRealign

True if we're realigning. This similar to a mode, but it is indiciated by having a Realign event scheduled.

9.4.7 inReturn

True if we're in "return" mode. This is a special minor mode that happens after a loop switch with SwitchDuration=OnceReturn, SwitchDuration=SustainReturn, or the RetriggerOnce function. It is indiciated by the presence of a pending Return event.

9.4.8 inReverse

True if reverse is enabled.

9.4.9 isRecording

True any form of recording is being performed. Note that this does not necessarily mean you are in Record mode, you could be in Overdub, Multiply, Insert, etc.

9.4.10 mode

Name of the current mode.

9.4.11 rate

Rate shift, expressed as a scale degree. Same as scaleRate.

9.4.12 rawPitch

Pitch shift, expressed as a float times 1000000.

9.4.13 rawRate

Rate shift, expressed as a float times 1000000.

9.4.14 scalePitch

Pitch shift, expressed as a float times 1000000.

9.4.15 scaleRate

Rate Shift, expressed as a scale degree. Same as rate

9.5 Track State

9.5.1 globalMute

True if the track will be unmuted when Global Mute mode is over.

9.5.2 outSyncMaster

The number of the track operating as the output sync master, -1 if there is no master.

9.5.3 solo

True if the track will be unmuted when Global Mute mode is over.

9.5.4 track, trackNumber

The number of the current track. The first track is 1.

9.5.5 trackCount

The number of tracks configured.

9.5.6 trackSyncMaster

The number of the track operating as the track sync master, -1 if there is no master.

9.6 Generic Sync

9.6.1 basePulseFrames

The current number of normalized pulse frames. Internally this is a float, here it is a long integer formatted as the internal value times 1000.

9.6.2 externalPulse

The number of external sync pulses.

UPDATE: We've changed the terminology a bit, this is now "sync loop pulses" in the code, change the variable name?

9.6.3 externalPulses

The number of external sync pulses.

UPDATE: We've changed the terminology a bit, this is now "sync loop pulses" in the code, change the variable name?

9.6.4 preRealignFrame

The loopFrame prior to the last Realign.

9.6.5 preRealignPulseFrame

The location of the pulse cursor before the processing of the last Realign function. This is useful only in unit test scripts.

9.6.6 pulseFrame

The current location of the pulse cursor.

9.6.7 pulseFrames

The current number of rate adjusted pulse frames.

9.6.8 pulseLoopFrame

The actual Loop frame at the last pulse. The difference between this and PulseFrame is the amount of drift (after wrapping).

9.6.9 recordCyclePulses

The number of external sync pulses counted during recording.

9.6.10 syncBeat

The current bar relative beat count. This will be the same as syncOutBeat, syncInBeat, or syncHostBeat depending on the SyncMode of the current track.

9.6.11 syncBar

The current bar count. This will be the same as syncOutBar, syncInBar, or syncHostBar depending on the SyncMode of the current track.

9.6.12 syncDrift

The current amount of drift, positive or negative.

9.6.13 syncDriftChecks

The number of sync drift checks that have been perfomed in this loop since it was recorded.

9.6.14 syncRawBeat

The current absolute beat count. This will be the same as syncOutRawBeat, syncInRawBeat, or syncHostRawBeat depending on the SyncMode of the current track.

9.6.15 syncRealigns

The number of sync drift realigns that have been perfomed in this loop since it was recorded.

9.6.16 tempo

The current sync tempo. For Sync=Out this is the tempo we calculated. For Sync=In this is the tempo we're smoothing from the external source. For Sync=Host this is the tempo reported by the host.

9.7 Out Sync

9.7.1 syncOutBar

The current bar count maintained by the internal clock. This is calculated from the raw beat count, modified by the effective beatsPerBar.

9.7.2 syncOutBeat

The current beat count maintained by the internal clock, relative to the bar.

9.7.3 syncOutRawBeat

The current raw beat count maintained by the internal clock. This will be zero if the internal clock is not running.

9.7.4 syncOutSending

"true" if we are currently sending MIDI clocks, "false" if not.

9.7.5 syncOutStarted

"true" if we have send a MIDI Start message, "false" if not.

9.7.6 syncOutStarts

The number of MIDI Start messages we've sent since the last time we were stopped.

9.7.7 syncOutTempo

The tempo of the internal clock used for out sync. This is the same value returned by "tempo" but only if the current track is in Sync=Out or Sync=OutUserStart.

9.8 MIDI Sync

9.8.1 syncInBar

The current bar count derived from the external MIDI clock.

9.8.2 syncInBeat

The current beat count derived from the external MIDI clock, relative to the bar.

9.8.3 syncInRawBeat

The current beat count derived from the external MIDI clock.

9.8.4 syncInReceiving

True if we are currently receiving MIDI clocks.

9.8.5 syncInStarted

True if we have received a MIDI start or continue message.

9.8.6 syncInTempo

The tempo of the external MIDI clock being received. This is the same value returned by "tempo" but only if the current track SyncMode is In, MIDIBeat, or MIDIBar.

9.9 Host Sync

9.9.1 syncHostBar

The current bar count given by the host.

9.9.2 syncHostBeat

The current beat count given by the host, relative to the bar.

9.9.3 syncHostRawBeat

The current beat count given by the host.

9.9.4 syncHostReceiving

True if we are currently receiving MIDI clocks from the host. Synchronizer has always returned false here, I guess because we make MIDI passing through the host look like MIDI In sync rather than host sync.

9.9.5 syncHostStarted

True if we have received a MIDI start or continue message from the host. Like syncHostReceiving we've always returned false here.

9.9.6 syncHostTempo

The tempo advertised by the plugin host.

9.10 Miscellaneous

9.10.1 blockFrames

The number of frames in one audio interrupt block.

9.10.2 configurationDirectory

Base directory where Mobius configuration is saved. Typically c:\Program Files\Mobius on Windows and /Library/Application Support/Mobius on Mac.

9.10.3 installationDirectory

Base directory where Mobius has been installed. Typically c:\Program Files\Mobius on Windows and /Applications/Mobius on Mac.

9.10.4 noExternalAudio

When set disables the pass through of audio received on the first port. This is used in the unit tests that do their own audio injection, and we don't want random noise comming in from the sound card to pollute it.

9.10.5 sampleFrames

The number of frames in the last sample we played.