BounceBuddy — User Manual
Intelligent stem bouncing for Logic Pro · macOS · Manual v1.1 — July 2026
IntroWhat Bounce Buddy does
Bounce Buddy reads your open Logic Pro project, works out what your real stems are — tracks, stacks, folders, bus groups, multi-output instruments, Drum Machine Designer kits — and bounces each of them to its own audio file, automatically, while you get a coffee.
Instead of you soloing tracks one at a time and running Bounce dozens of times, Bounce Buddy:
- Decodes the project file directly. It reads Logic's own project data to discover every channel strip, its routing, sends, folder membership, mute state, and colour — without flapping windows or relying on what happens to be visible on screen.
- Builds a stem map. Tracks are grouped the way you actually mix: summing stacks, folder stacks, bus groups, channel groups, Logic track groups, colour groups, stereo pairs, multi-out and multi-timbral instruments, Drum Machine Designer rigs, and your own custom groups.
- Bounces each stem in isolation by driving Logic for you — soloing the right strips, handling sends and sidechains correctly, muting mix-bus limiters if you ask it to, and naming every file from your template.
- Proves the result. An optional phase-cancellation null test sums your stems and cancels them against a reference mix, so you know the stems really add up to the mix before you send them anywhere.
Start hereQuick Start — your first stem bounce
- Open your project in Logic Pro and save it (⌘S). Bounce Buddy reads the saved project data, so a fresh save means a fresh picture.
- Launch Bounce Buddy and click the big Scan button. First launch runs a short setup wizard: pick your stems folder, confirm the bounce format, and import your Logic key commands. The scan takes a few seconds to a minute on large projects — progress shows in the footer.
- Review the stem list. Every row is one file-to-be. Tick or untick rows to include or exclude them; open the Grouping panel (right rail) to change how tracks are folded into stems — e.g. one stem per summing stack vs. one per track.
- Check Sends & Outputs (right rail): untick FX returns you don't want printed, and choose whether mix-bus limiters/compressors are muted during the bounce.
- Click Bounce (or press ⌘⏎). Keep your hands off Logic while it runs — Bounce Buddy is driving. Watch progress in the footer; press Esc any time to cancel safely. When it finishes, waveforms appear in each row, the verdict card shows the phase-cancel result, and the folder icon in the toolbar reveals your stems folder.
{project} - {stemName}, in your chosen stems folder.TourThe main window
Bounce Buddy uses a three-frame layout inside a single dark window.
Left frame — project info & snapshots
A summary column: project length (bars and minutes), current bounce format (WAV/AIFF, bit depth, sample rate, MP3), detected sends (FX returns and parallel buses), the mix-bus mute mode, phase-cancel verification status, and the notification channel. Below it, Bounce Snapshots lists every bounce made this session — click one to review it.
Middle frame — the stem list
The heart of the app. A tab strip along the top holds the white STEMS pill (your main list) and one coloured pill per Version, plus a + button to create versions. Trailing toggles: Select All, Show Excluded, and a global Sidechains reveal. Below the list, tabs open the four slide-over panels: Grouping, Sends, Outputs, Sidechains.
Right rail — panel icons
A slim icon strip on the right edge mirrors those four panels; click an icon to slide its panel over the list, click again (or click away) to dismiss. Icons highlight while their panel is open.
Toolbar
Left: Cancel / Reset — during a run it reads Cancel Scan / Cancel Bounce (Esc); idle it reads Reset, which clears the scan (undoable with ⌘Z). Centre: the project name, taken from Logic. Right: a folder icon that discloses the full stems path, a ? Help button (Replay guided tour · Open user manual), and the gear for Settings (⌘,).
Live / Bounced chip
After a bounce, a status chip in the header switches between two views of the same project: Bounced (amber) shows the latest bounce snapshot with its audio loaded; click it to flip back to Live (green) — the true pre-bounce editing view with waveform lanes cleared. Click again to re-enter the snapshot. It's a toggle, so you can compare "what I bounced" against "what I'm editing" any time.
Footer
Live status text on the left — scan phases, then per-stem progress during a run: Bouncing Stem 4 of 12 · Drums (or Bouncing Version 2 of 3), with Preparing versions bounce… between passes and a ✓ Stem Bounce Complete chip when the stems pass lands. On the right: row-size and waveform-height sliders, Rescan (⇧⌘R), and the prominent amber Bounce button. Expandable Scan Log and Bounce Log panels live below for the curious.
CoreThe stem list
Each row is one stem — one audio file the bounce will produce. A row shows: a kind glyph (tinted by grouping type and Logic track colour), the name, its grouping chain (e.g. Folder › Bus › Channel Group, revealed on hover), the bounce toggle (filled = armed, hollow = skipped), the duration, and — after a bounce — file size and a waveform lane. Nested children are indented under their parent group.
Selecting and arming
- Click a row to toggle whether it bounces. ⌘-click multi-selects.
- ⌥-click and drag to paint a toggle across many rows in one sweep.
- Select All lives in the tab strip; ⌘A works too.
- Rows with a lock icon are excluded (e.g. FX returns are never stems — they're handled in Sends).
Row actions
- Chevron — expand/collapse a group to see or arm its children individually.
- Right-click — Promote (lift a child out of its group into a stem of its own), Rename, Delete, view sidechains inline, and a colour swatch.
- ⌘-drag — reorder rows.
- Select two or more rows and a floating Create User Group panel appears — name it and click Create Group to bounce those tracks as one combined stem.
WorkflowVersions
Versions let you keep multiple stem selections side by side — e.g. a "Full stems" pass, a "TV mix" with vocals unticked, and an "Instrumental". Each version is a pill in the tab strip with its own tint colour and its own include/exclude state.
- + in the tab strip creates a version; double-click a pill to rename it inline.
- Right-click a pill for the colour picker (swatch grid, More… for the full colour panel, Reset, plus Duplicate and Delete).
- ⌥-click a version's dot to arm or disarm it for the next bounce run — armed versions bounce in sequence, each into its own set of files.
- Hover a pill after a bounce to preview its audio with a play button.
Bounce range per version
Each version tab has a RANGE picker above its stem list: Cycle / whole project, or any Section or Marker read from your arrangement — so an "Instrumental — Chorus 2 only" version is just a version with its range set to that section. Tracks with nothing audible in the chosen range are excluded automatically.
Reviewing a bounced version
After a version bounces, its tab shows the rendered mix waveform framed in the version's tint colour, and the rows go read-only while reviewing (flip the header chip back to Live to edit again). With a version tab selected, the two footer sliders retarget: the left one scales the version waveform's amplitude (1×–8×, handy for quiet mixes), the right one its height. Click (or ⌥-click) a slider to reset it.
PanelGrouping — how tracks become stems
The Grouping panel ("Group tracks by") decides how the raw track list folds into stems. Each grouping type has a toggle and a colour swatch (click the swatch to override its tint). Turn a type on and matching tracks collapse into one stem per group; turn it off and they fall back to individual rows.
Tracks & instruments
Tracks (one stem per track) · Stereo Pairs (L/R pairs unified) · Multi-Out (multi-output instruments and their aux lanes as one stem) · Multi-Timbral · Drum Machine Designer (a DMD kit's pads bounce as the kit) · External MIDI · Pattern Track.
Logic structures
Summing Stacks · Folder Stacks · Channel Groups · Logic Track Groups (mixer groups) · Custom Groups (the user groups you create from the stem list).
Buses & sends
Bus Groups (everything feeding a bus becomes one stem, printed through that bus's processing) · FX Returns · Parallel Buses. There's also a Colour grouping that folds same-coloured tracks together.
Groupings nest sensibly — a summing stack inside a folder inside a bus group resolves to the outermost enabled grouping, and you can always expand a group and promote a child to split it back out.
PanelSends
The Sends panel lists every detected send destination, split into two columns: Mix Level (returns feeding the main mix) and Nested Returns (returns living inside a folder or stack), each sub-divided into FX Returns and Parallel Buses.
- Each row has a checkbox: ticked = the send stays audible in the bounced stems; unticked = that return is muted during the bounce (dry).
- The All on master pill at the top of each column bulk-toggles it.
- The keyword settings button opens the classification rules — how the app decides what counts as a reverb, delay, or parallel bus by plugin and name.
PanelSidechains
Bounce Buddy detects every sidechain relationship in the project — which plugin on which strip listens to which feeder track — and keeps them working during isolated bounces (the feeder is kept feeding the detector even when it isn't in the stem being printed, so your pumping compressor still pumps).
The panel groups relationships by receiving track: each child row reads <Plugin> ← <Feeder> with an On/Off pill. Turn one off to bounce that stem without the sidechain effect. The global Sidechains toggle in the tab strip reveals sidechain pills inline on the stem rows themselves.
PanelOutput chain
The Outputs panel draws your master signal path as a tree — sub-mix and master buses flowing into Stereo Out, plus any extra hardware outputs — with a card per strip listing its inserts.
- Per-insert bypass toggles let you disable specific master-chain plugins for the bounce (e.g. print stems without the loudness limiter but keep the glue compressor).
- Mix-bus mute mode (also in Settings → Advanced) automates the common cases: OFF (print through everything), Limiters, or Limiters and Compressors — dynamics on the mix bus are muted while stems print, then restored.
- Restore Initial State per strip and a global Re-initialize put everything back the way Logic had it. With "Restore initial plugin state after bounce" on (default), this happens automatically.
- Room-correction and headphone-simulation plugins (Sonarworks, ARC, Dirac, Waves Nx…) can be auto-bypassed via Settings → Bounce so they never end up printed into your stems.
ProcessScanning
A scan reads the project and builds the stem map. The footer narrates the phases: Scanning Logic project… → Analysing sub-groups… → Scanning mix bus plugins… → Scanning aux inserts…
- Scan (splash screen) runs the first scan; Rescan (⇧⌘R) refreshes after you change the project. Settings → Bounce can auto-save the Logic project before each rescan so the data is always current.
- The scan is driven by the project file itself, not by walking Logic's windows — so it doesn't care whether folders are open, tracks are hidden, or the mixer is scrolled. Hidden and muted tracks are detected and handled correctly.
- Results are cached: reopening the same project restores instantly, and live mute changes in Logic still surface.
- Scan range option: "Only tracks with regions in the cycle" limits the list to what actually plays inside your cycle locators. Independently, tracks with nothing audible in the active range are soft-excluded with an "out-of-cycle" reason — a version whose range does overlap them pulls them back in automatically.
- A small refresh icon in the Stem Info box re-reads the cycle position and project duration from Logic without a full rescan.
ProcessBouncing
Click Bounce and Bounce Buddy takes the wheel: for each armed stem it isolates the right strips (solo/mute via the project's real routing), configures Logic's bounce dialog (range, format, normalisation), renders the file, and moves on. Sends, sidechains, and mix-bus mutes are applied per your panel choices and restored afterwards.
While it runs
- Don't touch Logic. The app is clicking and typing into it; interference is the #1 cause of a failed pass.
- The footer shows Bouncing <stem name> with overall progress; the Bounce Log has the play-by-play.
- Cancel any time with Esc or the Cancel Bounce button — the app finishes tearing down safely and restores Logic's state (solos, mutes, plugin bypasses) before stopping.
Wet / dry modes (Settings → Bounce)
| Mode | Result |
|---|---|
| Mix Level | One file per stem, exactly as it sits in the mix — sends and all. |
| Dry Only | One file per stem with FX returns muted. |
| Wet + Dry | Two files per stem — _DRY and _WET — so the mix engineer can rebalance effects. |
Range & length
- Entire project (ignore cycle) — bounce full song length; off = bounce the cycle locators.
- End each stem at its last region — trims trailing silence per stem (with the audio-tail option to keep reverb/delay tails).
- Marker/section-based ranges are set via the cycle in Logic; Bounce Buddy drives the bounce dialog's start/end for you.
After the bounce — review mode
The window switches to review: bounced stems get a Bounced pill, waveform lanes, and file sizes; Show Excluded becomes a bounced/non-bounced filter; the Outputs panel goes read-only until you restore or rescan. A result card summarises the run ("Stems bounced: N · Versions bounced: M") and the footer message links straight to the destination folders. Use the header's Bounced / Live chip to flip between the snapshot and the editable pre-bounce view.
TrustPhase-cancel verification
With "Verify stems by phase-cancellation" on (Settings → Bounce), Bounce Buddy sums your freshly bounced stems, flips the polarity, and plays the result against a reference mix. If the stems truly reconstruct the mix, they cancel to (near) silence.
The verdict card floats over the stem list, leading with a match percentage (the residual peak in dBFS sits in the details line) and a tier:
| Verdict | Colour | Meaning |
|---|---|---|
| Identical | Green | Null to the noise floor — bit-faithful stems. |
| Verified | Green | Cancels below the verified threshold — safe to deliver. Includes small residuals from time-variant FX (chorus, analog-modelled saturation) that never null perfectly. |
| Render variation ✓ / Review | Amber | Wider-but-loud residual, typically non-deterministic rendering — listen before delivering. |
| Mismatch | Red | Audible structural residual — something is missing or doubled. Check the log's attribution for which stem is implicated. |
The dB thresholds are tunable in Settings ("'Verified' at/below", "'Render variation ✓' at/below"). A separate always-on full-mix safety guard also watches every run: if two or more stems come out sample-identical, a solo failed somewhere and the app warns you loudly rather than letting duplicate full-mix files slip through.
ReviewPlayer, snapshots & offline browsing
In-window player
Once audio exists, waveform lanes appear in the rows and a transport bar offers play/pause (Space), return-to-start (⏎), a scrub slider, and a volume popover. ⌘+vertical-scroll zooms the waveforms; ⌘+horizontal-scroll (or plain horizontal scroll when zoomed) pans. A Strip Silence popover (threshold, minimum silence, pre-attack, post-release, zero-crossing search) tightens files after the fact.
Stem Player & Snapshots windows
Stem Player (⇧⌘P) is a dedicated playback window. Bounce Snapshots (⇧⌘B) lists every timestamped bounce from the session — click one to freeze the main window on that pass and audition it.
Offline mode — .bouncebuddy files
Every bounce can be saved as a .bouncebuddy package. Without Logic running, launch Bounce Buddy and click Load to browse a past session read-only: full stem list, groupings, waveforms, playback. Rescan and Bounce stay disabled until Logic and the project are back.
ReferenceSettings reference
Open with the gear or ⌘,. Four amber pill tabs; the same content appears as a single scrolling wizard on first launch.
Files
| Setting | What it does |
|---|---|
| Stems Save Folder | Destination for all bounced files (Choose… / Change…). |
| File naming template | Build names from tokens: {project}, {stemName}, {date}, {time} — with a live preview. |
| If file exists | Replace / Auto-suffix / Skip. |
Bounce
| Setting | What it does |
|---|---|
| Mode | Automatic / Offline / Realtime bounce engine. |
| Wet/Dry | Mix Level / Dry Only / Wet + Dry (see Bouncing). |
| Entire project (ignore cycle) | Full-length bounce vs. cycle range. |
| Only tracks with regions in the cycle | Scan-range filter. |
| End each stem at its last region | Per-stem trim (disabled when Entire project is on). |
| Include Audio Tail | Keeps reverb/delay tails past the last region. |
| Bounce all-mono stems as mono | Mono sources produce mono files. |
| Uncompressed format | WAVE / AIFF · 16 / 24 / 32-bit · match project / 44.1 / 48 / 88.2 / 96 kHz. |
| MP3 | Additionally render MP3s. |
| Normalise | Off / Overload Protection Only / On. |
| Turn off dithering | Disables dither for the render. |
| Bypass room-correction plugins | Auto-bypasses monitoring correction so it isn't printed. |
| Notify when bounce completes | Notification channel (Off / WhatsApp / Email). |
| Verify stems by phase-cancellation | Null test + four tunable dB thresholds. |
| Save Logic project before Rescan | Forces fresh project data every scan. |
Advanced
| Setting | What it does |
|---|---|
| Tidy up stems automatically on scan | Auto-groups toward a Target stem count (1–64). |
| Restore initial plugin state after bounce | Puts Stereo Out inserts back automatically. |
| Mix-bus mute (stems only) | OFF / Limiters / Limiters and Compressors. |
| Tint list by Logic track colours | Row tinting from Logic's palette. |
| Row size | Compact / Normal / Spacious. |
| Experimental | Force-run OUTMAP; Pure songData scan (no mixer walks). |
Keys
Import my key commands from Logic reads your Logic key-command set so the app drives Logic with your shortcuts. Each action row has a shortcut recorder, a Reveal in Logic button (opens Logic's Key Commands window pre-searched to that command), a reset-to-default, and the default binding for reference. A Fallback Shortcuts group lists read-only commands the app reaches through the UI instead.
ReferenceKeyboard shortcuts
| Shortcut | Action |
|---|---|
| ⌘⏎ | Bounce |
| Esc | Cancel scan / bounce (works even while Logic is frontmost) |
| ⇧⌘R | Rescan |
| ⌘A | Select all stems |
| ⌘Z / ⇧⌘Z | Undo / Redo (excludes, renames, grouping toggles…) |
| Space | Play / pause (player) |
| ⏎ | Return to start (player) |
| ⌘ + scroll ↕ | Zoom waveforms |
| ⌘ + scroll ↔ | Pan waveforms |
| ⌥-click / drag | Paint include/exclude across rows |
| ⌘-click | Multi-select rows |
| ⌘-drag | Reorder rows |
| ⇧⌘M | Main window |
| ⇧⌘P | Stem Player window |
| ⇧⌘B | Bounce Snapshots window |
| ⌘, | Settings |
HelpTroubleshooting
The scan misses a track or gets a group wrong
Save the project in Logic (⌘S) and Rescan — the app reads saved project data and autosave can lag. Enable "Save Logic project before Rescan" to make this automatic.
A stem sounds like the full mix
The built-in safety guard flags this automatically (identical files across stems ⇒ a solo failed). Check the orange banner, then verify Logic's key commands are imported (Settings → Keys) — solo/mute driving depends on them — and re-run the affected stems.
Phase-cancel says "Close" instead of "Verified"
Usually harmless: time-variant plugins (chorus, ensemble, analog-modelled gear) never null perfectly. Read the residual dB and the attribution line; raise the Close threshold in Settings if it's your normal plugin palette.
The bounce stalled or Logic did something unexpected
Press Esc — cancellation restores Logic's solos, mutes, and plugin states before stopping. Then check the Bounce Log (footer). Make sure nothing touched Logic mid-run: notifications, other automation tools, or a stray click can steal focus from the bounce dialog.
Buttons are greyed out
Rescan and Bounce disable while offline (a .bouncebuddy loaded without Logic), during a run, or when no stems are armed. The button's tooltip says which.
Live Loops warning
Cells placed in the Live Loops grid don't render in a linear bounce — the blue banner lists them. Commit cells to the arrangement first if they belong in the stems.