Author Your First Fusor

You're going to build a volume crossfade from an empty file: the outgoing deck's channel fader comes down as the incoming deck's goes up. It is the simplest fusor that does something real, and it exercises every part of the editor you'll use for everything else.

Twenty minutes. Nothing you do here can break an existing fusor.

Before you start

  • Your First Transition done, so you know what a fusor does before you build one.
  • A rough idea of the three-word model, which is the whole of it:
TermWhat it is
DomainA group of related controls the fusor drives — the channel fader, the 3-band EQ, an FX unit. Each domain covers the outgoing side, the incoming side, or both.
Parameter bindingOne automated parameter inside a domain. The channel fader has exactly one.
CurveThe shape that drives that parameter from 0% to 100% progress. You draw it by dragging points.

Fusor authoring is a licensed capability — see Licensing. Actions aren't; that's the next tutorial.

1. Create the fusor

  1. Click the Library menu in the player's menubar. The Library window opens.
  2. Make sure Fusors is selected in the window header, then the Fusors sub-tab.
  3. Click the blue + in the list header (tooltip New Fusor).

The fusor's detail view opens straight away, and the list row is marked unsaved. Nothing is on disk yet — this is a draft held in memory, and the header says so: the subtitle reads Unsaved and a Save to library action sits beside it.

That's the one exception to how this editor normally works. Every other fusor autosaves as you type; a draft waits for you to commit it, because there's no file to write to yet.

2. Name it

The detail view has three tabs: Info, Domains, Actions. You start on Info.

Click the Name field and type My First Crossfade. Click out of the field to commit — text fields on this surface commit on blur, not on a Save button.

The filename follows the name. When you save, Fusor Studio derives the file name from what you typed and writes it into your library's fusors/ folder.

3. Fill in two more fields, and deliberately skip one

Still on the Info tab:

  • Author — your name. It travels with the file if you send it to anyone.
  • Mix-In Point — pick Middle.

Mix-In Point says where the incoming track's mix-in point (the end of its intro) falls on the transition. Three choices, or leave it unset. For a straight volume crossfade, Middle is the honest answer: the intro ends about halfway, both tracks play on past that, and the outgoing plays out.

It is advisory. The engine never reads it and it times nothing. It's a label for you and for anyone you share the file with, and the Fusors list can sort by it.

Now the field to leave empty: Apps.

Apps tags a fusor for one or more DJ apps, and it does something with real consequences — it filters which domain types you're allowed to add. The filter is strict in both directions, which catches people out on a brand-new fusor:

An untagged fusor accepts only untagged domain types. Exactly two are untagged, Channel Fader and 3-Band EQ, because those are the only two controls every DJ app has. Set Apps and the rest of the list appears; leave it empty and you get a fusor that runs anywhere.

We want the universal one, so leave it blank. If you later add an FX domain, tag the fusor first.

4. Add the outgoing side

  1. Click the Domains tab. It's empty, with Add Domain and Import Domain buttons below.
  2. Click Add Domain. A small popover opens headed Add domain, listing the domain types this fusor can still add. As promised, there are two: Channel Fader and 3-Band EQ.
  3. Click Channel Fader. The popover moves to a second step, headed with the domain's name, offering three scopes: Both Sides, Outgoing Only, Incoming Only.
  4. Click Outgoing Only.

A Channel Fader card appears on the Domains tab with one parameter, Volume, on the outgoing column. It has no curve yet.

We could have picked Both Sides and had both in one click. We didn't, because doing it one side at a time is what teaches the thing worth knowing: a fusor's curves are attached to roles, not to decks. "Outgoing" means whichever deck is currently mixing out. Your curves never know whether that's Deck A or Deck B, which is why the same fusor keeps working after roles swap.

5. Open the Domain Editor

Click the Channel Fader card's header. The Domain Editor opens in its own window.

Its layout, top to bottom: the domain name, a row of parameter tabs (just Volume here), the square curve canvas, a property strip, a readout of the selected anchor's exact numbers, and a toolbar along the bottom.

Read the canvas as a graph:

  • Left to right is transition progress, 0% to 100%.
  • Bottom to top is the value the control gets, 0 to 1. For a channel fader, bottom is silence and top is full.

One thing to know before you touch it: the Domain Editor does not autosave. Everything else in this editor commits as you go; curve work has its own Save. Close this window with unsaved drags and they're gone.

6. Create the curve

The canvas reads No binding — click to create. Click it.

A two-anchor curve appears: a flat line across the top. Flat, because a new binding starts at the parameter's default value, and a channel fader's default is full.

Flat at the top is exactly right for a deck that's currently playing. What's missing is the part where it goes away.

7. Drag the end anchor down

The two orange dots at the left and right edges are the end anchors — the value at 0% progress and the value at 100%. Orange means an endpoint: you can drag it up and down, but not sideways. Its position along the progress axis is fixed by definition.

Drag the right-hand anchor all the way to the bottom of the canvas.

The line now slopes from full at 0% down to silence at 100%. That's a fade-out, and it's the whole of the outgoing side.

While an anchor is selected, a small readout below the canvas gives its exact numbers (P: 1.000 | V: 0.000), so you can land on 0 rather than near it.

8. Save it

Click Save & Close in the bottom-right of the Domain Editor.

Back on the Domains tab, the Channel Fader card's outgoing Volume row now shows a curve.

9. Extend the domain to the incoming side

The card header carries two small icons. The one on the left, a split rectangle (tooltip Extend to other side), appears only on a card that covers one side. Click it.

The card now has an incoming column too, with its own empty Volume parameter.

That's the model: one card per domain type, covering one side or both. You don't add a second Channel Fader domain — a fusor can't have two. Add Domain still lists Channel Fader while the card covers one side, but the entry carries a dimmed second line reading Extend to incoming side, and picking it does exactly what the icon just did: it fills the missing side of the card you already have. Once both sides are covered, the type drops out of the list.

The extended side comes in empty. Extending gives you the slot, not a copy of the curve, and you want a different shape on this side anyway.

10. Draw the incoming curve

  1. Click the card header again to reopen the Domain Editor. It now has side tabs above the canvas, Outgoing and Incoming, which weren't there when the domain covered one side. Click Incoming.
  2. The canvas reads No binding — click to create again. Click it. Another flat line at the top.
  3. This time drag the left-hand anchor to the bottom.

Now the incoming fader rises from silence at 0% to full at 100%. Two curves that cross in the middle: one deck leaves, one arrives.

Check the crossing

At the top-right of the side-tabs row is the ghost mode selector. Set it to Opposite Track.

A faded copy of the outgoing curve draws underneath the one you're editing. The two should meet cleanly in the middle. This is the fastest sanity check there is for a crossfade — if the ghost and the live curve don't cross where you expect, you can see it rather than having to run it.

11. Shape one handle

Both curves are straight lines right now, which sounds mechanical. A fade that eases is more musical, and one handle drag is enough to feel the difference.

The property strip below the canvas carries an Interp control set to Bezier, which is the default. Bezier means each anchor has handles: small squares on a short line off the anchor, controlling how the curve leaves and arrives.

  1. Click the left-hand anchor of the incoming curve — the one at the bottom-left. It grows slightly and outlines in yellow, and its handle square becomes visible.
  2. Drag that handle to the right, keeping it low.

The curve now leaves silence gently and climbs harder towards the end. Drag it up instead and the incoming arrives fast then levels off. There's no right answer; the point is that you're shaping where in the transition the change happens.

If a handle disappears, you probably dragged it past the top or bottom of the canvas. Its marker freezes at the edge, drawn hollow with a dashed stem. Grab that marker and drag inward to fish it back, or right-click the anchor and choose Reset handles.

Click Save & Close.

12. Save the fusor

Back on the detail view, click Save to library in the header.

The draft is written into your library's fusors/ folder, the Unsaved marker disappears, and from this point on the fusor autosaves — every edit commits a fraction of a second after you make it.

If the save is refused, the message says why. A fusor needs a name, at least one domain, and at least one parameter with a curve. Your edits stay where they are; fix the problem and save again.

The Undo icon at the right end of the tab bar (or Ctrl+Z) reverses your last text edit — a name, a description. It does not undo structural work: adding or deleting a domain, or anything you did on the canvas. That's why the delete affordances ask you to confirm.

13. Run it

Close the Library window. Then:

  1. Click the fusor picker and load My First Crossfade.
  2. Check the Mode toggle is in Manual, start your outgoing deck, arm, and walk the crossfader across.

Both channel faders move, one down and one up, along the shapes you drew. If the fade sounds like it dips in the middle, that's real — two linear fades crossing at half each is quieter than either alone at full. Shaping the handles is how you fix it, and the sample fusor Constant-Power Crossfade is the worked answer, with curves that hold perceived loudness steady across the transition.

What you learned

  • That a fusor is domains, each holding parameter bindings, each holding a curve.
  • That there's one card per domain type, extended to the second side rather than added twice.
  • That curves attach to roles, outgoing and incoming, never to physical decks.
  • That an untagged fusor only offers universal domain types, and why that's a feature.
  • That end anchors move vertically only, and bezier handles are how a fade gets its shape.
  • That the detail view autosaves and the Domain Editor doesn't.

Where to next

  • Curve Editor — every gesture on the canvas: interpolation modes, the right-click menu, copying and mirroring curves.
  • Domains — the full Add and Import flows, per-card preflight, collision rules.
  • Authoring Overview — the editing model: autosave, undo scope, the mid-transition lock, where files live.
  • Author Your First Action — the next tutorial, and the start of the three that build actions.