Skip to content

The vocal mode can only be chosen after selecting Vocals, which is the wrong way round #675

Closed

Description

@thcp

Vocals is the one stem with something to say about how it comes out: as one track, or split into lead and backing. The Combined / Lead + Backing pair is where that is said, and it is treated as a consequence of the Vocals chip rather than as a control.

It is not rendered at all until Vocals is selected. So saying how you want the vocals split is something you can only do after asking for them, and the pair appearing and disappearing changes the shape of the Vocals group every time that chip is pressed.

Why the obvious fix is only half of it

Leaving the pair on screen and dimming it fixes the shape and leaves the ordering exactly as wrong. It still waits on the chip. The question "which of the two ways do you want the vocals" is the same question as "do you want the vocals", and it should be answerable in one press either way.

What that means for the states

The pair has to carry three, where every other chip has two: one lit, the other lit, or neither. Neither lit is what "vocals are not being extracted" looks like, and the chip has to agree with it rather than be a second, independent switch for the same fact.

Constraints for whoever fixes it

  • The mode has to be remembered while the vocals are off, or switching them off and on again silently changes what comes out.
  • The painting belongs in one place. Both controls describe one fact, and a click handler that paints its own button is what left All a state behind its chips in The Extract "All" button lights up when only some stems are selected #658.
  • The phone's Extract screen has the same control and the same arrangement, so whatever this becomes has to happen there too.

Two things found underneath it

Pressing the last remaining chip turns all six stems back on. The set empties, and a guard catches that and refills it with everything. So narrowing down to one stem and pressing it again produces the most there is, which is the opposite of what the press asked for. An empty row does not need preventing there: All reaches it in one press.

An empty selection is submitted as every stem. app/api/jobs.py falls back to the full list when the stems list is empty, so a submit in that state extracts the six stems the row is showing as off. Reachable today by pressing All twice.

Activity

  1. self-assigned this
    on Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions