Blob Blame History Raw
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;
 }