Plugins: Add config dialog for plugins #2970

Open
opened 2026-02-20 22:15:54 -05:00 by deekerman · 5 comments
Owner

Originally created by @hbeni on GitHub (Mar 19, 2025).

Context

Plugins / Configuration of plugins trough standard means and mumble client.

Description

It would be cool to have some built in config mechanism for plugins:

  • The plugin announces what config options are supported (text input fields, dropdowns, checkboxes)
  • Mumble
    • uses that information to present a standardized dialog for the plugin's settings
    • handles the storage and settings of plugins in a plugin agnostic manner
  • PluginAPI exposes functions to read the plugin's configs from mumbles store

Currently I use ini files to let the user setup their preferences, which is technically not so easy for most users.

Mumble component

Client

OS-specific?

No

Additional information

Originally created by @hbeni on GitHub (Mar 19, 2025). ### Context Plugins / Configuration of plugins trough standard means and mumble client. ### Description It would be cool to have some built in config mechanism for plugins: - The plugin announces what config options are supported (text input fields, dropdowns, checkboxes) - Mumble - uses that information to present a standardized dialog for the plugin's settings - handles the storage and settings of plugins in a plugin agnostic manner - PluginAPI exposes functions to read the plugin's configs from mumbles store Currently I use ini files to let the user setup their preferences, which is technically not so easy for most users. ### Mumble component Client ### OS-specific? No ### Additional information - FGCOM-Mumble issue waiting for this here: https://github.com/hbeni/fgcom-mumble/issues/47
Author
Owner

@Krzmbrzl commented on GitHub (Mar 19, 2025):

Yeah, this has been on my wish list pretty much ever since I worked on the plugin framework :D
Unfortunately, this will require quite some work, which is why I haven't gotten around to it yet...

@Krzmbrzl commented on GitHub (Mar 19, 2025): Yeah, this has been on my wish list pretty much ever since I worked on the plugin framework :D Unfortunately, this will require quite some work, which is why I haven't gotten around to it yet...
Author
Owner

@hbeni commented on GitHub (Mar 19, 2025):

In Case this gets added - can it be done in a way, that new plugin versions supporting configurability are still compatible with pre-plugin-configureable mumble versions?

@hbeni commented on GitHub (Mar 19, 2025): In Case this gets added - can it be done in a way, that new plugin versions supporting configurability are still compatible with pre-plugin-configureable mumble versions?
Author
Owner

@Krzmbrzl commented on GitHub (Mar 20, 2025):

Yeah, I would imagine this to work similar to other parts of the plugin API. That is, it gets used if Mumble knows about it and the plugin provides the necessary callbacks. Otherwise, the functionality just won't be there.

@Krzmbrzl commented on GitHub (Mar 20, 2025): Yeah, I would imagine this to work similar to other parts of the plugin API. That is, it gets used if Mumble knows about it and the plugin provides the necessary callbacks. Otherwise, the functionality just won't be there.
Author
Owner

@hbeni commented on GitHub (Mar 20, 2025):

Ok, just so I understand:
I can compile a plugin against plugin-api Version n; and a mumble client that just knows about n-1 can load and use that plugin?

@hbeni commented on GitHub (Mar 20, 2025): Ok, just so I understand: I can compile a plugin against plugin-api Version _n_; and a mumble client that just knows about _n_-1 can load and use that plugin?
Author
Owner

@Krzmbrzl commented on GitHub (Mar 20, 2025):

Yes. See for example
github.com/mumble-voip/mumble@d114c08add/src/mumble/Plugin.cpp (L183-L188)
for how this is handled.

@Krzmbrzl commented on GitHub (Mar 20, 2025): Yes. See for example https://github.com/mumble-voip/mumble/blob/d114c08add634bb02543239252a71cc8056b1ae1/src/mumble/Plugin.cpp#L183-L188 for how this is handled.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/mumble-mumble-voip#2970
No description provided.