Skip to content

FluidEQ 1.0.0

Choose a tag to compare

@StartSWest StartSWest released this 07 Aug 02:33
· 344 commits to main since this release

The version number is the only thing here that changed suddenly. FluidEQ has
been a finished program for a while — automatic per-output profiles, four
processing layers written into one Equalizer APO config, a measured correction,
ten languages, an updater that works. What it did not have was a video playing
underneath the spectrum, and that is what the last two releases were for. It
works now, on every site it offers, in every size the graph comes in.

So: 1.0. Not because a milestone was reached, but because calling it 0.x had
stopped being honest.

New

  • Switch any layer off without losing it. Press a chip in Also applied and
    that layer leaves the config — the chip stays, dimmed, and pressing it again
    puts the same settings back. Nothing is recomputed, because nothing was lost.
    It is how you find out whether a correction is actually an improvement:
    the same passage, both ways, a second apart. Voicing, driver, Smart EQ and
    loudness for now.
  • The bands have a chip of their own, named by the model they came from and
    the measurement behind it, or by how many bands there are when you placed them
    yourself. It says (modified) once you have moved them, so the label never
    claims a curve that is no longer on screen.
  • Loudness moved in with the other layers, off the waveform meter. It is
    written into the Equalizer APO chain like everything else in that row, and it
    belongs where the rest of them are. Euphoria mode now brings it with it, and
    takes it away again.
  • Full screen, rebuilt. The window takes the whole display, the side panes
    go, and the picture reaches all four corners. The controls become a small card
    that fades out when nothing is happening and comes back when you move — click
    the drawing to hide or show them at once. The creature stays in the corner.
  • Keep the top bar in full screen, from the View menu, if you would rather
    see where you are. On by default.
  • See through and Blur are in the View menu, where there is room for them,
    instead of taking half the control strip.
  • Every site remembers where you left it. Switching between YouTube, YouTube
    Music, SoundCloud, Bandcamp and Twitch now comes back to the track that was
    playing, a few seconds before where you stopped, and carries on. Only one
    player ever runs, so leaving a site still stops it — this is what makes coming
    back cost nothing. Pressing the site you are already on goes to its front
    page.
  • The wave can hang, mirror, or grow from the middle. Ctrl+I steps through
    four shapes: standing up, hanging down, mirrored into two halves that share
    the height, and mirrored outward from the centre line.
  • Stretch the wave across the whole card. With the grid hidden there is no
    scale to leave room for, so the drawing takes the space the labels were using.

Changed

  • Less is taken from your volume. The preamp reserves headroom against what
    music actually contains rather than against a flat signal to 20 kHz — a boost
    at 12 kHz can never cost its full value, because nothing arrives at full scale
    up there. Chains that were quiet for no audible reason get several decibels
    back, and are no closer to clipping than before.

  • Smart EQ always measures from flat. The switch that asked has gone: a
    region already cut hard has almost no energy left in it, so measuring the
    corrected output means the correction hides the very problem it is causing.
    There was only ever one right answer.

  • The chain reads in the order it makes sense. Convolution, then the driver
    correction, then your bands, then voicing, then Smart EQ last — physical,
    intended, taste, measured. Nothing sounds different; the config is now
    readable at two in the morning.

  • Only the live trace gets the rainbow. The other curves keep the colours
    their legend names them by, which is what makes the legend worth having.

  • Vimeo has been removed. It renders its listings entirely on the client,
    from an API that returns nothing to a session it does not recognise — search,
    Staff Picks and the watch feed all arrive with their tabs and filters and not
    one result. FluidEQ's player is signed out by design and always will be, so
    that is the only Vimeo it can ever see. A button onto an empty page is worse
    than no button.

  • The player signs into nothing, and remembers nothing. Its session is held
    in memory and dies with the app, and sign-in is turned away at each site's own
    front door. No account of yours is ever the identity behind what it does.

  • A refused link leaves you where you are. Following one that goes outside
    the player used to move you to a different site's front page; now the page you
    were on simply stays, with a note saying what was refused.

  • The spectrum is drawn on a canvas. Both of them — the one across the
    graph and the small meter in the title bar. They were built out of SVG paths
    before, which meant that thirty times a second the browser was handed a fresh
    description of the shape as text, several thousand characters of it for the
    denser looks, and asked to re-read it, re-measure it and repaint that part of
    the window. A canvas is told to draw and draws. Nothing about the looks
    changed: the same forty-six of them, the same palettes, the same glow, all
    built by the same code — only what receives the drawing is different.

  • The graph no longer redraws itself for sound it is not showing. The chart
    woke up around twenty-two times a second whether or not the wave was on
    screen, rebuilt everything it owns, and threw the result away. Now only the
    parts that actually show live audio listen for it: the wave, the clipping
    warning, and the measurement overlay.

  • The controls above the graph sit on a panel of their own instead of
    floating loose over the drawing, and in full screen there is one panel rather
    than a panel inside a panel.

  • The filter types are drawn against a shared 0 dB line, and named. They
    used to sit on two different baselines — a peak rising off the floor next to
    a low shelf falling from the ceiling — which made a shelf read as a treble
    cut and made the pairs look swapped. They are mirror images of each other now,
    and the band editor spells out which is which.

Fixed

  • Expanded view and full screen hold steady. Moving between the two, or
    playing one video after another, used to leave the picture missing until the
    page was reloaded. Both now give the video the whole pane, every time and in
    any order.
  • YouTube Music fills the pane properly, with no dark band down its side.
  • Twitch fills it too, with no band along the bottom.
  • The editor stops moving while you tune. The Also applied row used to
    appear out of nothing the first time a layer went live, pushing everything
    below it down mid-drag. It now holds its line whether or not there is
    anything in it.
  • The player says what it refused. A link that went nowhere used to go
    nowhere silently, which is indistinguishable from a broken page. Refusals,
    failed loads and the page's own errors are now in the log.
  • Editing several bands at once no longer fails. Every band in a selection
    sent its own request, and each of those rewrote the whole Equalizer APO
    configuration. Ten selected bands meant ten rewrites for one turn of a knob,
    which was slow enough that the edit gave up and reported a timeout — while
    having worked. A group edit is one write now. Frequency is left out of it on
    purpose: it is what tells the bands apart, and moving them all by the same
    number of hertz stacks them on top of each other.
  • The band editor closes when you deselect. It used to fall back to the
    first band whenever nothing was selected, so clicking away left it open on a
    band that was highlighted nowhere — and moving a control edited a band you
    had just let go of.
  • Less memory is used while the graph is open. Some of what the graph
    allocated was never handed back; less of it is now. This is an improvement
    rather than a conclusion — the remaining growth is still being tracked down,
    and closing the graph pane has always released it.
  • The live capture cleans up after itself. Starting it crosses two points
    where it can be cancelled, and neither was checked, so a capture could
    survive the request to stop it — along with a timer and a listener that
    nothing could reach afterwards.
  • Euphoria stops doing work nobody can see. It published a value several
    times a second that no stylesheet ever read, which made the browser
    recalculate the whole window's styling for nothing, and it left its glow
    layers in place after the mode ended.