Add identity management
Manage several TeamSpeak identities like the official client instead of using one auto-generated identity file. - IdentityStore/IdentityEntry keep each identity as a TeamSpeak-format INI in ~/.ts3jclient/identities, so files interchange with the TS3 client; supports create, import, export, rename, remove and a cancellable security-level search. A legacy identity.ini is migrated in on first load. - Settings hold the default identity; bookmarks may pin their own, falling back to the default when unset. - TeamspeakConnection now connects with the identity it is handed. - Swing: Tools -> Identities manager, plus an identity drop-down in the connect and bookmark forms. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -54,7 +54,7 @@ frontend supplies its own UI and audio backend while reusing `core` unchanged.
|
||||
- Configurable capture/playback **devices**.
|
||||
|
||||
### Server interaction
|
||||
- Connect to any TS3 server (auto-generates and persists a TS3 identity).
|
||||
- Connect to any TS3 server (an identity is generated on first use if none exists).
|
||||
- **Channel/client tree** styled like TS3, updated live from protocol events
|
||||
(joins, leaves, moves, channel create/edit/delete, nickname/mute/away changes).
|
||||
- **Talk indicators** — speakers turn green live as they talk.
|
||||
@@ -68,7 +68,11 @@ frontend supplies its own UI and audio backend while reusing `core` unchanged.
|
||||
**private chat**, or **locally mute** them.
|
||||
- **Chat** to the current channel or the whole server; receive channel/server/private
|
||||
messages and **pokes**.
|
||||
- **Server bookmarks** — quick-connect menu with add/edit/remove management.
|
||||
- **Server bookmarks** — quick-connect menu with add/edit/remove management, each
|
||||
optionally pinned to a specific identity.
|
||||
- **Identity management** (Tools → Identities) — keep several identities, mark one
|
||||
as the default, pick one per server or per bookmark, rename, raise an identity's
|
||||
security level, and import/export TeamSpeak-compatible `.ini` identity files.
|
||||
- **Self status** — Away (with message) and Channel Commander toggles.
|
||||
- **Status bar** shows the server name, user count and live ping.
|
||||
- Change your nickname, mute/deafen from the toolbar.
|
||||
@@ -97,15 +101,16 @@ java -jar swing/target/ts3-client.jar
|
||||
mvn -pl swing exec:java
|
||||
```
|
||||
|
||||
Then use **Connections → Connect…**, enter a server address, port (default 9987)
|
||||
and nickname, and connect. Open **Tools → Options** to pick audio devices and tune
|
||||
Then use **Connections → Connect…**, enter a server address, port (default 9987),
|
||||
nickname and identity, and connect. Open **Tools → Options** to pick audio devices and tune
|
||||
voice activation while watching the live meter.
|
||||
|
||||
## Architecture
|
||||
```
|
||||
core/ com.ts3client
|
||||
├── config.Settings persisted prefs (~/.ts3jclient/settings.properties)
|
||||
├── config.Bookmarks persisted server bookmarks
|
||||
├── config.Bookmarks persisted server bookmarks (with per-server identity)
|
||||
├── config.IdentityStore managed identities (~/.ts3jclient/identities/*.ini)
|
||||
├── audio abstractions + reusable DSP (no platform code)
|
||||
│ ├── AudioBackend factory for a platform's VoiceInput/VoiceOutput
|
||||
│ ├── VoiceInput capture source (extends ts3j Microphone) + gating controls
|
||||
@@ -137,6 +142,8 @@ swing/ com.ts3client
|
||||
├── SettingsDialog audio + VAD options with live meter
|
||||
├── ConnectDialog connect form
|
||||
├── BookmarksDialog manage saved servers
|
||||
├── IdentitiesDialog manage identities (new/import/export/improve)
|
||||
├── IdentityChooser identity drop-down shared by connect/bookmark forms
|
||||
├── LevelMeter dBFS meter with threshold marker
|
||||
├── Icons programmatic vector icons (no image assets)
|
||||
└── Theme palette + fonts
|
||||
|
||||
Reference in New Issue
Block a user