# Changelog

What changed in each flipSID release. The release packages carry this file as
`CHANGELOG.txt`.

## 0.3.0 (2026-11-03)

The first public build: flipSID by Alumni, with builds at https://flipsid.thealumni.fi/.

- **Stock playlists**: a new settings folder starts with nine playlists of HVSC tunes:
  Epic C64 SID Collection, Sound Test SIDs, 10 Years HVSC and ZOO 2026's 2SID, bangers,
  chill, covers, games and grue. **Settings > Playback > Restore Stock Playlists** makes
  any you deleted again and adds back the songs they're missing, without duplicates.
- **Themes**: the Alumni theme has the Alumni logo as its banner, edge to edge (a theme
  can now say so in its `theme.json`, and the theme editor's Banner page has the
  checkbox). Basic Blue is now **Violet**; Paper and ZOO 2026 are gone, and settings that
  named them get the flipSID theme.
- **Banners in the settings folder**: flipSID's and Alumni's logos are copied to
  `banners/` there, to use with any theme. The banner picker opens there.
- **Edge-to-edge banners** no longer hide their top row under the menu bar's line in
  themes with framed controls, such as Alumni.
- **Mixer row** (Behringer X Air): a dB scale and the channel's level along the fader, a
  Fade out / Fade in button, and Fade out in the Output panel now switches the mixers'
  fades too.
- **Tune Info**: a PLAYING tag after the title replaces the Playing section, and the
  Header section is last.
- **About and Help**: About says flipSID is by Alumni and links to the website, to the
  GitLab issues for bugs and ideas, and to Finer Things Software, who kindly supported
  flipSID's development. **Help > Report a Bug or Idea…** opens the issues.
- Release packages no longer open with the private preview notice.

## 0.2.4 (2026-10-28)

Fade-outs, and a mixer that fades with them.

- **Fade out** (Output panel, on by default): tunes fade out over their last 3 s (at most a
  quarter of a short one), and over 0.5 s before another tune, subtune, Next, Previous or
  Stop you ask for while one plays; the change comes once the fade is heard. The volume
  stays as set. Settings > Playback has the times. A fade of 1 s or more says "fading out"
  on the display and in the status bar.
- **A Behringer X Air mixer** (Output devices > Add device > Mixer): its input channel's
  fader fades with the tunes and comes back up for the next one, so a HardSID's or an
  Ultimate's real SIDs fade too. The row shows the fader as the mixer has it, a Mute that
  only you change (the status bar warns while it's muted), and Manual control to set the
  fader yourself. Not yet tried on a real mixer.
- The display and the status bar no longer flicker "loading" or "Stopped" at every song
  change.

## 0.2.3 (2026-10-28)

A fix for sound cards with more than two outputs, and deleting your own tunes.

- **Sound cards with more than two outputs** (e.g. a MOTU M4) got the tune on a third
  output too, the left and right mixed together. Now only the first two get it, and the
  rest are silent. The log and the Output panel's tooltip say how many outputs the device
  has.
- **Subtune authors**: a subtune that STIL says is by someone else than the file's author
  shows that author, in the playlist, Liked Songs, the Browser's and Search's subtune rows
  and the display. E.g. Last_Ninja_Remix.sid's #1 is Anthony Lees's.
- **Move to Trash**: your own tunes (outside HVSC's MUSICIANS, GAMES and DEMOS) can be
  deleted from the disk from the Browser's, Search's and the playlist's menus, into the
  Trash or the Recycle Bin. It asks first, unless Shift is held. In the playlist it works
  on the whole selection and is worded apart from Remove, which only takes entries out.
- **Help > Open HVSC Folder** opens the collection's folder.

## 0.2.2 (2026-10-27)

HardSID on Windows, and long sets on any system.

- **The HardSID no longer stops after about 16 minutes** of a tune without a pause, seek
  or tune change (on every system). A unit that takes nothing for a second while a tune
  plays is now started again by itself, as a pause and play would, and the log says why.
- **Windows: a HardSID without the WinUSB driver** says so on its row ("the unit has no
  WinUSB driver") instead of "not connected", with **Fix...** to the Zadig steps, and
  opens by itself once Zadig is done. The Zadig link opens in the browser.
- **Windows: USB bandwidth.** A HardSID that Windows couldn't start because another USB
  device on its controller has the bandwidth (Code 10) says so, and to switch it off and
  on once that's free. A USB sound card refused because of a running HardSID is named in
  the Output panel. Both lead to the help's Dropouts page, which now names any device that
  streams (a second HardSID, a sound card, headset, microphone or webcam) and says to give
  two HardSIDs a USB controller or hub each.
- **Windows: a 1 ms timer while a HardSID plays**, kept with the window minimized.
- A refused open's reason shows after its **Fix...** button on every system, and an
  unticked entry's refused test says "Failed".
- **A playlist's total length** in its status row ("452 entries · 1 d 2 h 13 min 5 s"),
  by each entry's song length; entries without one are counted apart.

## 0.2.1 (2026-10-27)

Fixes for real SID chips, mostly on Linux.

- **Listening to a HardSID only uses no sound card**: with **Play through this computer**
  off in the Output panel and a HardSID ticked, flipSID keeps time without the sound card,
  so a USB sound card that drops out can't slow the HardSID down. The Output panel says
  so, and the dropout help gives it as a third fix.
- While the dropout warning is on, the log notes the sound card's dropouts once a minute
  instead of each time.
- **SID Chips defaults**: deleting a SID sets the defaults that chose it back to Auto, and
  settings that still name a deleted SID are mended when read. A chosen spare that isn't
  fitted shows as Auto, with a tooltip, instead of "Not fitted".
- The HardSID editor no longer has a leftover line about defaults.
- Package names carry the version only, such as `flipSID-0.2.1-linux-x86_64.zip`.

## 0.2.0 (2026-10-26)

A private preview, like 0.1.0.

**Real SID chips**

- **HardSID on Linux**: when the system refuses to open the unit, its row in the Output
  panel says "Failed" with a **Fix...** button. It opens **Help > HardSID USB Help...**,
  where each command needed is on its own line with a Copy button: one udev rule, given for
  distributions with and without systemd. Tested on Garuda (Arch Linux). The Linux package
  includes the rule as `70-hardsid.rules`.
- **Dropout warning**: when the computer's audio keeps dropping out, or a HardSID keeps
  running dry, the status bar says so. A click shows the likely cause and the fix: a USB
  sound card on the same USB controller as the HardSID 4U may not get enough bandwidth, so
  plug one of them in elsewhere, or the sound card into a USB 2.0 hub.
- **HardSID UPlay and Uno**: supported, untested. They are built from the reference code
  alone; reports are welcome.
- **Named SIDs**: give each chip a name and notes, choose the SIDs a tune, a subtune or a
  playlist entry plays on, and keep spare chips in the **SID Chips** window. Defaults per
  kind of tune (6581, 8580, 2SID, 3SID) are the collection's.
- **Several HardSID units**: each tune plays on the unit its SIDs are in.

**Playlists and Liked Songs**

- Colour markers on playlist entries and in the library.
- flipSID remembers where listening stopped in each playlist, and Play continues from
  there.
- No duplicate songs in playlists (a setting, on by default), with feedback.
- Playlist files are named after their playlists, and any file name in the playlists folder
  loads. **File > Reload Playlists from Disk**, and a playlist file changed outside flipSID
  is read again or asked about.
- Import and export flipSID's own `.json` playlists; an export leaves out the local files
  of HVSC tunes.
- Several likes at once keep their order, and drops land where they're shown. **Like N
  Subtunes** skips the short ones.
- Removing the playing entry lets the playlist go on after it.
- A playlist selects and scrolls to what was just added to it.
- When the collection's folder moves (settings copied to another computer, or HVSC put
  somewhere else), the playlists' and Liked Songs' file links follow it.

**Browsing and searching**

- Subtunes open under their tune in the Browser and in Search, with their STIL names,
  covers and artists.
- Search shows one row per tune, with a **Show duplicates** checkbox.
- Year and Size columns in the Browser, Search and playlists; the Browser sorts.
- The Browser can follow Search or playback (the gear menu), and **Cmd/Ctrl+B** shows the
  selected tune in the Browser and goes back again.
- Tune Info: click a value to search for it or copy it.
- Drag the playing song from the display to a playlist.

**Display and interface**

- The display's title spans the whole top row, and the subtune number sits by the author
  and release. Next on the last subtune and Previous on the first say so.
- Settings are on tabs in a resizable window.
- A banner image that can't be read shows a warning in the status bar; a click opens
  Settings at the banner.
- The Engine panel's Advanced values say they're experimental.

**Packages and building**

- The Linux package is built on Ubuntu 20.04 (`scripts/release-linux.sh`, in a Podman or
  Docker container) and runs on distributions with glibc 2.30 or newer: Ubuntu 20.04,
  Debian 11 and later.
- No C64 ROMs in the packages any more: set a folder with your own in **Settings > C64
  ROMs** (most tunes play without them).
- The libraries are fetched over HTTPS by default.
- No compiler or CMake warnings with GCC 16 and CMake 4.4.

**Fixes**

- Search no longer crashes when browsing results after the query changed.
- A HardSID whose open the system refused only said "failed" unless Test was pressed.

## 0.1.0 (2026-10-15)

The first private test release, for macOS, Windows and Linux.

**Playback**

- Three emulation engines, switchable per tune: reSIDfp (the default), classic reSID 1.0,
  and Antti Lankila's original resid-fp with the community's measured filter curve presets.
- Real SID chips: Ultimate devices (1541 Ultimate-II+, Ultimate 64) over the network, and
  the HardSID 4U over USB, with a socket per SID for 2SID tunes and mixed chip models.
- Song ends from the song lengths, with silence detection and a play forever mode; seeking,
  subtunes, and a subtune from the file name (`Commando.3.sid`).
- Graphs of the filter curves, to compare chips and presets.

**Library**

- Browses and searches the High Voltage SID Collection: title, author, released, path,
  STIL and the BUGlist, with filters and sortable columns.
- Downloads HVSC on the first start, and updates it to a new release in place, keeping your
  own folders beside it. An optional weekly check says when a new release is out.
- Song lengths from `Songlengths.md5`, with your own lengths on top.
- Works without HVSC too, or with only `Songlengths.md5` and `STIL.txt`: open or drop any
  `.sid` file.

**Profiles and playlists**

- SID profiles: one complete sound each (engine, chip model, filter and more). A tune gets
  its profile from its chip, and the chip or the profile can be overridden per tune or per
  playlist entry.
- Several playlists in tabs, with drag and drop, play modes (repeat, shuffle), a filter,
  Liked Songs, and M3U import and export.
- Tunes are identified by their HVSC MD5, so playlists survive a moved or updated
  collection.

**Interface**

- A dense, dockable workspace: Browser, Search, Playlist, Tune Info, Engine and Output.
- Themes with an editor, and your own banner image.
- GPU rendering with OpenGL 3.3, drawing only when something changes.
