Domains

The Domains tab is where you add the groups of parameters a fusor modulates: Channel Fader, EQ, FX Unit, FX Banks, Stems, and so on. Every domain holds both sides of the transition, outgoing and incoming. A side without a curve stays blank.

The tab opens directly in the Library window's fusor detail view, with no separate authoring step. See Authoring Overview → Opening a fusor for editing.

There are two ways to add a domain to a fusor:

  • Add Domain. Start fresh with empty curves on both sides.
  • Import Domain. Copy a domain from another fusor in your library.

Both buttons sit at the bottom of the Domains tab, under the existing domain cards. Each opens a popover above the button it came from.


Add Domain

Click Add Domain to bring up the popover:

  1. Pick a domain type. Only types the fusor can still add are listed, filtered to types compatible with the fusor's target apps (meta.apps). A type is hidden when one of the fusor's apps is known not to have it: a Traktor fusor does not see FX Banks, because Traktor has none.

    A fusor with no apps set is offered only the types every app can use. Today that is every type except FX Banks. Set the fusor's Built for on the Info tab to a DJ app that has FX Banks and it appears.

  2. The domain is created. Clicking the type creates it at once, holding both sides, outgoing and incoming. Its card takes its place in general signal-flow order (stems, EQ, FX, Mixer FX, with Channel Fader always last). Neither side has a curve yet, so the card shows blank placeholders where the curves will go. The Domain Editor does not open on its own. Click the new card's header when you're ready to author its curves.

You can add only one domain of any type. Once its card exists, the type is removed from the Add Domain list.


Import Domain

Click Import Domain to copy a domain, curves and all, from another fusor in your library. The flow parallels Add Domain, with one extra step for picking the source.

  1. Pick a domain type. Filtered the same way as Add Domain: addable to the target fusor and app-compatible. A type already fully authored on the target, curves on both sides, does not appear: there is nothing left for an import to fill.
  2. Pick a source fusor. Accordion list of every library fusor that has a matching domain and at least one side an import could actually place. The first row is expanded by default; clicking another row collapses the open one and expands the new one. Each row shows how much each side holds, for example Outgoing: 2 curves · Incoming: 2 curves. When the target already has the domain with one side authored, the row also names the side your fusor keeps, for example Outgoing kept: this Fusor already has curves there. A source fusor that's a flagged duplicate copy shows the same orange duplicate mark the Fusors list uses. See Authoring Overview → Where files live for how a duplicate is flagged.
  3. Preview or Import.
    • Preview opens the Domain Editor in read-only mode with full curve navigation. Import applies the import; Cancel closes the preview without importing.
    • Import applies it immediately.

Import brings in every side the source domain has, in the same roles: an outgoing curve goes to outgoing, an incoming curve to incoming. There is no side to pick and no mirroring.

Importing into a fusor that already has the domain fills only the target's blank side or sides. A side that already has a curve is never overwritten, whichever fusor the import comes from.

Importing a Channel Fader brings both variants, their names and the selected variant. If the selected variant arrives empty, the domain comes in on variant 1.

Cross-role role-prefix rewriting (outgoing.* ↔ incoming.* inside bindings) is automatic.


Per-card affordances

Each domain card in the list has a small set of header controls:

  • Orange Switch (left of the header). Switches the domain on or off. See The enable switch below.
  • Click the header (or any parameter name). Opens the Domain Editor for that card, the side-by-side curve surface where the actual authoring happens.
  • Trash icon (red). Delete the domain. A confirmation modal titled Delete domain? appears, reading "This drops its curves and bindings." There is no undo for domain deletion; text-field undo only covers metadata edits (see Authoring Overview → Autosave and undo).
  • Orange Not saved: needs curve warning. Appears when neither side of the card has a curve. See A blank side, and the not-saved warning below.
  • Effect tail switch. On the outgoing side of FX Unit, FX Banks and Mixer FX cards only, and in the Domain Editor on the Outgoing tab of the same domains. See FX Routing → the effect tail, which also lists the three header messages the switch can raise.

A blank side, and the not-saved warning

A domain card draws a side, outgoing or incoming, only once that side has at least one curve on it. A side with none shows a dashed placeholder in its place, exactly as a side left out of the fusor file always does: that side isn't written to the file, and comes back blank and ready the next time the fusor loads.

A blank side sitting beside a side with curves is normal and shows no warning. The card warns only when neither side has a curve, which is a domain you've added and haven't authored yet: the header then reads Not saved: needs curve, because the whole domain is what would go missing on save. Hovering it gives the same thing in a sentence.

Author a curve on either side and the warning clears.

The enable switch

Each domain card has its own orange Switch, at the left of the header. A domain switched off does not run. The change is saved to the fusor file as you make it.

The domain's switch in Session View is the same setting, and it saves to the file the same way.

Channel Fader variants

A Channel Fader domain holds up to two curve variants, for example constant power and linear. Variant 1 is the fader curve every Fusor has; variant 2 is optional. The Domain Editor shows them as two slots, Variant 1 and Variant 2, edited like the bands of an EQ. They cannot be reordered.

When you add a curve to a variant, the editor offers an optional Variant name prompt, for example Constant power or Linear. Cancelling the prompt still creates the curve. An unnamed variant reads Variant 1 or Variant 2, and named rows read like FX slots: 1. Constant power, 2. Linear. You type a name once: it is copied to the same variant on the other side, unless that variant already has a name, and adding a curve to an unnamed variant uses the other side's name without asking. To name or rename a variant later, double-click its slot tab in the curve editor. Renaming one side does not change the other.

The 1 / 2 switch on the card picks which variant plays, for both sides at once. It defaults to 1 and is saved to the file; it is also a session edit. In the editor, deleting the last variant 2 curve while variant 2 is selected moves the selection back to 1 as part of that edit.

Constant power suits two tracks at similar level. Linear suits quiet intros and outros and filter swaps, where two crossing filter curves dip the combined level.


End of run

End of run acts on the outgoing side. When a transition ends, the outgoing deck's controls are wherever the curves left them. Each domain card says what should happen to them, on a small End of run dropdown. The incoming deck's controls stay where the curves leave them, because the incoming track is the one still playing. Three choices:

  • Leave. The outgoing controls stay where the transition left them. Nothing is sent.
  • Restore. They go back where you had them before you armed. Restore also switches back any incoming on/off switch the fusor sets, such as an FX slot's Enable, but only when the controls that switch opens are back at their defaults (see FX Routing → Ending with the unit still open). This is the one that needs a baseline, so it is the one the Snapshot / Restore setting governs and the one that has nothing to work with in Blind Mode.
  • Home. They go to the position the control itself defines as neutral: an FX unit closes, a filter centers. Nothing is remembered, so this works with Snapshot / Restore off and in Blind Mode alike.

Out of the box, Channel Fader is on Leave, FX Unit is on Home, and every other domain is on Restore. Channel Fader offers only Leave, so its card shows the word rather than a dropdown. Channel Fader is on Leave because putting a fader back where it started would undo the level change the transition just made. FX Unit is on Home so the outgoing unit closes at the end of the run without needing a baseline.

Each domain has its own setting. A fusor can restore its EQ, leave its fader, and close its FX unit, all in the same run.

The dropdown is on the card in both places you meet a domain: here in the Library, and on the loaded fusor in Session View, where it sits in the card's title row. It means the same thing in both, it is saved into the fusor from either one, and whichever you touch last is the one that counts. The enable switch works the same way.

A disabled domain is left alone entirely. Switch a domain off and the Fusor player sends it nothing, at the end of the run as much as during it, and the dropdown has no effect until the domain is on again.

One run, one end. Every domain's End of run fires once, together, when the run finishes. A domain whose curves end earlier waits for that moment rather than disposing early.

When controls are sent somewhere at the end of a transition, the status line says so, with a count: Controls restore sent (n) for Restore, Controls sent home (n) for Home. See Status Messages.

The computed line

Between the card body and the preflight editor, a domain card whose lanes have named positions shows a computed line, one per stepped lane, naming the positions that lane actually reaches:

Outgoing FX2 Slot 1 Amount: 1/4 → 2/4 → 4/4
Incoming FX3 Slot 1 Amount: 1/4

Fusor Studio works this out from the fusor every time the card is drawn. There is no field behind it, nothing to type, and Hide does not reach it. Hiding is for your own reminder text, and a statement of what the fusor will send is not part of that. Lanes that move continuously produce no line, and neither do enable switches.

It's the same line the Fusor player shows before a run, described in full at Loading a Fusor → What the card says it will send, including what the arrow means and why no count appears. It is here in the authoring view so you can check what the reader will see without loading the fusor first.

Per-card preflight

Each domain card has its own preflight editor rendered beneath the card body. It controls the reminder text for that one domain on its card in the Session View stack. It does not control the computed line above it.

The editor has three pieces:

  • Snapshot preview. When no override is set, the editor shows the default reminder that came with the domain type. For a fusor tagged with a single DJ app, the per-app variant of the snapshot is shown (when the domain type has one for that app); for multi-app or universal fusors, the snapshot's default text is shown. The preview is read-only. Overriding is the only way to change the text.
  • Override. Click Override to copy the snapshot text into a textarea and start editing. While an override is in effect, the resolved text is the override verbatim; the snapshot no longer contributes. A small reset icon appears next to the Hide switch once you've overridden; clicking it clears the override and brings the snapshot preview back. Press Esc to release focus when you're done typing.
  • Hide. The Hide Switch on the right suppresses this domain's reminder text. The preflight block dims and an orange · hidden tag appears so it's obvious from the editor side; on the Fusor player's surface the reminder vanishes. It reaches the text only, and the computed line above still shows on both surfaces.

Where the snapshot text comes from

The snapshot is a frozen copy of the domain type's built-in reminders. It is captured at the moment you add the domain to the fusor, by both Add Domain and Import Domain, and it travels with the fusor on disk. That means:

  • A later Fusor Studio version that changes a domain type's built-in reminder does not update existing fusors. They keep the snapshot they were given.
  • Import Domain takes a fresh snapshot for the receiving fusor, and copies the source fusor's override and hide along with the bindings. A reminder the source's author wrote comes with the import.
  • The snapshot itself isn't editable in this editor; Override is the supported way to write a fusor-specific version of the text.

Resolution order at session time

When the Fusor player surfaces the fusor's preflight, each domain card resolves its line in this order:

  1. Hidden? Skip. No reminder text for this domain. (The computed line is not part of this resolution and is unaffected.)
  2. Overridden? Show the override text exactly.
  3. Snapshot, per current app. If the snapshot has a string for the DJ app selected in Settings, show it. (The preview in this editor uses the fusor's own app instead, when it is tagged with exactly one.)
  4. Snapshot default. Fall back to snapshot.default.
  5. Empty. No text means no line.

The same rule applies to per-action preflight blocks. See Pre-run Actions → Per-action preflight.

No fusor-wide preflight

There is no fusor-wide preflight field. A reminder that applies to the whole transition rather than one domain goes on the domain it most concerns, or in the fusor's Intent or Your Notes field on the Info tab, both of which the reader sees in Session View before arming.


Opening the Domain Editor

Click a domain card's header or any parameter name to open the Domain Editor in its own window. The Domain Editor has its own Save/Cancel boundary: its edits don't autosave; they commit when you save. This is the one exception to the Library window's autosave model.

While the Domain Editor is open, the Library behind it is dimmed and does not respond: you can't switch Fusor, edit, or close the Library until you close the editor. Clicking the Library brings the Domain Editor back to the front. The import preview works the same way: the Library waits until you import or close the preview. The Fusor player is not affected.

Its bottom row reads Edit curve, Undo and Redo on the left. On the right, before you change anything, are Save (dimmed) and Close; once you have an edit they become Cancel, Save and Save & Close. Edit curve opens the menu that copies, pastes, flips, clears or reshapes the whole curve; Save keeps the window open so you can continue to the next binding; Save & Close commits and closes in one click. See Curve Editor for the anchor, handle, point-menu and Edit-curve-menu mechanics.

If Save or Save & Close is refused, for any reason, the editor stays open and shows the reason in red beside the save buttons; hover it for the full text. The Library's status line shows the same message (see Authoring Overview → When a save fails). The edits reach the Library only once the save succeeds, so pressing Cancel after a refusal discards them rather than leaving them for the next save to write.

The import preview's Import button shows a refusal the same way, in red beside Cancel and Import.


Domains on library fusors you haven't loaded

Right-click any fusor in the Library and choose Details to open its detail view. The Domains tab there is the same editable surface as the loaded fusor's detail view. That helps when you are looking for a fusor to import from, or when you want to adjust a fusor you have not loaded.


Four things to know

  • Import copies a single domain between fusors in a few clicks, with no hand-editing of JSON.
  • If the source row you want isn't listed, check that the source fusor's app tags overlap with the target's, and that the target still has a blank side left for the source to fill. A domain with curves on both sides has nothing left to import into.
  • Preview before Import when in doubt. The read-only editor gives you the full curve navigation, so you can scrub through every binding before committing.
  • Per-card preflight is the place for one-off domain reminders ("This fusor's EQ assumes Low cut all the way at start").