Skip to content

Six stems separated, two visible: the mixer gets a third of the window and the other panels cannot be reduced #480

Closed

Description

@diegoarusso

The problem

StemDeck separates into six stems by default, and eight with the lead/backing
vocal split. On a 1366x768 laptop the mixer shows two of them. The rest are
behind a scrollbar, so the app's main control surface can never show the thing
it just produced.

Where the vertical space goes

Measured off a screenshot rather than the DOM, so treat these as approximate:

Region Height Can the user reduce it?
App bar ~100 px no
Analysis panels (key, BPM, LUFS, presence row) ~175 px no
Mixer ~215 px —
Transport, click track, waveform ~230 px no

Roughly two thirds of the window is held by panels that are always at full
height, and the mixer gets what is left. A mixer row is about 72 px, so six
stems need somewhere near 465 px — more than double what is available.

static/css/mixer.css sets min-height: 190px, which is close to what it
actually gets.

What I already tried

The library collapses, and I am using it. It is the only layout control the app
offers and it does not help here: it returns horizontal space, and this is a
vertical problem. Both screenshots below are with the library already
collapsed.

As far as I can tell there is no collapse for the analysis panels or the
transport section. daw.css carries the collapse machinery for the catalog;
master.css, transport.css and mixer.css have none.

What I am not asking for

To be clear, since this could easily read as "remove clutter": every one of
those panels shows something useful. Key, BPM and tempo stability are why I
open a track at all, and the click track is the reason I can practise against
it.

The issue is that they are all mandatory at all times. I do not need the
presence percentages while I am setting fader levels, and I do not need the
waveform while I am reading the analysis. Right now the app has no way to say
that.

I am deliberately not proposing a solution. Collapsible sections, a density
option, a draggable split, layout presets — those are design calls, and the
last two reports I filed here ended with fixes better than what I would have
suggested. This one is yours to shape.

Environment

Windows 11, StemDeck 0.15.2, Windows x64 CPU-only portable build, 1366x768.
1366x768 is a common laptop resolution rather than an unusual one, so I suspect
this is not specific to my machine.

Activity

  1. diegoarusso commented on Aug 28, 2026

    @diegoarusso
    Author
    Image Image

    Both with the library collapsed; the first shows the expanded state for comparison

  2. self-assigned this
    on Aug 29, 2026
  3. thcp commented on Aug 29, 2026

    @thcp
    Collaborator

    @diegoarusso would you mind testing this branch?

    I’m experimenting with a few approaches and I’m not fully satisfied with the results yet, but this is what I have so far:

    Image

    Side panel compacted:

    Image
  4. diegoarusso commented on Aug 29, 2026

    @diegoarusso
    Author

    Tested it. The branch had already merged by the time I got to it, so this is
    main at 07f051a.

    Test conditions, since they matter here. I ran the repo against a throwaway
    copy of my library, so this is in a browser rather than the desktop shell.
    Chrome's own chrome costs about 135px of height, which is roughly a fifth of
    this screen, so my first read was unfairly harsh. Everything below is
    fullscreen (F11), which is the closest I can get to the real window.

    It is better. Same 1366x768, same track, six stems:

    Stems visible without scrolling
    0.15.2, desktop app 2
    main, browser fullscreen 3

    The analysis header is visibly tighter and the footer no longer reshuffles.
    That is real, and I would not have guessed it from the diff.

    Where it still lands for me. Three of six. Roughly, of 768px: app bar ~75,
    analysis ~160, mixer ~250, transport and waveform ~230. The two panels I am not
    using at that moment still take more height between them than the mixer does.
    Measured off a screenshot, so treat those as approximate.

    So the arithmetic changed but the shape did not: the mixer is still the only
    region that absorbs the shortfall, and it is the one showing the thing the app
    just produced.

    One thing I noticed that may be worth weighing. The per-lane transposition
    controls are excellent — that was the one feature I thought the app was missing
    and I am glad it is there. But K and the +/- made each lane taller, and
    lane height is exactly what is scarce here. Every future per-lane control will
    pull the same way. That tension seems worth a decision rather than being
    absorbed silently each time.

    To be clear about what I am asking, since I said it badly the first time:
    not less information. The analysis is why I open a track and the click track is
    why I can practise against it. What I miss is being able to fold away whichever
    of them I am not using right now — set fader levels without the presence
    percentages, read the analysis without the waveform.

    Still not proposing a solution, and I know you said you were not satisfied yet.
    Happy to test whatever comes next; I have the environment set up now, so it is
    cheap for me to retest.

  5. thcp commented on Aug 30, 2026

    @thcp
    Collaborator

    There is something for this in the next release, though I want to be straight
    that I do not think it is the finished answer.

    Three toggles sit under the composer and collapse the analysis header, the
    sections bar and the footer timeline. Each hands its height to the mixer. On a
    1366x768 window with six stems:

    Mixer Lanes visible
    Default 370 px 5 of 6
    Analysis collapsed 443 px 6 of 6, no scrolling
    All three collapsed 573 px 6 of 6

    So one click gets all six lanes on screen, and all three together are worth
    about 200 px.

    Your report is the reason it took this shape rather than a smaller default. The
    line about the panels being mandatory at all times, and not needing the presence
    percentages while setting fader levels, is what made it clear the problem was
    control and not size.

    Two things I am not happy with yet.

    It does not change what you see when you first open a track. Everything is still
    there by default, so the space is something you have to go and reclaim each
    time rather than something the app works out for you.

    And collapsing is all or nothing per panel. You said you do not need the
    presence percentages while mixing, which is one row of the analysis header, not
    the whole thing. Right now you lose the key and BPM with it.

    Chasing that turned up three real bugs underneath, which are also fixed: the
    lanes were sized once when a track loaded and never fitted the panel again, so a
    tall window left hundreds of pixels unused, and a stem name and its waveform
    drifted apart as you resized, by 55 px at the bottom of the mixer in the worst
    case I measured.

    Leaving this open rather than closing it on a partial fix. Try the toggles when
    the release lands and tell me where they fall short.

  6. thcp commented on Aug 30, 2026

    @thcp
    Collaborator

    Reopening: this closed automatically on merge, from a Closes line inside one of the squashed commits. The toggles are in, but as above I do not think this is finished, so the issue should stay open.

  7. reopened this on Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions