Skip to content

[11] Port the TCP105 voice-prompt playback #14

Description

@jvwaldrich0

Task 11 of 16 — these are sequential, do them in order.

Previous: #13 · Next: #15

Port target: cloudpark-toolkit (Go) → this repo (Rust). Reference paths below are relative to that repo.

Goal

Port the TCP105 voice-prompt playback so VoiceBroadcast commands are audible on the dev machine.

Scope

  • Embed the wav set in the binary (include_bytes! / rust-embed), copied from cloudpark-toolkit/internal/tcp105/audio/files/*.wav.
  • Map AudioID → wav file + human label (the label is what the log pane shows).
  • Play through whatever is installed (paplay, aplay, ffplay) — detect once, fall back in order, and if none exists just log the prompt name instead of failing.
  • Serialise playback so overlapping broadcasts queue rather than talk over each other.

Reference

cloudpark-toolkit/internal/tcp105/audio/audio.go + audio_test.go

Done when

  • Test asserts every mapped AudioID resolves to an embedded file (no dangling entries).
  • Playing an unknown AudioID logs a warning and continues.
  • Works headless with no audio player installed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions