summarylogtreecommitdiffstats
path: root/fix-2.2.x-for-gobject-property-system.patch
diff options
context:
space:
mode:
authorgandalf32021-01-21 15:42:39 -0800
committergandalf32021-01-21 15:42:39 -0800
commit90f71d77f744c97476b68da0d743d57d82504f6d (patch)
treeec04876d8bc7f8a915a2ab2038b86e9c4f4ab366 /fix-2.2.x-for-gobject-property-system.patch
parentd45545098aad4fa556e0a1b4ff525b9f7cc35de8 (diff)
downloadaur-90f71d77f744c97476b68da0d743d57d82504f6d.tar.gz
Add patch by blnagain (Michael Szafranek)
Diffstat (limited to 'fix-2.2.x-for-gobject-property-system.patch')
-rw-r--r--fix-2.2.x-for-gobject-property-system.patch246
1 files changed, 246 insertions, 0 deletions
diff --git a/fix-2.2.x-for-gobject-property-system.patch b/fix-2.2.x-for-gobject-property-system.patch
new file mode 100644
index 000000000000..a6255acda0b4
--- /dev/null
+++ b/fix-2.2.x-for-gobject-property-system.patch
@@ -0,0 +1,246 @@
+diff --git a/src/plugins/fluidsynth.c b/src/plugins/fluidsynth.c
+index 067c6d7..3fcd3d8 100644
+--- a/src/plugins/fluidsynth.c
++++ b/src/plugins/fluidsynth.c
+@@ -276,12 +276,12 @@ static void active_item_realtime_update(WavetblFluidSynth *wavetbl,
+ /* FluidSynth settings boolean exceptions (yes/no string values) */
+ static const char *settings_str_bool[] =
+ {
+- "audio.jack.multi",
+- "synth.chorus.active",
+- "synth.dump",
+- "synth.ladspa.active",
+- "synth.reverb.active",
+- "synth.verbose",
++ "audio-jack-multi",
++ "synth-chorus-active",
++ "synth-dump",
++ "synth-ladspa-active",
++ "synth-reverb-active",
++ "synth-verbose",
+ NULL
+ };
+
+@@ -667,7 +667,7 @@ wavetbl_fluidsynth_class_init(WavetblFluidSynthClass *klass)
+ g_object_class_install_property(obj_class, WTBL_PROP_CHORUS_COUNT,
+ g_param_spec_int("chorus-count", _("Chorus count"),
+ _("Number of chorus delay lines"),
+- 1, 99, chorus_presets[0].count,
++ 0, 99, chorus_presets[0].count,
+ G_PARAM_READWRITE));
+ g_object_class_install_property(obj_class, WTBL_PROP_CHORUS_LEVEL,
+ g_param_spec_double("chorus-level", _("Chorus level"),
+@@ -677,12 +677,12 @@ wavetbl_fluidsynth_class_init(WavetblFluidSynthClass *klass)
+ g_object_class_install_property(obj_class, WTBL_PROP_CHORUS_FREQ,
+ g_param_spec_double("chorus-freq", _("Chorus freq"),
+ _("Chorus modulation frequency (Hz)"),
+- 0.3, 5.0, chorus_presets[0].freq,
++ 0.1, 5.0, chorus_presets[0].freq,
+ G_PARAM_READWRITE));
+ g_object_class_install_property(obj_class, WTBL_PROP_CHORUS_DEPTH,
+ g_param_spec_double("chorus-depth", _("Chorus depth"),
+ _("Chorus depth"),
+- 0.0, 20.0, chorus_presets[0].depth,
++ 0.0, 256.0, chorus_presets[0].depth,
+ G_PARAM_READWRITE));
+ g_object_class_install_property(obj_class, WTBL_PROP_CHORUS_WAVEFORM,
+ g_param_spec_enum("chorus-waveform", _("Chorus waveform"),
+@@ -752,6 +752,9 @@ settings_foreach_func(void *data, const char *name, int type)
+ int optcount = 0;
+ char *optname;
+
++ /* GObject property names don't allow '.' */
++ char *gobj_name = g_strdelimit(g_strdup(name), ".", '-');
++
+ /* check if this property is on the string boolean list */
+ for(sp = settings_str_bool; *sp; sp++)
+ if(type == FLUID_STR_TYPE && strcmp(name, *sp) == 0)
+@@ -762,7 +765,7 @@ settings_foreach_func(void *data, const char *name, int type)
+ if(*sp) /* string boolean value? */
+ {
+ bdef = fluid_settings_str_equal(bag->settings, name, "yes");
+- spec = g_param_spec_boolean(name, name, name, bdef, G_PARAM_READWRITE);
++ spec = g_param_spec_boolean(gobj_name, name, name, bdef, G_PARAM_READWRITE);
+
+ /* set PROP_STRING_BOOL property flag */
+ dynamic_prop_flags[last_property_id - FIRST_DYNAMIC_PROP] |= PROP_STRING_BOOL;
+@@ -774,7 +777,7 @@ settings_foreach_func(void *data, const char *name, int type)
+ case FLUID_NUM_TYPE:
+ fluid_settings_getnum_range(bag->settings, name, &dmin, &dmax);
+ fluid_settings_getnum_default(bag->settings, name, &ddef);
+- spec = g_param_spec_double(name, name, name, dmin, dmax, ddef,
++ spec = g_param_spec_double(gobj_name, name, name, dmin, dmax, ddef,
+ G_PARAM_READWRITE);
+ break;
+
+@@ -785,18 +788,18 @@ settings_foreach_func(void *data, const char *name, int type)
+
+ if((hint & FLUID_HINT_TOGGLED) != 0) /* boolean parameter? */
+ {
+- spec = g_param_spec_boolean(name, name, name, idef != 0, G_PARAM_READWRITE);
++ spec = g_param_spec_boolean(gobj_name, name, name, idef != 0, G_PARAM_READWRITE);
+ }
+ else
+ {
+- spec = g_param_spec_int(name, name, name, imin, imax, idef, G_PARAM_READWRITE);
++ spec = g_param_spec_int(gobj_name, name, name, imin, imax, idef, G_PARAM_READWRITE);
+ }
+
+ break;
+
+ case FLUID_STR_TYPE:
+ fluid_settings_getstr_default(bag->settings, name, &defstr);
+- spec = g_param_spec_string(name, name, name, defstr, G_PARAM_READWRITE);
++ spec = g_param_spec_string(gobj_name, name, name, defstr, G_PARAM_READWRITE);
+
+ /* count options for this string parameter (if any) */
+ fluid_settings_foreach_option(bag->settings, name, &optcount,
+@@ -837,7 +840,7 @@ settings_foreach_func(void *data, const char *name, int type)
+ /* install an options parameter if there are any string options */
+ if(options)
+ {
+- optname = g_strconcat(name, "-options", NULL); /* ++ alloc */
++ optname = g_strconcat(gobj_name, "-options", NULL); /* ++ alloc */
+ spec = g_param_spec_boxed(optname, optname, optname, G_TYPE_STRV,
+ G_PARAM_READABLE);
+
+@@ -853,6 +856,8 @@ settings_foreach_func(void *data, const char *name, int type)
+
+ last_property_id++; /* advance the last dynamic property ID */
+ }
++
++ g_free(gobj_name);
+ }
+
+ /* function to iterate over FluidSynth string options for string parameters
+diff --git a/src/plugins/fluidsynth_gui.c b/src/plugins/fluidsynth_gui.c
+index 13d3fe1..4922159 100644
+--- a/src/plugins/fluidsynth_gui.c
++++ b/src/plugins/fluidsynth_gui.c
+@@ -132,7 +132,7 @@ fluid_synth_pref_handler(void)
+ "text", 0,
+ NULL);
+
+- g_object_get(swamigui_root->wavetbl, "audio.driver-options", &options, NULL); /* ++ alloc */
++ g_object_get(swamigui_root->wavetbl, "audio-driver-options", &options, NULL); /* ++ alloc */
+
+ for(optionp = options; *optionp; optionp++)
+ {
+@@ -147,7 +147,7 @@ fluid_synth_pref_handler(void)
+
+ /* Connect the audio combo box to the "audio.driver" property */
+ swamigui_control_prop_connect_widget(G_OBJECT(swamigui_root->wavetbl),
+- "audio.driver", G_OBJECT(widg));
++ "audio-driver", G_OBJECT(widg));
+
+ /* Initialize MIDI driver list */
+ widg = swamigui_util_glade_lookup(fluid_widg, "ComboMidiDriver");
+@@ -162,7 +162,7 @@ fluid_synth_pref_handler(void)
+ "text", 0,
+ NULL);
+
+- g_object_get(swamigui_root->wavetbl, "midi.driver-options", &options, NULL); /* ++ alloc */
++ g_object_get(swamigui_root->wavetbl, "midi-driver-options", &options, NULL); /* ++ alloc */
+
+ for(optionp = options; *optionp; optionp++)
+ {
+@@ -177,7 +177,7 @@ fluid_synth_pref_handler(void)
+
+ /* Connect the MIDI combo box to the "midi.driver" property */
+ swamigui_control_prop_connect_widget(G_OBJECT(swamigui_root->wavetbl),
+- "midi.driver", G_OBJECT(widg));
++ "midi-driver", G_OBJECT(widg));
+
+ /* Connect widgets to FluidSynth properties */
+ swamigui_control_glade_prop_connect(fluid_widg, G_OBJECT(swamigui_root->wavetbl));
+@@ -357,7 +357,7 @@ fluid_synth_gui_control_init(FluidSynthGuiControl *fsctrl)
+ }
+
+ /* ++Ref */
+- propctrl = swami_get_control_prop_by_name(G_OBJECT(wavetbl), "synth.reverb.active");
++ propctrl = swami_get_control_prop_by_name(G_OBJECT(wavetbl), "synth-reverb-active");
+ widg = swamigui_util_glade_lookup(fsctrl->ctrl_widg, "BtnReverb");
+ /* widget control is owned by the widget (it will be freed when the widget
+ will be destroyed) */
+@@ -369,7 +369,7 @@ fluid_synth_gui_control_init(FluidSynthGuiControl *fsctrl)
+ fsctrl->ctrl_list = g_slist_append(fsctrl->ctrl_list, propctrl);
+
+ /* ++Ref */
+- propctrl = swami_get_control_prop_by_name(G_OBJECT(wavetbl), "synth.chorus.active");
++ propctrl = swami_get_control_prop_by_name(G_OBJECT(wavetbl), "synth-chorus-active");
+ widg = swamigui_util_glade_lookup(fsctrl->ctrl_widg, "BtnChorus");
+ /* widget control is owned by the widget (it will be freed when the widget
+ will be destroyed) */
+diff --git a/src/swamigui/swami-2.ui b/src/swamigui/swami-2.ui
+index 648305a..5dd4518 100644
+--- a/src/swamigui/swami-2.ui
++++ b/src/swamigui/swami-2.ui
+@@ -778,68 +778,6 @@ BALATON Zoltan <balaton@users.sourceforge.net> (Spectralis support, Mac OS
+ <property name="y_options"/>
+ </packing>
+ </child>
+- <child>
+- <object class="GtkSpinButton" id="PROP::audio-input-channels">
+- <property name="visible">True</property>
+- <property name="can_focus">True</property>
+- <property name="invisible_char">•</property>
+- <property name="primary_icon_activatable">False</property>
+- <property name="secondary_icon_activatable">False</property>
+- <property name="primary_icon_sensitive">True</property>
+- <property name="secondary_icon_sensitive">True</property>
+- <property name="adjustment">adjustment3</property>
+- </object>
+- <packing>
+- <property name="left_attach">1</property>
+- <property name="right_attach">2</property>
+- <property name="top_attach">1</property>
+- <property name="bottom_attach">2</property>
+- <property name="y_options"/>
+- </packing>
+- </child>
+- <child>
+- <object class="GtkLabel" id="label49">
+- <property name="visible">True</property>
+- <property name="can_focus">False</property>
+- <property name="xalign">0</property>
+- <property name="label" translatable="yes">Input channels</property>
+- </object>
+- <packing>
+- <property name="top_attach">1</property>
+- <property name="bottom_attach">2</property>
+- <property name="x_options">GTK_FILL</property>
+- <property name="y_options"/>
+- </packing>
+- </child>
+- <child>
+- <object class="GtkSpinButton" id="PROP::audio-output-channels">
+- <property name="visible">True</property>
+- <property name="can_focus">True</property>
+- <property name="invisible_char">•</property>
+- <property name="primary_icon_activatable">False</property>
+- <property name="secondary_icon_activatable">False</property>
+- <property name="primary_icon_sensitive">True</property>
+- <property name="secondary_icon_sensitive">True</property>
+- <property name="adjustment">adjustment4</property>
+- </object>
+- <packing>
+- <property name="left_attach">1</property>
+- <property name="right_attach">2</property>
+- <property name="y_options"/>
+- </packing>
+- </child>
+- <child>
+- <object class="GtkLabel" id="label39">
+- <property name="visible">True</property>
+- <property name="can_focus">False</property>
+- <property name="xalign">0</property>
+- <property name="label" translatable="yes">Output channels</property>
+- </object>
+- <packing>
+- <property name="x_options">GTK_FILL</property>
+- <property name="y_options"/>
+- </packing>
+- </child>
+ </object>
+ <object class="GtkTable" id="FluidSynth-Audio:oss">
+ <property name="visible">True</property>