Stepped Output

Stepped output constrains a parameter lane to a small step set of named, discrete levels and tells the runtime to sample-and-hold between them. No interpolation, no smooth ramp. Use it for parameters whose meaningful values are indexed rather than continuous: a delay's rate in beat fractions, a gater's rate, a beat slicer's pattern number, or an FX amount knob that only sounds right at a handful of positions.

Most lanes are continuous bezier curves and should stay that way. A step set is for a control whose values are genuinely discrete.


Two ways to get sample-and-hold

The Domain Editor's property strip, below the canvas, has a Step Set control (Attach… / Change… / Detach). Hold interpolation itself is set from the curve's point menu or its Edit curve menu (see Curve Editor), so there are two distinct ways to get hold behavior:

  • Hold interpolation, no step set attached. Anchors sit at any height you like; each one holds its value until the next anchor. Use this when the control needs discrete jumps but the values themselves aren't drawn from a fixed, named list.
  • A step set attached. Anchors are additionally constrained to the set's named levels. An anchor can only be set to "1/8," "1/4," and so on, never in between. Attaching a step set always forces Hold, since a smooth ramp between named levels would send the host values the DJ never actually chose, and both interpolation menus stop offering a choice while a step set is attached.

Which one you want comes down to the values. A step set is for a control whose levels have names that matter and that you will reuse across fusors. Bare Hold is for a control that jumps between hand-picked values with no reusable named list behind them.

A step set always holds every span. That makes the curve editor's per-point Interpolation to next point item meaningless here, so it is left off the point menu on a step-set curve.


When to use a step set

  • The control has a fixed list of levels (for example, a Traktor delay's beat-fraction rates, or a gater's rate).
  • The effect's own control steps through patterns or modes rather than scaling smoothly (a beat slicer's pattern, a djay FX bank's echo type).
  • You want the lane to hold exactly at a known level, never between levels.

A few common shapes that map directly to bundled step sets:

  • A kill switch or mute toggle: Off / On.
  • A four-position level selector: Off / Low / Mid / High.
  • An echo or delay length lane: Beat Fractions (5) (1/8 / 1/4 / 1/2 / 1 / 2) or Beat Fractions (7) (1/32 ... 2).

Traktor-specific controls also have bundled step sets: Delay Rate (7), Delay T3 Rate (7), LFO Rate (11), Gater Rate (5), Ramp Duration (7), Pattern (5), and Pattern (4). Each shows a traktor chip in the list, and typing traktor in the search field narrows the list to them. Each set's description names the effects it fits. Pick by effect, not by the control's name: Delay turns its RATE knob from short to long, and Delay T3 and Ramp Delay turn theirs from long to short, so they have separate sets.

Some sets with that chip, such as Tempo Range (14) and Mixer FX (5), belong to controls no parameter lane reaches. Those selectors are action-only; you set them from a pre-run or post-run action instead, by name (see MIDI Mapping). They still show in the list, tagged Action only, and their descriptions show in orange.

If the control is a smooth knob or fader (volume, EQ, filter), leave the lane as a continuous bezier curve.


Attaching a step set

In the Domain Editor, the property strip below the canvas shows Step Set: None for a continuous binding.

  1. Click Attach…. The Step Sets window opens in its picking view, with Picking for and the lane's name across the top.
  2. The list on the left holds every step set Fusor Studio knows about, bundled ones plus any you've saved to your library. The search field above it matches a set's name, description, id and DJ app tags.
  3. Click a step set in the list to preview its steps on the ladder beside it, with its description below the ladder. Clicking a row only previews. The first visible row is preselected so the ladder is never empty.
  4. Click Apply to this lane. The window closes, the property strip switches to Step Set: N steps, both interpolation menus stop offering a choice (a step set always holds), and the curve renders as a staircase with dashed reference lines and a labeled gutter down the left edge of the canvas.
  5. Cancel or the X closes the window and leaves the lane exactly as it was.

Attaching to a curve that already has anchors snaps each anchor to the nearest step level by height, since there's no existing ladder to match labels against.

While the picking view is open

The curve editor stays usable. Clicking Attach… or Change… on another lane points the open window at that lane.

If the curve editor is on a different lane when you click Apply to this lane, the window shows The curve editor moved to another lane. Nothing was applied. and Close replaces the buttons. Returning to the original lane before you click Apply avoids this.

If the Step Sets window holds unsaved changes when you click Attach… or Change…, it asks whether to discard them first. Keep editing leaves your edit in place and starts no pick.

Editing a step set

The picking view only applies step sets. To edit, duplicate or delete one, use the Step Sets window from the Library window's Step Sets button. The picking view reads your library each time it opens, so anything you saved or deleted there is in its list.

Changing or detaching

  • Change… replaces the Attach button once a step set is attached. It opens the same picking view. Applying a different step set re-snaps your anchors by matching label where the new set has one, falling back to the nearest remaining level otherwise. An anchor on "1/4" stays on "1/4" if the new set also has a "1/4" level.
  • Detach drops the step set constraint only. Anchor values are unchanged, the curve keeps holding, and the library step set itself is untouched. It is styled as a plain button rather than a warning color. Output stays identical until your next edit, and you can re-attach at any time. Detaching lifts a constraint, and to turn the staircase into a curve afterwards you set interpolation to Bezier or Linear yourself, from the point menu or the Edit curve menu (see Interpolation).

For a button parameter (a kill switch), the step set is fixed to the control's own two-level shape. The property strip's Step Set box shows greyed out, with a disabled Attach… button, rather than reading Step Set: N steps; Change, Detach and Save Set stay absent. Only the two labels can be renamed (see below).


Editing the steps on the canvas

Once a step set is attached, the labels running down the left edge of the canvas (the gutter) are the click target for editing steps. The dashed line body is for adding an anchor, same as on any curve. Click or right-click a label to open a menu:

  • Rename… replaces the label with an inline input; type the new name and press Enter, or click away to commit.
  • Add step above / Add step below inserts a new level next to this one (above means up-screen, a higher value). The new level gets a placeholder name you will usually want to replace.
  • Delete step removes this level. Disabled once the set is down to 2 levels; a step set can never have fewer.

A step set holds at most 16 levels, the same cap as the anchor count on any curve.

For a button parameter the menu only offers Rename; its two-level shape is fixed.

These edits change only this lane's copy of the step set. The catalog entry, bundled or user, is untouched unless you explicitly save over it (see below).

What moves when you add or delete a step

Adding or deleting a level re-spaces every step evenly across the full range. Existing anchors move with the name they're sitting on: wherever that name ends up on the re-spaced ladder is where the anchor goes. Insert a step below "1/8" and every anchor that was sitting on "1/8" moves up-screen along with it, tracking the beat fraction the DJ actually chose.

So adding or removing a step visibly reshapes the curve. Leaving an anchor at its old screen height, once the level's meaning had shifted, would detach it from the name the DJ actually picked.

Deleting a level that has anchors sitting on it snaps those anchors to the nearest remaining level. Renaming a level moves nothing. Only Add and Delete re-space the ladder.


Saving a custom step set

When you have built a step set worth reusing, such as a set of echo timings for one effect or a four-position selector with custom labels, save it to your library. The next fusor you build can then attach the same step set in one click.

  1. With the lane in stepped mode and the labels the way you want them, click Save Set… on the property strip.
  2. The Step Sets window opens with a new draft pre-filled from the lane's current steps. Enter a Name (required), an optional Description, and any DJ apps the step set should be tagged for. Leave the apps field empty to save it as universal, which shows it for every DJ app. The id is derived from the name (lowercase, prefixed user.) and shown live below the name field.
  3. Click Save in the Step Sets window. The step set is written to your library's step_sets/ folder (Documents/Fusor/step_sets/ by default) as a single JSON file, and is in the list the next time you click Attach… or Change…, with no app restart needed.

If the name you chose matches a step set you already saved, Fusor Studio asks whether to overwrite it rather than refusing the name. Overwriting replaces that set's steps; its description and DJ apps are kept unless you typed your own. Cancel instead and your draft is untouched, so you can pick a different name. Bundled step sets can't be overwritten, so those always need a new name.

A stored step set is just an ordered list of labels: every level sits at an even fraction of the range, first at 0 and last at 1, evenly spaced in between. If this lane's step values have been hand-set to something uneven, which can only happen by hand-editing a .fusor file, the save is blocked with an explanation rather than silently discarding the custom values. If you genuinely need uneven values, keep the lane as a free curve with Hold interpolation rather than trying to save it as a step set. See Two ways to get sample-and-hold above.

User step sets show up in the list alongside bundled step sets, with a User badge so you can tell them apart. To update a set you already saved, save over it from a lane as above, or select it in the Step Sets window's library list and edit it there. See Step Sets for the full builder: one place to create, edit, and overwrite step sets, whether you land there from a lane's Save Set… or from the Library window's Step Sets button.


The Step Sets window: managing your step set library

Save Set… on a lane opens the Step Sets window pre-filled with that lane's steps, captured at the moment you click. The same window is also reachable directly, with no fusor open at all, for building and organizing step sets on their own. See Step Sets.


Example: naming the levels of a discrete effect

djay's Echo effect has four selectable types. The "amount" knob is continuous on the wire but only four positions matter musically.

  1. Open a lane targeting the djay FX amount address for the deck running Echo.
  2. Click Attach… on the property strip. None of the bundled step sets match four named echo types, so pick Off / Low / Mid / High as a starting point and click Apply to this lane. You'll rename its levels next.
  3. Rename each level: click the first gutter label, choose Rename…, and type Echo 1. Repeat for the remaining three labels (Echo 2, Echo 3, Echo 4).
  4. Click Save Set…. The Step Sets window opens with the four labels already filled in; name the step set "djay Echo Types" there and save it. The next djay-Echo fusor you build can attach it directly instead of repeating step 3.
  5. Add an anchor for each point where you want the echo type to change: right-click the point before the gap and choose Add control point on its point menu, then drag the new anchor to the progress point you want. Each anchor snaps to one of the four labels; the staircase between them confirms there's no interpolation.
  6. At runtime, the Fusor player emits the exact step value at each anchor and holds it until the next step.

If the four echo types genuinely needed uneven amounts instead of evenly-spaced ones (say 0.1, 0.3, 0.5, 0.9), a step set isn't the right tool, since a stored step set is always evenly spaced. Leave the lane on a free curve with Hold interpolation instead: anchors can sit at any height, and the curve still won't interpolate between them.


Four things to know

  • Save reusable step sets to your library, or build them ahead of time in the Step Sets window. If the same four echo timings turn up across several fusors, save them once and attach them from then on.
  • Two anchors at the same step level produce a flat hold, which pins a level across a stretch of the transition before stepping.
  • Adding or deleting a step reshapes the curve, because anchors move with the level's name as the ladder re-spaces. See What moves when you add or delete a step above.
  • Detach is safe to try: it drops the constraint, the lane's current output does not change, and re-attaching is one click away.