21 struct xmms_xform_plugin_St {
32 while (plugin->in_types) {
35 plugin->in_types = g_list_delete_link (plugin->in_types,
56 g_return_if_fail (plugin);
70 g_return_val_if_fail (plugin, FALSE);
83 gchar *config_key, config_value[32];
86 va_start (ap, plugin);
90 config_key = g_strconcat (
"priority.",
94 g_snprintf (config_value,
sizeof (config_value),
"%d", priority);
96 config_value, NULL, NULL);
99 plugin->in_types = g_list_prepend (plugin->in_types, t);
108 g_return_val_if_fail (st, FALSE);
109 g_return_val_if_fail (plugin, FALSE);
110 g_return_val_if_fail (priority, FALSE);
112 for (t = plugin->in_types; t; t = g_list_next (t)) {
114 const gchar *type_name;
123 config_key = g_strconcat (
"priority.", type_name, NULL);
128 if (config_priority) {
143 const gchar *default_value,
157 return !!plugin->methods.init;
163 return !!plugin->methods.read;
169 return !!plugin->methods.seek;
175 return !!plugin->methods.browse;
181 return !!plugin->methods.destroy;
187 return plugin->methods.init (xform);
194 return plugin->methods.read (xform, buf, length, error);
202 return plugin->methods.seek (xform, offset, whence, err);
210 return plugin->methods.browse (xform, url, error);
216 plugin->methods.destroy (xform);