All tutorials
Tab 3 of 6 · Batch

Render a whole folder of sources with one shared template

The Batch tab applies a single render template — component type, frame count and size, rotation or meter behavior, quality, and export options — to every image in an input folder, writing one filmstrip per source. Reach for it when you have a set of already-designed control art (a folder of knob PNGs, meter housings, etc.) and want them all rendered the same way in one pass, off the UI thread, with progress and cancellation.

Loading art

Two folder pickers in the right column: where the source images come from and where the rendered strips go. Both are disabled while a run is in progress.

  • Choose input folder… — opens a folder picker and scans it (non-recursive) for image files, sorted ordinally by path. A summary line reports how many were found: {N} image(s) found., or a warning if none matched.
  • Choose output folder… — opens a folder picker for where each rendered strip is written. Both this and the input folder must be set before Run batch becomes enabled.

Component type & frame geometry

What kind of control you're rendering, how many frames each strip has, and each frame's pixel size at 1x.

  • Component type — defaults to RotaryKnob. Choose from RotaryKnob, VerticalFader, HorizontalSlider, or Meter. Picking RotaryKnob reveals the Rotation section below; picking Meter reveals the Meter section instead.
  • Frames — the frame count for every strip in the run, default 64, range 2–512.
  • Width — frame width in pixels at 1x, default 80, range 1–4096.
  • Height — frame height in pixels at 1x, default 80, range 1–4096.
  • Square knob frames to each source — checked by default. For knob renders, sizes each frame to that individual source's own larger side rather than forcing every source into the fixed Width/Height above, so differently-sized source PNGs each get a correctly proportioned, source-matched square frame.

Rotation

Only shown when Component type is RotaryKnob. Governs the angular sweep baked into the frame sequence.

  • Sweep (degrees) — total angular travel from minimum to maximum value, default 270, range 1–360. The sweep is applied symmetrically around 0 (a 270° sweep runs -135° to +135°).
  • Clockwise (min → max) — checked by default. Frame 0 sits at the negative angle and sweeps clockwise to the positive angle as the value rises; unchecking it reverses the sweep to counter-clockwise.

Meter

Only shown when Component type is Meter. Configures segment count, fill behavior and direction, colors, and whether each source is finished art or a backdrop for procedural LEDs.

  • Segments — number of discrete LED-style segments, default 12, range 1–128. Only meaningful when Continuous fill is off.
  • Fill direction — default Up. Choose from Up, Down, LeftToRight, RightToLeft, matching whichever edge the meter should fill from.
  • Continuous (smooth) fill — unchecked by default. Unchecked fills in discrete steps of the Segments count (an LED-ladder look); checked produces a smooth, unsegmented fill instead.
  • On colour (#AARRGGBB) — free-text hex entry, default #FFE8440A (an opaque ember/orange). Used for lit segments.
  • Off colour — free-text hex entry, default #FF2A2A2A (an opaque dark grey). Used for unlit segments.
  • Source is a backdrop (draw procedural LEDs on top) — unchecked by default. Unchecked treats every source image as ready-made lit/on-state art, revealed progressively up to the fill level. Checked treats every source as a housing/backdrop and draws procedural LED segments over it using the Segments count and the On/Off colours.

Quality & output

Rendering quality, stack orientation, and HiDPI export options applied across every source in the run.

  • Supersample (anti-aliasing) — default 4. Choose 1, 2, 4, or 8; higher values render at a larger internal resolution then downsample for smoother edges, at the cost of render time per frame per source.
  • Stack direction — default Vertical. Choose Vertical or Horizontal for whether frames stack top-to-bottom or left-to-right in the output PNG.
  • Also export a HiDPI copy — checked by default. Exports an additional higher-resolution copy of each strip at the Scale chosen below.
  • Scale — only visible when "Also export a HiDPI copy" is checked. Default 2. Choose 2, 3, or 4, mapping to an @2x/@3x/@4x export suffix.
  • Also write a skin.json per strip — unchecked by default. Writes a skin.json manifest alongside each rendered strip, binding it to a parameter.

Code export (per strip)

Optional generation of ready-to-paste loader code for each exported strip, matching the Create and Assemble tabs' code-export panels.

  • Also emit ready-to-paste loader code — unchecked by default. Master switch — reveals the per-target checkboxes below when checked, and no code is emitted for any target while it's unchecked.
  • JUCE — checked by default (when code export is on). Emits a JUCE LookAndFeel filmstrip loader snippet per strip.
  • CSS / HTML — unchecked by default. Emits a CSS/HTML sprite control driven by background-position, plus a JS value setter, per strip.
  • iPlug2 — unchecked by default. Emits an iPlug2 IBKnobControl/IBSliderControl/IBitmapControl snippet per strip.
  • HISE — unchecked by default. Emits a HISE loader snippet per strip.
  • React / Web — unchecked by default. Emits a .jsx sprite component driven by a 0..1 value prop per strip.

Run, cancel, progress, and results

The controls that start and stop the job and report what happened. These stay live even while the render template is locked during a run.

  • Run batch — enabled once both folders are chosen and no run is already active. Renders every source in the input folder using the template above, updating progress as it goes; on completion, reports either a done or cancelled status with counts.
  • Cancel — enabled only while a run is in progress. Requests a cooperative stop; strips already written before the cancel are kept in the output folder.
  • Progress bar — visible only while running, filling from 0 to 100 based on completed vs. total items.
  • Progress text — shows {Completed}/{Total} — {CurrentFile}, updating as each source is processed.
  • Status message — defaults to "Choose an input folder and an output folder.", then tracks the run: processing, done, cancelled, or an error message if the run threw an exception.
  • Result summary — a scrollable panel filled in after the run completes. Reports "All {N} strips exported." when nothing failed, or a per-file failure list (filename and error, up to 8 entries with a "…and N more" line beyond that) when some strips failed.
Tip: The Batch tab's Component type list is a subset of what StripKit supports elsewhere — only Rotary Knob, Vertical Fader, Horizontal Slider, and Meter are available. Button and Toggle controls need per-state art and aren't batch-able here.
Tip: "Square knob frames to each source" (on by default) means the Width/Height you set aren't a hard guarantee for knobs — each source's own larger dimension can override them file-by-file within the same run. Turn it off if you need every knob frame locked to the exact size you specified.
Tip: "Source is a backdrop" is a hard fork in how every strip in the run is built, not a minor tweak — leave it unchecked if your source PNGs are already fully-lit on-state art, and check it only if your sources are unlit housings that should get StripKit's own procedural LED segments drawn on top. Getting this backwards will silently produce the wrong look across the entire batch.
Tip: Only .png, .webp, .bmp, .jpg, and .jpeg files are picked up from the input folder, the scan doesn't look into subfolders, and files are processed in ordinal path-sort order — anything else in the folder is silently skipped and won't appear in the input count or the progress readout.
Tip: The on/off meter colours are plain hex text fields, not colour swatches — an invalid hex value silently falls back to the default colour rather than flagging an error, so double-check what you typed if a meter's colours look off after a run.
Tip: Cancelling doesn't roll back anything — whatever strips were already written to the output folder before you cancelled stay there. And if a run reports failures, check the Result summary panel rather than assuming the batch is clean; its failure list truncates at 8 entries.