Update of /cvsroot/alsa/alsa-kernel/core/seq/oss
In directory sc8-pr-cvs1:/tmp/cvs-serv30877

Modified Files:
        seq_oss_midi.c 
Log Message:
Fixed the reset sequence for synth mode

Index: seq_oss_midi.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/core/seq/oss/seq_oss_midi.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- seq_oss_midi.c      11 Mar 2003 15:04:22 -0000      1.10
+++ seq_oss_midi.c      11 Mar 2003 15:28:20 -0000      1.11
@@ -206,9 +206,9 @@
        }
        if (i >= max_midi_devs) {
                if (max_midi_devs >= SNDRV_SEQ_OSS_MAX_MIDI_DEVS) {
+                       spin_unlock_irqrestore(&register_lock, flags);
                        snd_midi_event_free(mdev->coder);
                        kfree(mdev);
-                       spin_unlock_irqrestore(&register_lock, flags);
                        return -ENOMEM;
                }
                max_midi_devs++;
@@ -464,8 +464,7 @@
                return;
        }
 
-       if (dp->seq_mode == SNDRV_SEQ_OSS_MODE_MUSIC &&
-           (mdev->opened & PERM_WRITE)) {
+       if (mdev->opened & PERM_WRITE) {
                snd_seq_event_t ev;
                int c;
 
@@ -475,16 +474,22 @@
                ev.dest.port = mdev->port;
                ev.queue = dp->queue;
                ev.source.port = dp->port;
+               if (dp->seq_mode == SNDRV_SEQ_OSS_MODE_SYNTH) {
+                       ev.type = SNDRV_SEQ_EVENT_SENSING;
+                       snd_seq_oss_dispatch(dp, &ev, 0, 0); /* active sensing */
+               }
                for (c = 0; c < 16; c++) {
                        ev.type = SNDRV_SEQ_EVENT_CONTROLLER;
                        ev.data.control.channel = c;
                        ev.data.control.param = 123;
                        snd_seq_oss_dispatch(dp, &ev, 0, 0); /* all notes off */
-                       ev.data.control.param = 121;
-                       snd_seq_oss_dispatch(dp, &ev, 0, 0); /* reset all controllers 
*/
-                       ev.type = SNDRV_SEQ_EVENT_PITCHBEND;
-                       ev.data.control.value = 0;
-                       snd_seq_oss_dispatch(dp, &ev, 0, 0); /* bender off */
+                       if (dp->seq_mode == SNDRV_SEQ_OSS_MODE_MUSIC) {
+                               ev.data.control.param = 121;
+                               snd_seq_oss_dispatch(dp, &ev, 0, 0); /* reset all 
controllers */
+                               ev.type = SNDRV_SEQ_EVENT_PITCHBEND;
+                               ev.data.control.value = 0;
+                               snd_seq_oss_dispatch(dp, &ev, 0, 0); /* bender off */
+                       }
                }
        }
        snd_seq_oss_midi_close(dp, dev);



-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open! 
Get cracking and register here for some mind boggling fun and 
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to