This was originally planned to be done by paprefs when it starts, but since the schema is now fully controlled by pulseaudio, it makes sense to run the conversion from pulseaudio instead. --- src/Makefile.am | 6 + src/modules/gsettings/gsettings-helper.c | 6 + src/modules/gsettings/pulseaudio.convert | 160 +++++++++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 src/modules/gsettings/pulseaudio.convert diff --git a/src/Makefile.am b/src/Makefile.am index b59cec966..8ef9eb252 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -34,6 +34,9 @@ endif if HAVE_DBUS dbuspolicydir=$(sysconfdir)/dbus-1/system.d endif +if HAVE_GSETTINGS +gsettingsdataconvertdir=$(datadir)/GConf/gsettings +endif ################################### # Compiler/linker flags # @@ -1418,6 +1421,9 @@ modlibexec_LTLIBRARIES += \ pulselibexec_PROGRAMS += \ gsettings-helper + +dist_gsettingsdataconvert_DATA = \ + modules/gsettings/pulseaudio.convert endif if HAVE_WAVEOUT diff --git a/src/modules/gsettings/gsettings-helper.c b/src/modules/gsettings/gsettings-helper.c index d59cc832d..1bf2f13cf 100644 --- a/src/modules/gsettings/gsettings-helper.c +++ b/src/modules/gsettings/gsettings-helper.c @@ -86,6 +86,12 @@ int main(int argc, char *argv[]) { g_type_init(); #endif + /* gsettings-data-convert copies data from GConf to GSettings. The + * conversion is defined in the pulseaudio.convert file. The conversion is + * done only once, so running the command every time gsettings-helper + * starts is safe. */ + g_spawn_command_line_sync("gsettings-data-convert", NULL, NULL, NULL, NULL); + if (!(settings = g_settings_new(PA_GSETTINGS_MODULE_GROUPS_SCHEMA))) goto fail; diff --git a/src/modules/gsettings/pulseaudio.convert b/src/modules/gsettings/pulseaudio.convert new file mode 100644 index 000000000..d9268bf92 --- /dev/null +++ b/src/modules/gsettings/pulseaudio.convert @@ -0,0 +1,160 @@ +[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/combine/] +args0 = /system/pulseaudio/modules/combine/args0 +args1 = /system/pulseaudio/modules/combine/args1 +args2 = /system/pulseaudio/modules/combine/args2 +args3 = /system/pulseaudio/modules/combine/args3 +args4 = /system/pulseaudio/modules/combine/args4 +args5 = /system/pulseaudio/modules/combine/args5 +args6 = /system/pulseaudio/modules/combine/args6 +args7 = /system/pulseaudio/modules/combine/args7 +args8 = /system/pulseaudio/modules/combine/args8 +args9 = /system/pulseaudio/modules/combine/args9 +name0 = /system/pulseaudio/modules/combine/name0 +name1 = /system/pulseaudio/modules/combine/name1 +name2 = /system/pulseaudio/modules/combine/name2 +name3 = /system/pulseaudio/modules/combine/name3 +name4 = /system/pulseaudio/modules/combine/name4 +name5 = /system/pulseaudio/modules/combine/name5 +name6 = /system/pulseaudio/modules/combine/name6 +name7 = /system/pulseaudio/modules/combine/name7 +name8 = /system/pulseaudio/modules/combine/name8 +name9 = /system/pulseaudio/modules/combine/name9 +enabled = /system/pulseaudio/modules/combine/enabled + +[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/remote-access/] +args0 = /system/pulseaudio/modules/remote-access/args0 +args1 = /system/pulseaudio/modules/remote-access/args1 +args2 = /system/pulseaudio/modules/remote-access/args2 +args3 = /system/pulseaudio/modules/remote-access/args3 +args4 = /system/pulseaudio/modules/remote-access/args4 +args5 = /system/pulseaudio/modules/remote-access/args5 +args6 = /system/pulseaudio/modules/remote-access/args6 +args7 = /system/pulseaudio/modules/remote-access/args7 +args8 = /system/pulseaudio/modules/remote-access/args8 +args9 = /system/pulseaudio/modules/remote-access/args9 +name0 = /system/pulseaudio/modules/remote-access/name0 +name1 = /system/pulseaudio/modules/remote-access/name1 +name2 = /system/pulseaudio/modules/remote-access/name2 +name3 = /system/pulseaudio/modules/remote-access/name3 +name4 = /system/pulseaudio/modules/remote-access/name4 +name5 = /system/pulseaudio/modules/remote-access/name5 +name6 = /system/pulseaudio/modules/remote-access/name6 +name7 = /system/pulseaudio/modules/remote-access/name7 +name8 = /system/pulseaudio/modules/remote-access/name8 +name9 = /system/pulseaudio/modules/remote-access/name9 +enabled = /system/pulseaudio/modules/remote-access/enabled + +[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/zeroconf-discover/] +args0 = /system/pulseaudio/modules/zeroconf-discover/args0 +args1 = /system/pulseaudio/modules/zeroconf-discover/args1 +args2 = /system/pulseaudio/modules/zeroconf-discover/args2 +args3 = /system/pulseaudio/modules/zeroconf-discover/args3 +args4 = /system/pulseaudio/modules/zeroconf-discover/args4 +args5 = /system/pulseaudio/modules/zeroconf-discover/args5 +args6 = /system/pulseaudio/modules/zeroconf-discover/args6 +args7 = /system/pulseaudio/modules/zeroconf-discover/args7 +args8 = /system/pulseaudio/modules/zeroconf-discover/args8 +args9 = /system/pulseaudio/modules/zeroconf-discover/args9 +name0 = /system/pulseaudio/modules/zeroconf-discover/name0 +name1 = /system/pulseaudio/modules/zeroconf-discover/name1 +name2 = /system/pulseaudio/modules/zeroconf-discover/name2 +name3 = /system/pulseaudio/modules/zeroconf-discover/name3 +name4 = /system/pulseaudio/modules/zeroconf-discover/name4 +name5 = /system/pulseaudio/modules/zeroconf-discover/name5 +name6 = /system/pulseaudio/modules/zeroconf-discover/name6 +name7 = /system/pulseaudio/modules/zeroconf-discover/name7 +name8 = /system/pulseaudio/modules/zeroconf-discover/name8 +name9 = /system/pulseaudio/modules/zeroconf-discover/name9 +enabled = /system/pulseaudio/modules/zeroconf-discover/enabled + +[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/raop-discover/] +args0 = /system/pulseaudio/modules/raop-discover/args0 +args1 = /system/pulseaudio/modules/raop-discover/args1 +args2 = /system/pulseaudio/modules/raop-discover/args2 +args3 = /system/pulseaudio/modules/raop-discover/args3 +args4 = /system/pulseaudio/modules/raop-discover/args4 +args5 = /system/pulseaudio/modules/raop-discover/args5 +args6 = /system/pulseaudio/modules/raop-discover/args6 +args7 = /system/pulseaudio/modules/raop-discover/args7 +args8 = /system/pulseaudio/modules/raop-discover/args8 +args9 = /system/pulseaudio/modules/raop-discover/args9 +name0 = /system/pulseaudio/modules/raop-discover/name0 +name1 = /system/pulseaudio/modules/raop-discover/name1 +name2 = /system/pulseaudio/modules/raop-discover/name2 +name3 = /system/pulseaudio/modules/raop-discover/name3 +name4 = /system/pulseaudio/modules/raop-discover/name4 +name5 = /system/pulseaudio/modules/raop-discover/name5 +name6 = /system/pulseaudio/modules/raop-discover/name6 +name7 = /system/pulseaudio/modules/raop-discover/name7 +name8 = /system/pulseaudio/modules/raop-discover/name8 +name9 = /system/pulseaudio/modules/raop-discover/name9 +enabled = /system/pulseaudio/modules/raop-discover/enabled + +[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/rtp-recv/] +args0 = /system/pulseaudio/modules/rtp-recv/args0 +args1 = /system/pulseaudio/modules/rtp-recv/args1 +args2 = /system/pulseaudio/modules/rtp-recv/args2 +args3 = /system/pulseaudio/modules/rtp-recv/args3 +args4 = /system/pulseaudio/modules/rtp-recv/args4 +args5 = /system/pulseaudio/modules/rtp-recv/args5 +args6 = /system/pulseaudio/modules/rtp-recv/args6 +args7 = /system/pulseaudio/modules/rtp-recv/args7 +args8 = /system/pulseaudio/modules/rtp-recv/args8 +args9 = /system/pulseaudio/modules/rtp-recv/args9 +name0 = /system/pulseaudio/modules/rtp-recv/name0 +name1 = /system/pulseaudio/modules/rtp-recv/name1 +name2 = /system/pulseaudio/modules/rtp-recv/name2 +name3 = /system/pulseaudio/modules/rtp-recv/name3 +name4 = /system/pulseaudio/modules/rtp-recv/name4 +name5 = /system/pulseaudio/modules/rtp-recv/name5 +name6 = /system/pulseaudio/modules/rtp-recv/name6 +name7 = /system/pulseaudio/modules/rtp-recv/name7 +name8 = /system/pulseaudio/modules/rtp-recv/name8 +name9 = /system/pulseaudio/modules/rtp-recv/name9 +enabled = /system/pulseaudio/modules/rtp-recv/enabled + +[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/rtp-send/] +args0 = /system/pulseaudio/modules/rtp-send/args0 +args1 = /system/pulseaudio/modules/rtp-send/args1 +args2 = /system/pulseaudio/modules/rtp-send/args2 +args3 = /system/pulseaudio/modules/rtp-send/args3 +args4 = /system/pulseaudio/modules/rtp-send/args4 +args5 = /system/pulseaudio/modules/rtp-send/args5 +args6 = /system/pulseaudio/modules/rtp-send/args6 +args7 = /system/pulseaudio/modules/rtp-send/args7 +args8 = /system/pulseaudio/modules/rtp-send/args8 +args9 = /system/pulseaudio/modules/rtp-send/args9 +name0 = /system/pulseaudio/modules/rtp-send/name0 +name1 = /system/pulseaudio/modules/rtp-send/name1 +name2 = /system/pulseaudio/modules/rtp-send/name2 +name3 = /system/pulseaudio/modules/rtp-send/name3 +name4 = /system/pulseaudio/modules/rtp-send/name4 +name5 = /system/pulseaudio/modules/rtp-send/name5 +name6 = /system/pulseaudio/modules/rtp-send/name6 +name7 = /system/pulseaudio/modules/rtp-send/name7 +name8 = /system/pulseaudio/modules/rtp-send/name8 +name9 = /system/pulseaudio/modules/rtp-send/name9 +enabled = /system/pulseaudio/modules/rtp-send/enabled + +[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/upnp-media-server/] +args0 = /system/pulseaudio/modules/upnp-media-server/args0 +args1 = /system/pulseaudio/modules/upnp-media-server/args1 +args2 = /system/pulseaudio/modules/upnp-media-server/args2 +args3 = /system/pulseaudio/modules/upnp-media-server/args3 +args4 = /system/pulseaudio/modules/upnp-media-server/args4 +args5 = /system/pulseaudio/modules/upnp-media-server/args5 +args6 = /system/pulseaudio/modules/upnp-media-server/args6 +args7 = /system/pulseaudio/modules/upnp-media-server/args7 +args8 = /system/pulseaudio/modules/upnp-media-server/args8 +args9 = /system/pulseaudio/modules/upnp-media-server/args9 +name0 = /system/pulseaudio/modules/upnp-media-server/name0 +name1 = /system/pulseaudio/modules/upnp-media-server/name1 +name2 = /system/pulseaudio/modules/upnp-media-server/name2 +name3 = /system/pulseaudio/modules/upnp-media-server/name3 +name4 = /system/pulseaudio/modules/upnp-media-server/name4 +name5 = /system/pulseaudio/modules/upnp-media-server/name5 +name6 = /system/pulseaudio/modules/upnp-media-server/name6 +name7 = /system/pulseaudio/modules/upnp-media-server/name7 +name8 = /system/pulseaudio/modules/upnp-media-server/name8 +name9 = /system/pulseaudio/modules/upnp-media-server/name9 +enabled = /system/pulseaudio/modules/upnp-media-server/enabled -- 2.17.0