CHG-0040: voiced Matches Requests Against an Index of the Owner’s Library

Date2026-10-24
Change typeUpgrade
StatusIn progress
SystemsThe services workload: voiced sent and its unit replaced; library.json copied to /var/lib/eds-voiced. The relay Pi: npagent, for the driver’s title matching
Howmake -C deploy ship WHERE=builder, make -C deploy units, make -C deploy library XML=…; the relay’s push
RiskLow. Most likely to go wrong: a near but wrong artist or album chosen; without the index, voiced is as it was
DecisionsADR-0046
RelatedCHG-0039

Summary

voiced gains NP_LIBRARY, an index of the owner’s iTunes library made from its XML, and chooses from it the artist and album a request means, by the library’s own names. The driver asks iTunes for the whole title first and its plain start after.

Goal

  • “Genesis’ first album”, “Leonard Skinner’s first album”, “Arrowsmith’s first album” and “Abbey Road by the Beatles” each play on the first try.

Procedure

  1. make -C deploy ship WHERE=builder; make -C deploy units for the unit’s NP_LIBRARY.
  2. make -C deploy library XML="…/iTunes Library.xml": about 300 KB sent.
  3. The relay’s npagent pushed.
  4. The owner asks.

Undo

Remove /var/lib/eds-voiced/library.json: voiced guesses as before at the next request. Or git revert this change’s commit, and ship.

Outcome

When (UTC)What happened
05:15–05:19ship WHERE=builder from 72fb607: nowplayd and voiced sent, 4 MB each; nothing else built or sent. units for NP_LIBRARY; library indexed 1,912 artists and 3,665 albums, 311 KB sent. The relay’s npagent pushed and active, the iTunes driver online. The turntable driver could not open its capture device on the borrowed relay Pi, which has none.