Pack Authoring
A pack is a fixed 8-slot container that maps actions onto the pads in Pad Mode. Each slot holds one action, or is empty. The pack file is the source of truth, and Pad Mode renders whichever pack is currently active.
This page covers the authoring side: creating packs, renaming them, editing their metadata, and assigning actions to slots. Pad Mode covers the runtime side, from turning Pad Mode on to firing pads from a hardware controller.
Where packs live
Pack files have the .fpack extension and live in your library folder (Documents/Fusor/ by default) under Packs/:
<library>/
Packs/
eq-resets.fpack
fx-staging.fpack
Each .fpack is a small JSON document with a fixed eight-slot array. Slots reference actions by their stable actionId, so renaming an action or moving its file does not break the pack. Deleting an action removes it from every pack that referenced it the next time those packs are read.
The Packs list view
Open the Library window and switch to Actions → Packs. The Packs sub-tab is a table with two data columns and two icon columns:
| Column | Notes |
|---|---|
| Name | The pack's display name. The active pack is rendered in bold blue. |
| Actions | How many slots are filled (0–8). |
| Hamburger icon | Show actions: filters the Actions sub-tab to this pack's contents |
| Info icon | Pack details: opens the pack's form, the same view the right-click menu's Details reaches |
The header has a single action:
- + New Pack (blue plus icon) prompts for a pack name, creates an empty pack file on disk, and adds it to the list.
Files Fusor Studio can't read. A .fpack file that isn't valid JSON, or that parses but isn't a pack, still shows up: a greyed row named after its file, sitting at the bottom of the list. Clicking or double-clicking it does nothing. Right-click it for Show in folder, which opens Explorer or Finder with the file selected. Hover it for a tooltip naming the problem. Fusor Studio never modifies the file. Once the file is fixed, the row turns back to normal the next time the Packs list is opened, whether by switching to it or by opening the Library on it.
When the Packs folder itself can't be opened (a permissions problem, a sync app that's offline, or the folder replaced by a file), the list shows one greyed row with an orange folder icon reading "Can't open the Packs folder", with a tooltip naming the problem the same way, for example "Can't open this folder (no permission). The list updates when it opens. Right-click and choose Show in folder." Clicking or double-clicking it does nothing. Right-click it for Show in folder, which opens Explorer or Finder at your library folder with Packs selected. It sits last. A newly created library with an empty Packs folder shows no such row.
Right-click menu
Right-click a pack row for the per-pack menu:
| Item | What it does |
|---|---|
| Show Actions | Filters the Actions sub-tab to only this pack's contents. |
| Edit Pad Slots | Opens the slot editor (see below). |
| Details | Opens the pack's metadata form (Name / Notes). |
| Set Active (or Set Active (switch)) | Makes this pack the one Pad Mode renders. The label reads "switch" when a different pack is already active. |
| Deactivate | Visible only on the currently-active pack. Clears the active selection, and Pad Mode shows "No active pack" until a pack is set active again. |
| Delete | Removes the .fpack file from disk, after a confirmation prompt. |
The active pack persists across app restarts.
The pack form (Details)
The info icon on the row, or right-click → Details, opens the pack's form view. (Double-clicking a row runs Show Actions instead.) The form has a small fixed shape:
| Field | Editable? | Notes |
|---|---|---|
| Name | Yes (click to edit) | Saves on blur. The on-disk filename is regenerated from the name; the pack's packId is preserved across renames. Renaming to a name that already exists is rejected with an error. |
| Short name | Yes (click to edit) | The compact label used where there is not room for the full name. Saves on blur. |
| Actions | No | Number of filled slots (read-only). |
| Notes | Yes (click to edit, multi-line) | Free-form notes about what this pack is for. Saves on blur. |
| Created | No | Relative date the pack was created. |
Edits autosave on blur, the same as the action and fusor detail views, so there is no Save button.
The Pad Slot Editor
Right-click a pack → Edit Pad Slots to open the slot editor. The editor is a two-column overlay inside the Library window:
| Column | What it shows |
|---|---|
| Left | The eight numbered slots (1–8), stacked top to bottom. Filled slots show the action's name and an X to clear; empty slots show "empty" in italic. |
| Right | A Filter actions… text input above a list of every library action not already in this pack. |
The header reads Pad slots: and the pack name, with a back arrow to return to the Packs list and a <filled>/8 counter on the right.
Example versions. An example action shows its version after its name, in the slots and in the list on the right. When your library holds an older version of an example, an All versions switch appears under Filter actions…: off, the list shows each example's newest version only; on, every version. A slot holding an older version, when a newer one is in your library, shows a blue up-arrow mark; click it to put the newer version in that slot. See Example versions.
Drag-and-drop
The slot editor is drag-driven:
- Add an action to a slot. Drag the action from the right column onto any slot. If the slot is empty, the action is placed there. If the slot already holds an action, the drop is refused: the status line reads
Slot N already holds an action. Clear it first., naming the slot's actual number, and nothing changes. Clear the slot first, then drag the new action in. - Move a slot. Drag a filled slot onto another slot to move the action. If the target is empty, the source slot empties; if the target is occupied, the two swap. Moving an action already in the pack is never refused, even onto an occupied slot.
- Clear a slot. Click the X on the right end of the slot row.
A flagged duplicate copy shows a small orange warning icon, icon only, in the unassigned list on the right and on a slot that holds one. Dragging one onto a slot is refused too, whatever the slot's state: the status line names the copy and the original it should point to instead. See Action Authoring Overview → Where files live for how a duplicate is flagged.
The drag-over target highlights with a dashed blue border so you can see where the drop will land.
All slot edits write to disk immediately. There is no Save button on the slot editor.
When the action list is empty
The right column shows one of two empty messages:
- "All actions assigned": every action in the library is already in this pack. The pack is full at eight, so this only happens if the library has eight or fewer actions.
- "No matches": the filter input is hiding everything. Clear the filter to see the actions again.
Authoring loop
To build a pack:
- Library → Actions → Packs → + New Pack. Name it for the context.
- Right-click the new pack → Edit Pad Slots.
- Drag actions from the right column onto the slots. Reorder by dragging slot-to-slot.
- Back arrow to return to the Packs list.
- Right-click → Set Active so Pad Mode uses this pack.
- Toggle Pad Mode from the toolbar (the grid icon in the session group). The pads now reflect this pack. See Pad Mode for the runtime walkthrough.
You can keep several packs in the library and switch between them with right-click → Set Active.
Four things to know
- An action can be in more than one pack.
- A slot is one action. There is no compound-pad type, so for two things on one pad press, author a single
.factionthat contains both steps and assign that. - Renaming an action does not break any pack that references it, because packs reference actions by
actionId. - The
.fpackfile is small JSON, safe to keep under version control alongside your.factionand.fusorfiles.
Where to next
- Pad Mode: turning Pad Mode on, firing pads, hardware-controller bindings.
- Action Authoring Overview: authoring the actions that go into a pack.
- Action Editor: editing the steps inside an action.
- Hardware Controller: binding pad-slot triggers (Pads 1–8) to a controller button.