The Binaural Rendering patches in the master branch required
menuselect to be updated with a new support type called 'option'.
This allows binaural rendering to be turned on or off when
bridge_softmix is built. This patch backports the 'option'
functionality to the 13 and 14 branches.
Here's what it looks like in menuselect:
[*] bridge_simple
[*] bridge_softmix
--- Module Options ---
[ ] binaural_rendering_in_bridge_softmix
To create an option for a module, you can create (or update) the
menuselect-tree xml snippet in the directory where the module
resides and add a member element with an 'option' support_level.
Example (abbreviated) from bridges/bridges.xml:
<member name="binaural_rendering_in_bridge_softmix"
displayname="Enable binaural rendering in bridge_softmix"
remove_on_change="bridges/bridge_softmix.o bridges/bridge_softmix.so">
<support_level>option</support_level>
<depend>bridge_softmix</depend>
<depend>fftw3</depend>
<defaultenabled>no</defaultenabled>
</member>
The 'name' will be added or removed from the MENUSELECT_<dir>
make variable following the standard module "missing means yes"
rules.
Example (abbreviated) from bridges/Makefile:
ifeq ($(findstring binaural_rendering,$(MENUSELECT_BRIDGES)),)
bridge_softmix.o: _ASTCFLAGS+=-DBINAURAL_RENDERING
bridge_softmix.so: LIBS+=$(FFTW3_LIB)
endif
Change-Id: I66d23755ed6e81f8d439cad410f2ffa7c30f25ad
return SUPPORT_EXTERNAL;
}
+ if (!strcasecmp(support_level, "option")) {
+ return SUPPORT_OPTION;
+ }
+
return SUPPORT_UNSPECIFIED;
}
return "Deprecated";
case SUPPORT_EXTERNAL:
return "External";
+ case SUPPORT_OPTION:
+ return "Module Options";
default:
return "Unspecified";
}
process_process_xml_category_child_node(cur, mem);
}
- if (!cat->positive_output) {
+ if (!cat->positive_output && strcasecmp(mem->support_level, "option")) {
mem->enabled = 1;
if (!mem->defaultenabled || strcasecmp(mem->defaultenabled, "no")) {
mem->was_enabled = 1;
SUPPORT_DEPRECATED = 2,
SUPPORT_UNSPECIFIED = 3,
SUPPORT_EXTERNAL = 4,
- SUPPORT_COUNT = 5, /* Keep this item at the end of the list. Tracks total number of support levels. */
+ SUPPORT_OPTION = 5,
+ SUPPORT_COUNT = 6, /* Keep this item at the end of the list. Tracks total number of support levels. */
};
AST_LIST_HEAD_NOLOCK(support_level_bucket, member);