Settings

The Settings window is where Fusor Studio's configuration lives. Open it from the player's App menu (Settings..., Ctrl+,). It opens as its own window beside the player, with the tabs down the left side.

A shipped build has eight tabs:

Guided Setup, Connection, General, Output Mapping, Input Mapping, Guards, Teach Mode, Logging.

Settings saves as you go. Change a dropdown or flip a switch on Connection, General, Guards or Output Mapping and it is written immediately. There is no Save or Apply button and no way to cancel out of an edit, so to undo something you change it back. Input Mapping is the exception: a controller profile is a set of bindings that only make sense together, so it has its own Save and asks before you leave with unsaved work.

Settings is unavailable while a transition is running, and an open window closes itself when one starts. See The Player Window for what the lock does and what happens to unsaved bindings.

Fusor Studio reopens Settings on the tab you were last on.

What each tab covers

Four tabs are documented on this page. The other four have chapters of their own, because the subject is bigger than the tab.

TabWhat's in itDocumented
Guided SetupThe first-run wizard, re-runnable at any timeSetup walks it screen by screen
ConnectionMIDI bus, DJ application, deck pair, Control State CaptureBelow
GeneralLibrary folder, window behavior, tempo-ramp preferences, the version readoutBelow
Output MappingThe canonical mapping file that defines what Fusor Studio sendsBelow
Input MappingHardware controller profiles and MIDI LearnHardware Controller
GuardsEngine tolerances and the ERA guardsBelow
Teach ModeSend and Test buttons for every mapping entryTeach Mode
LoggingVerbose mode, per-category levels, the log file buttonsLogging

Connection

Connection holds the four settings that decide who Fusor Studio is talking to. It mirrors the order Guided Setup asks for them in, so it is the place to come back to when one of them changes.

  • Fusor MIDI Bus. The virtual MIDI port Fusor Studio sends on and listens on. The list only offers ports that exist as both an input and an output, since Fusor Studio uses one bus in both directions. If the bus you created isn't in the list, it isn't presenting both halves. See Installation for bus setup and Troubleshooting when a bus is present but nothing arrives.
  • DJ Application. Which app Fusor Studio is driving, chosen from the apps it has mappings for. This is not cosmetic. It selects the mapping entries in Teach Mode, decides whether a tempo ramp routine exists, and determines how Control State Capture behaves. Changing it starts a capture.
  • Deck Pair. Left deck and Right deck, which tell Fusor Studio which two decks your crossfader actually mixes. Deck A to Deck D are offered; the default pair is A and B. The two must differ; picking the same deck twice shows Left and right deck must differ and saves nothing until you fix it.
  • Capture Control State. Runs a capture on demand. The button reads Capturing... while it works. Blind Mode owns what a capture is for and what happens when it fails.

Changing the bus, the DJ app or the deck pair rebuilds Fusor Studio's connection to your DJ app. That is one of the reasons Settings won't open while a transition is running: a rebuild mid-mix would stop the transition.


General

  • Fusor Files Folder. The root folder Fusor Studio reads your fusors, actions, packs, step sets and collections from. The field is read-only; Browse... picks a different folder. It shows (default: Documents/Fusor) until you choose one. See Installation for what lives inside it.
  • Always on Top. Keeps the player window above your DJ app. On by default, which is what you want while mixing.
  • Show Manual Role Swap while Online. Whether the Swap button appears in the menubar while telemetry is working. On by default. Blind Mode always shows the button no matter how this is set. See Manual Role Swap.
  • Persist tempo ramp across transitions. Off by default, meaning the Tempo Ramp toggle resets at the end of every run. Turn it on and the ramp's last state carries into the next transition. A fusor that specifies its own tempo-ramp setting overrides the carried state; one that leaves it Not set inherits it. See Transport Controls.
  • Tempo range restore. Two choices, Always (the default) or Keep usable, governing how the tempo ramp puts a deck's tempo range back afterwards. Always restores exactly what it found, which can leave the deck's tempo fader pinned at the end of its travel with the tempo still correct. Keep usable leaves a range widened rather than pinning the fader. The status line reports a pinned fader as TR8.

About & Updates closes the tab. It shows the version you're running, whether a newer build has been found, and the Check now and Restart & Install buttons. See Updating Fusor Studio.


Guards

Guards are the engine's tolerances. They exist because Fusor Studio has to tell its own MIDI output apart from your hands on the mixer, and has to decide when moving a control would be audible. Take the tab's own warning literally: changing these values changes engine behavior.

Most DJs never need to touch this tab. The defaults are the tested values. Each field carries a one-line description in the UI and an info icon that expands a worked example.

Echo Detection

Your DJ app usually echoes back every message Fusor Studio sends it. These four settings stop Fusor Studio mistaking that echo for you touching something.

SettingDefaultWhat it controls
Echo Window (ms)200How long after sending a message an identical one coming back counts as an echo
Echo Tolerance (CC units)2How close a returned value has to be to the sent value to count as the same value
Directional Samples3How many consecutive crossfader moves in one direction confirm a real hand rather than echoes
Crossfader Echo Tolerance (0–1)0.05How far the echoed crossfader position may sit from where the transition expects it before Fusor Studio reads it as you grabbing the fader

Crossfader Echo Tolerance is the one with teeth, because it decides when a running transition hands itself to you. Set it too low and Fusor Studio mistakes its own echo for your hand and takes over mid-run with nobody touching the fader. Set it too high and a genuine grab goes unnoticed. It is separate from Control Takeover Threshold below, which covers knobs and faders only.

Role Detection

Which deck is outgoing and which is incoming is read from the crossfader, and these thresholds stop the answer flickering when the fader sits near the middle.

SettingDefaultWhat it controls
Hysteresis Low0.25Below this, the left deck is outgoing
Hysteresis High0.75Above this, the right deck is outgoing
Deck State Debounce (ms)20How long to wait before acting on a deck play-state change, so a burst of rapid changes settles first

Between Low and High, the existing role assignment holds.

Inaudible Detection

These four decide when a control is quiet enough to move without the room hearing it.

SettingDefaultWhat it controls
Inaudible Volume Threshold0.05A deck fader at or below this counts as silent
Crossfader Edge Detection0.02How close to an edge the crossfader must be for the opposite deck to count as fully cut
Inaudible Control Threshold0.05How far an incoming-deck control may sit from its expected start position without being blocked
Control Takeover Threshold0.08How far a control Fusor Studio is driving may deviate before Fusor Studio concludes you turned it and stops driving it

Control Takeover Threshold is what produces CTL6 on the status line: Fusor Studio releases that one control to you for the rest of the run and leaves it where you put it.

ERA (Encounter Rate Adaptation)

ERA is how Fusor Studio deals with a control that isn't where the fusor's curve expects it to be when the transition starts. The author drew a curve from one value to another; your deck might be somewhere else entirely. Rather than jump the control to the curve's starting value, ERA adjusts the curve to the position it actually found.

Three switches decide what ERA does in the three cases where adjusting is the wrong answer. All three are on by default, and all three exist to prevent an audible jump.

  • ERA Gate-First Logic. When a control's enable gate is off at the start, skip ERA and play the curve exactly as authored. The gate fires first, which makes the control inaudible, so repositioning it can't be heard. Turning this off can produce audible jumps on gated controls.
  • ERA Soft Takeover. When the control's actual position sits between the curve's start and end values, hold it where it is and wait for the rising or falling curve to reach that value, then follow the curve the rest of the way. Nothing moves until the curve catches up, so there is no jump at all. Turning this off makes the control jump to the curve's position instead.
  • ERA End-Side Blocking. When the control is already past where the curve ends, block the control for the whole transition rather than compress the curve backwards. There is nothing left for the curve to do except pull the control the wrong way. Turning this off falls back to compression, which can produce reversed motion. This is what CTL5 reports.

ERA Soft Takeover is not the same thing as soft takeover in your DJ app. Traktor's soft takeover is a setting on your own controller's mapping, governing how your hardware picks up a value. ERA Soft Takeover governs how Fusor Studio picks up from wherever your DJ app's controls happen to be. See Traktor Pro.

Flat Curve Guard (on, with a Threshold of 0.01) covers the fourth case. A curve whose start and end values are nearly identical is set-and-hold: the author wants one value held for the whole transition. ERA would turn that into a ramp from wherever the control is to the authored value, inventing motion nobody asked for. The guard blocks the control instead, and reports it as CTL4. The other three ERA guards can't cover this case, because start and end are too close together for a "between" range or an "end side" to mean anything. The Threshold field is how close counts as flat, and it disables when the guard is off.

Runtime

Progress Emit Rate (ms), default 16, is the shortest interval between progress-bar updates sent to the UI. 16 ms is roughly 60 updates a second. Higher numbers are lighter on the CPU and choppier to look at. It affects the display only.

Transition Behavior

Two switches that aren't tolerances at all, both on by default.

  • Snapshot / Restore. Before a transition starts, Fusor Studio records the outgoing deck's control positions and the current FX-unit-to-deck assignments; after it completes, it puts them back. Turning it off leaves everything where the transition ended. It needs telemetry, so it does nothing in Blind Mode: there is nothing to read a baseline from. See Arming and running.

    Two domains are excluded even with the setting on. Channel Fader positions stay where the transition left them, because putting a fader back where it started would undo the level change the transition just made. FX Unit knobs also stay where they ended. The unit's deck assignment is restored separately, and only when Auto-assign FX units to decks (below) is also on: with both settings on, your FX units are routed back to the decks they were on beforehand after a transition, with their knobs still where the fusor drove them. With Auto-assign off, Fusor Studio never records the assignment to restore, so FX units stay wherever the transition left them. Every other domain is restored.

  • Auto-assign FX units to decks (Traktor, Mixxx). When a transition starts, Fusor Studio routes FX units to the incoming and outgoing decks according to where the fusor places them, and clears the unit from the other decks. Arming alone leaves your DJ app untouched. Turning it off means assigning FX units by hand before you arm, or the effects land on the wrong deck. See FX Routing.

Reset All Guards to Defaults

The button at the bottom of the tab restores every numeric field and every ERA switch to the values above, and turns Snapshot / Restore back on. It does not change Auto-assign FX units to decks.


Output Mapping

Output Mapping is the MIDI Fusor Studio sends. A hardware controller's output is fixed in firmware; Fusor Studio's is a file, so this tab is where you look at that file.

The mapping translates an abstract control address such as deck.a.eq.high into a MIDI channel and a CC or note number. MIDI Mapping documents the layout that file contains; this tab is the file itself.

  • The Mapping File field shows the path, read-only, or (not found).
  • Reveal opens the containing folder in Explorer or Finder.
  • Edit opens the file in whatever your system uses for .json.
  • Format Reference is a collapsed section listing what each field in an entry means: addr, channel, cc / note, kind (midi_cc or midi_note), type (bipolar, unipolar, trigger, bool or indexed), direction (in, out or bidirectional), and min / max.

The tab's own warning panel is worth taking literally. Back the file up before you edit it. Your DJ app's mapping has to match exactly, so changing a CC number here means changing the corresponding row in Traktor, Mixxx or whichever app you use. Don't put two controls on the same channel-and-CC pair, or telemetry coming back can't be attributed to either of them. Restart Fusor Studio after editing.

Two things to know before you start. The mapping file ships with Fusor Studio rather than living in your Fusor files folder, so keep your own copy of any edit. And Teach Mode exists precisely so that you don't have to edit this file: it walks the mapping one entry at a time and teaches each one to your DJ app at the numbers already in it. Editing the file is for the case where the DJ app genuinely cannot be taught the canonical number.


Tabs with chapters of their own

  • Guided Setup re-runs the first-run wizard. Setup covers what the wizard does not say on screen; the subject matter behind each screen belongs to Installation, Traktor Pro and Hardware Controller.
  • Input Mapping is controller profiles, MIDI Learn and the binding table. See Hardware Controller.
  • Teach Mode is the Send and Test buttons for every canonical mapping entry, filtered by Context, Direction and your selected DJ app. See Teach Mode.
  • Logging is verbose mode, per-category levels and the Open log folder / Reveal current log file / Clear logs buttons. See Logging.