These are things that are planned added 'some time in the future'. Please try Mumble out before you comment on any of the ideas below.
If you want to help out with any of the below, great! Be aware that the mumble code is changing all the time, so please drop by the forums and let us know if you want to work on something so we avoid duplicate efforts.
Make SURE you are constantly updating to the latest snapshot of Mumble! Find it here: http://mumble.info/snapshot
Note: This list is not meant to be a point by point representations of tasks to be done for a specific release but is merely a reminder for the developers. New items might be added or existing ones moved and removed anytime during development.
TODO for 1.2.X
- Improve usability a lot (e.g Restructure options menu)
- Put Qt 4.5 translation comments in more places, to show context of translation message.
- Add session awareness (.D0T)
- Richtext editor for RT capable fields
- Enable/Disable PA on a plugin basis
- Enable/Disable Overlay on a application basis
TODO for 1.2.0
- Transfer already-resolved qhalist to serverhandler, and store the "original" hostname for reference.
- Modify connectdialog and edit to only accept on valid data.
- Finish Direct3D10 support.
- Merge duplicate code from the Source-based plugins [Snares?]
- CoreAudio audio in/output for Mac OS X [krejler]
- Automatic overlay injection on Mac OS X [krejler]
- Pretty ConfigDialog on OSX. [krejler]
Done for 1.2.0
- Do a version exchange client<=>server. Export over Ice.
- Protocol Buffer based network protocol. Start merging everything into the PlayerState, ChannelState etc packets. The server should wipe fields it doesn't know about.
- Drop packet type etc from UDP, make it use it's own protocol, and have "TCP mode" be a "UDP tunnel packet" message.
- Associative key-based storage DB.
- Allow third-party "key/value" stored.
- Add a "context" for plugins, being a 32-byte array or somesuch. Players need identical context to get positional audio of each other.
- Add a "identity" for plugins, to be transmitted to the server.
- Multichannel echo cancellation.
- G15 for OSX.
- Client-certificate based authentication.
- Friends list -- recognize your friends (works across servers).
- Switch to TCP mode if no ping packets work within the first 20 seconds, and switch back if it gets fixed.
- Add additional datafields to the banlist editor
- Make address be 2 x quint64 instead of 16 x char, and make it be hashable etc.
- Automatic plugin updates.
- User unregistration
- more formats for event sounds
- VoiceTarget message, use those 5 bits of the UDP type to differentiate Speech, AltSpeak and <target at specific user/channel>-speak.
- Upload textures from the client.
- If selfgen cert, and meta has a proper cert for the same host, use meta's instead.
- Give logical names to everything in the UI. Skinners currently use names like "groupBox_2", which is a bit error prone when we change the gui.
- QDesktopServices::storageLocation to replace getenv etc?
- Multibind support for murmur, and IPv6.
- Per-server config storage for whisper targets.
- Fix ASIO.
- Try adding a 11x binary alongside the 1.2.0.
- Presets (import config)
- Access Tokens (aka password-protected channels)
- Temporary channels
- LAN discovery (Bonjour)
- Add buffering for broken WASAPI drivers.
- Provide layout presets
- Improve forced shutdown behavior
- Sorting channels
- Suppress state for the client
- XInput instead of XEvie.
- Crash reporting
- Channel Add/Edit Dialog
- <= 10ms audio frames on *nix.
- Make disable image downloads accessible from the options menu
- Unify connect dialog
Current snapshot testing focus
- New codec (CELT) and audio in general
- Auto TCP->UDP fall back
- Unified connect dialog
- LAN discovery
- New Ice Interface capabilities
- Compatibility client Mumble 1.1.X (Please check for regressions to 1.1.8 only)
- DX10 overlay
TODO for statistics
- Migrate to PDO
- Add murmur stats
- Add caching
- Look for fancy pie-like stuff like jgraph, etc