Голос деки

Шесть мотивов из PR #226 — это все «новости флота»: то, что случилось без тебя. Здесь ещё пятнадцать событий, которые дека уже видит, но молчит о них, — каждое в трёх вариантах. Всё звучит тем же синтезом, что и настоящий src/chiptune.rs: квадрат и треугольник, один шумовой удар, 4-битная огибающая, 8-битное квантование, 22.05 кГц. Что услышишь здесь — то и зазвучит в деке.

громкость: клик по строке = выбор варианта

Всё это реализовано и лежит в PR #230: помеченные в деке варианты — то, что звучит на самом деле. Секция 5 своего звука не получила: закрытие своего пана и гашение трубки — один и тот же момент, поэтому «своя смерть» звучит как 13A, а Died для неё просто молчит. Кольцо получило смысл без новой настройки: SOFT — только новости флота, FULL — вся дека с голосом.

A — новости флота (звучит и в SOFT) B — щелчки интерфейса (только FULL, тише на треть) C — атмосфера (только FULL)

Что придётся починить в chiptune.rs, если брать класс B

  1. REPEAT_FLOOR — 2.5 с общий на все cue; для щелчков это полная немота. Нужен Cue::floor() вместо константы (~100 мс для класса B).
  2. Плеер последовательный: щелчок, попавший в очередь за 700-мс Fanfare, приедет с опозданием. Полоса B должна отбрасываться, когда в полосе A что-то есть, а не ждать.
  3. IDLE_HOLD = 5 s закрывает устройство; первый щелчок после паузы приедет с задержкой waveOutOpen. Интерактивной полосе устройство нужно держать дольше.
  4. Тест every_cue_is_a_phrase_of_sane_length (chiptune.rs:663) требует 100–1200 мс от каждого cue — 40-мс щелчок его сломает; границы должны стать по классам.
  5. Кольцо режима получает смысл без новой настройки: SOFT = только новости флота, FULL = вся дека с голосом.