Commit Graph

7 Commits

Author SHA1 Message Date
Username
0aa7b81439 audio: fix playback path to accept raw pcm
pymumble already decodes incoming audio. Remove the decoder from
the playback callback — write PCM directly to the output buffer.
2026-02-24 12:10:44 +01:00
Username
6efa9591dc docs: update roadmap and tasklist for phase 1 completion 2026-02-24 12:01:16 +01:00
Username
a8960e2027 add client dispatcher unit tests 2026-02-24 12:01:11 +01:00
Username
2f7b192640 app: wire mumble connection, text chat, channel tree
Connect to server on mount via @work(thread=True). Bridge pymumble
callbacks to Textual messages (ServerConnected, ServerDisconnected,
TextMessageReceived, ServerStateChanged). Render live channel/user
tree recursively. Send text on input submit. Clean disconnect on quit.
2026-02-24 12:01:06 +01:00
Username
5fecebaa12 client: replace async wrapper with thread-safe dispatcher
Convert connect/disconnect to blocking calls (pymumble is synchronous).
Remove asyncio loop coupling. Add set_dispatcher() for marshalling
callbacks into the host event loop. Register all pymumble callbacks:
connected, disconnected, user/channel CRUD, text message, sound.
2026-02-24 12:00:59 +01:00
Username
5df1f484a4 fix: use rich markup instead of raw ansi in tui widgets 2026-02-24 11:48:30 +01:00
Username
836018d146 feat: scaffold tuimble TUI mumble client
Core modules: TUI app (textual), mumble protocol client,
audio pipeline (sounddevice + opus), push-to-talk with
kitty protocol / evdev / toggle backends. Config via TOML.
2026-02-24 11:44:06 +01:00