Some DSSI controls aren't mapped to MIDI controls.  This patch ignores
them.  I'm checking it in.

Thanks,

AG


2005-10-06  Anthony Green  <[EMAIL PROTECTED]>

        * native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
        (Java_gnu_javax_sound_midi_dssi_DSSISynthesizer_open_1): Ignore
        controllers that aren't mapped to MIDI controls.


Index: native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c,v
retrieving revision 1.3
diff -u -r1.3 gnu_javax_sound_midi_dssi_DSSISynthesizer.c
--- native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c    7 Oct 
2005 03:21:05 -0000       1.3
+++ native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c    7 Oct 
2005 05:08:37 -0000
@@ -263,7 +263,8 @@
 Java_gnu_javax_sound_midi_dssi_DSSISynthesizer_open_1 
   (JNIEnv *env, jclass clazz __attribute__((unused)), jlong handle)
 {
-  unsigned int port_count, j, cindex, controller = 0;
+  unsigned int port_count, j, cindex;
+  int controller = 0;
   dssi_data *data = (dssi_data *) (long) handle;
   if ((data->jack_client = jack_client_new (data->desc->LADSPA_Plugin->Label)) 
== 0)
     {
@@ -347,19 +348,19 @@
                controller = data->desc->
                  get_midi_controller_for_port(data->plugin_handle, j);
 
-               if (DSSI_IS_CC(controller))
+               if ((controller != DSSI_NONE) && DSSI_IS_CC(controller))
                  {
                    data->control_value_map[DSSI_CC_NUMBER(controller)] = 
cindex;
                    data->control_port_map[DSSI_CC_NUMBER(controller)] = j;
-                 }
-             }
 
 #ifdef DEBUG_DSSI_PROVIDER
-           printf ("MIDI Controller 0x%x [%s] = %g\n", 
-                   DSSI_CC_NUMBER(controller),
-                   data->desc->LADSPA_Plugin->PortNames[j],
-                   data->control_values[cindex]);
+                   printf ("MIDI Controller 0x%x [%s] = %g\n", 
+                           DSSI_CC_NUMBER(controller),
+                           data->desc->LADSPA_Plugin->PortNames[j],
+                           data->control_values[cindex]);
 #endif
+                 }
+             }
 
            cindex++;
          }




_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to