[linux-audio-dev] strange MIDI messages when receiving programchanges ??

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] strange MIDI messages when receiving programchanges ??
From: Benno Senoner (sbenno_AT_gardena.net)
Date: Mon Mar 20 2000 - 13:10:05 EET


Hi,
I have an old cheap master keyboard here
( branded Commodore :-) )

FYI: It supports running status
It has + / - keys for sending programchanges

plus keys from 0 to 9 for entering program changes
manually.

When I use the +/- keys all seems fine
only the program changes message are sent,

but when I use the numeric keys, the keyboards
seems to send PARAMETER messages along with
the program change:

keep reading below for a pratical example:
(read buf values in HEX)

programchange 01 using plus key (OK)

seq=1 read buf=c0
seq=2 read buf=01

programchange 02 using plus key (OK)

seq=3 read buf=c0
seq=4 read buf=02

programchange 02 using the "2" key (STRANGE)

first it sends 0xb0 , which is a PARAMETER message
followed by 2 bytes ( 0x00,0x00) which is
controller 0 with value 0
then 0x20 is sent: since bit 7 is 0 , it indicates
the running status mode (still PARAMETER message,
but without status byte)
0x20 is the first argument ( controller 32 (in decimal))
controller value 0
then finally the program change appears ( 0xc0 , 0x02)

seq=5 read buf=b0
seq=6 read buf=00
seq=7 read buf=00
seq=8 read buf=20
seq=9 read buf=00
seq=10 read buf=c0
seq=11 read buf=02

programchange using "3" key

seq=12 read buf=b0
seq=13 read buf=00
seq=14 read buf=00
seq=15 read buf=20
seq=16 read buf=00
seq=17 read buf=c0
seq=18 read buf=03

program change using "4" key

seq=19 read buf=b0
seq=20 read buf=00
seq=21 read buf=00
seq=22 read buf=20
seq=23 read buf=00
seq=24 read buf=c0
seq=25 read buf=04

Any thoughts ??

should I just ignore these PARAMETER messages ?
I looked at the midi controller table,
and controllers 0 and 32 do not have any special meanings.

Notice that the output above was produced using a simple
while loop reading 1 byte at time (blocking mode).

These tests were performed using an AWE64 + OSS/Free +
commodore MIDI masterkeyboard,
I think the read values are correct, and no loss of MIDI bytes
occurred.

Benno.


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Mon Mar 20 2000 - 12:56:23 EET