diff -Nur audacious-plugins-2.2-orig/src/amidi-plug/amidi-plug.c audacious-plugins-2.2/src/amidi-plug/amidi-plug.c
--- audacious-plugins-2.2-orig/src/amidi-plug/amidi-plug.c 2009-11-22 23:49:52.000000000 +0100
+++ audacious-plugins-2.2/src/amidi-plug/amidi-plug.c 2010-05-31 12:17:41.000000000 +0200
@@ -259,7 +259,7 @@
soft_init ();
if (filename != NULL)
- title = g_path_get_basename(filename_uri);
+ title = g_path_get_basename(filename);
else
title = g_strdup(filename_uri);
diff -Nur audacious-plugins-2.2-orig/src/amidi-plug/i_backend.c audacious-plugins-2.2/src/amidi-plug/i_backend.c
--- audacious-plugins-2.2-orig/src/amidi-plug/i_backend.c 2009-11-22 23:49:52.000000000 +0100
+++ audacious-plugins-2.2/src/amidi-plug/i_backend.c 2010-05-31 12:18:24.000000000 +0200
@@ -105,7 +105,7 @@
{
gchar * module_pathfilename = g_strjoin( "" , AMIDIPLUGBACKENDDIR , "/ap-" , module_name , ".so" , NULL );
DEBUGMSG( "loading backend '%s'\n" , module_pathfilename );
- backend.gmodule = g_module_open( module_pathfilename , 0 );
+ backend.gmodule = g_module_open( module_pathfilename, G_MODULE_BIND_LAZY|G_MODULE_BIND_LOCAL );
if ( backend.gmodule != NULL )
{
diff -Nur audacious-plugins-2.2-orig/src/amidi-plug/i_midi.c audacious-plugins-2.2/src/amidi-plug/i_midi.c
--- audacious-plugins-2.2-orig/src/amidi-plug/i_midi.c 2009-11-22 23:49:52.000000000 +0100
+++ audacious-plugins-2.2/src/amidi-plug/i_midi.c 2010-05-31 12:17:20.000000000 +0200
@@ -659,8 +659,10 @@
/* IMPORTANT
this couple of important values is set by i_midi_set_length */
mf->length = length_microsec;
- mf->avg_microsec_per_tick = (gint)(length_microsec / mf->max_tick);
-
+ if (mf->max_tick)
+ mf->avg_microsec_per_tick = (gint)(length_microsec / mf->max_tick);
+ else
+ mf->avg_microsec_per_tick = 1; /* dummy - protect against div-by-zero */
return;
}