github zmd22/diskos-disco v2.5.6
diskOS Disco! 2.5.6

49 minutes ago

diskOS Disco! 2.5.6

Pick several songs at once, plus fixes for the queue and for Bluetooth.

Testing: the queue fixes were tried on a Disc. Picking several items was checked on a computer only, and
the Bluetooth changes were not fully tested on a Disc (AAC/LDAC not at all, no such headphones at hand). If you use LDAC or AAC headphones, please
tell us how it goes.

New: pick several items

Swipe sideways across a song, album, artist or folder to start picking. Tap more items to tick them (or swipe
across them too); the title shows how many are picked. At the bottom: Play, Queue and More (Shuffle,
Add to playlist, Add to Favourites, Select all). Holding an item while picking opens More. Back, or unticking
everything, ends picking. Tapping and holding work as before when you're not picking. Play doesn't touch your queue.

A folder counts as every song inside it. Start the swipe a little in from the screen's edge: the edges stay reserved
for the back swipe.

Queue

  • Queued songs play again when it's their turn. Since 2.5.1 the queue could skip its turn at a song change,
    or show "Couldn't start queued song". Fixed.
  • Start straight from the queue. With nothing playing, add songs or a folder to the queue and press Play (on the
    Queue screen or Music) or Next: the queue plays from its first song, in order. In the Shuffle play mode it plays in
    a random order. When the queue is done, playback stops.

Bluetooth

  • Songs no longer stop a few seconds after you pick a playlist (#13).
    After Disco moves the sound to your headphones or switches codec, it checks that music really carries on, and
    presses play once if it stopped by itself.
  • LDAC and AAC that don't hold. If music won't continue after switching to LDAC, those headphones go back to SBC
    ("Bluetooth codec unstable - using SBC") and Disco remembers it: next time it tries AAC, then SBC. Other
    headphones are not affected.
  • Connecting is more reliable: the search for devices stops before connecting, and headphones that are already
    paired are no longer paired again.
  • Your headphones reconnect by themselves. When Bluetooth comes on, at start-up or with the switch, the Disc
    calls the headphones it last played to, a few times.
  • No more stutter while a connection is being set up.

Also included

  • Squash lists: rows near the top and bottom edge no longer light up orange while you scroll.
  • Docs and website: notes about switching between diskOS builds, starting from stock V2.57, and the Windows app.
  • The Windows app's start screen now explains it is unsupported, to start from stock V2.57 and what to do after
    switching from another diskOS build.

Installing and updating

  • Already on diskOS Disco! 1.4.1 or newer? Update from the SD card: download mq_ui, sign it with your own
    keys and copy the diskos-update folder to the card (how). Your settings, music and stats stay.
  • New install? Start from FiiO's stock V2.57 firmware (recommended). Installing over upstream diskOS or
    another diskOS build is not supported and can be buggy; restore stock first. See Install.
  • Windows: the Windows app is shared as-is and unsupported. Start from stock V2.57 there too.

After updating

  • Settings > System > About shows 2.5.6.
  • The new version starts as a trial: play some music or tap Keep to keep it. If it doesn't start properly,
    the Disc goes back to the previous version by itself, or choose Go back.
  • Something odd? Hold Volume Up from power-on to start FiiO's own interface once, and restart to come back.
Technical notes

Multi-select: multipick.c, shared by the Library and the folder browser (rows marked per item index,
survives row recycling; swipe needs >= 36 px sideways, < 22 px vertical, starting >= 72 px from the edges).
Queue: queue lookups wait up to 1.5 s for the player's database write (2.5.1 made them give up at once); a fresh
start path when no current song can be identified. Bluetooth: a 10 s resume guard after ui_route_bt and after the
06b3 codec upgrade (play once after 3.5 s without progress; for a codec switch, then SBC and a per-device
btcx_<mac> downgrade); scan off before pair/connect, pair only if unpaired; bt_last reconnect (3 tries, 8 s
cap each); connection check on a worker thread. Queue tests extended (busy database, nothing playing). Built with
the GCC 11.2 MIPS toolchain; build record in payload/mq_ui.build.json.

Don't miss a new diskos-disco release

NewReleases is sending notifications on new releases.