[PD-dev] [ pure-data-Bugs-3010589 ] PD vanilla 0.42-5 - midiout 'loses' (re-orders) bit

SourceForge.net noreply at sourceforge.net
Wed Jun 2 19:02:25 CEST 2010


Bugs item #3010589, was opened at 2010-06-02 17:02
Message generated for change (Tracker Item Submitted) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3010589&group_id=55736

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: v0.42
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: PD vanilla 0.42-5 - midiout 'loses' (re-orders) bit

Initial Comment:
WinXP Pro SP3
Pd version 0.42-5
17-Jan-07 version of PortMidi

thread: http://puredata.hurleur.com/sujet-4275-vanilla-portmidi-midiout-loses-orders-bits
(see thread for text colored in where neccessary)

hey everyone,

I've been working with PD vanilla 0.42-5 - PortMidi midiout last night, trying to figure out why it wouldn't work with my AKAI MPD 24 properly. Here's what I found:

Patch (as attached:)

240, 71, 0, 104, 49, 0, 11, 8, 0, 0, 72, 97, 108, 108, 111, 32, 32, 32, 247
|
midiout

And to check the results, i used: midiout -> Midiyoke -> MidiOX (all latest versions)


Problem

The message I sent (which was a valid MPD 24 SysEx message, double-checked several times from MidiOX directly) was DEC

240, 71, 0, 104, 49, 0, 11, 8, 0, 0, 72, 97, 108, 108, 111, 32, 32, 32, 247

and should convert have converted to HEX

F0 47 00 68 31 00 0B 08 00 00 48 61 6C 6C 6F 20 20 20 F7

instead, it comes out HEX

F0 47 00 68 31 00 02 08 00 00 52 61 6C 6C 1B 20 20 20 F7

- with 3 wrong HEX pairs.


What happens

I looked a bit at the first number, DEC 11 that should come out HEX 0B but comes out HEX 02

here's how it behaves in reverse engineering:

when i send DEC 0, 1, 2 or 3, it comes out HEX 0
when i send DEC 4, 5 6 or 7, it comes out HEX 1

see table:

DEC .. DEC -> HEX

00 .. 03 -> 00
04 .. 07 -> 01
08 .. 11 -> 02
12 .. 15 -> 03
16 .. 19 -> 04
20 .. 23 -> 05
24 .. 27 -> 06
28 .. 31 -> 07
32 .. 35 -> 08
36 .. 39 -> 09
40 .. 43 -> 0A
44 .. -> 0B

etc.

When you look at the BIN, it becomes obvious what's happening:

DEC  (BIN) .. DEC  (BIN) -> HEX (BIN)

00 (        0) .. 03 (      11) -> 00 (      0)
04 (    100) .. 07 (    111) -> 01 (      1)
08 (  1000) .. 11 (  1011) -> 02 (    10)
12 ( 1100) .. 15 (  1111) -> 03 (    11)
16 (10000) .. 19 (10011) -> 04 (  100)
20 (10100) .. 23 (10111) -> 05 (  101)

.. two bits at the end are truncated.

It wouldn't surprise me if we found them somewhere in the other 'wrong numbers' ofthe original message.

When I manipulate the numbers to come out correctly in MidiOX, my MPD 24 will happily accept the sysex and execute it so the probelm is definitely not MidiOx or Midiyoke.

Questions

1) can anyone confirm this?
2) is anyone currently maintaining PortMidi, so this could maybe get fixed?

thanks
groovelastig

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3010589&group_id=55736




More information about the Pd-dev mailing list