static void gst_wildmidi_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) { GstWildmidi *wildmidi; g_return_if_fail (GST_IS_WILDMIDI (object)); wildmidi = GST_WILDMIDI (object); switch (prop_id) { case PROP_LINEAR_VOLUME: GST_OBJECT_LOCK (object); g_value_set_boolean (value, wildmidi->linear_volume); GST_OBJECT_UNLOCK (object); break; case PROP_HIGH_QUALITY: GST_OBJECT_LOCK (object); g_value_set_boolean (value, wildmidi->high_quality); GST_OBJECT_UNLOCK (object); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void gst_wildmidi_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstWildmidi *wildmidi; g_return_if_fail (GST_IS_WILDMIDI (object)); wildmidi = GST_WILDMIDI (object); switch (prop_id) { case ARG_LINEAR_VOLUME: GST_OBJECT_LOCK (object); wildmidi->linear_volume = g_value_get_boolean (value); if (wildmidi->song) WildMidi_SetOption (wildmidi->song, WM_MO_LINEAR_VOLUME, wildmidi->linear_volume); GST_OBJECT_UNLOCK (object); break; case ARG_HIGH_QUALITY: GST_OBJECT_LOCK (object); wildmidi->high_quality = g_value_get_boolean (value); if (wildmidi->song) WildMidi_SetOption (wildmidi->song, WM_MO_EXPENSIVE_INTERPOLATION, wildmidi->high_quality); GST_OBJECT_UNLOCK (object); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }