I think there is some incompleteness in OM regarding MIDI (on mac).
Why it is not possible to choose in- and out-ports like in other SW, f.e. PureData, or even "small" SW like midipipe or pocket-midi?
I have problems with using "Korg minilogue xd" (hereinafter referred to as MXD) with OM (Version 3.0.29206 (3.0.29206)).
When i call (midi-destinations) with connected MXD the result for minilogue-ports is:
(12 . "MIDI OUT") (13 . "SOUND")
But the correct names of the ports are: "minilogue xd SOUND" and "minilogue xd MIDI OUT".
The MXD has 4 ports, 2 out and 2 in: minilogue xd SOUND", "minilogue xd MIDI OUT", "minilogue xd MIDI OUT", "minilogue xd KBD/KNOB" and "minilogue xd MIDI IN".
Why OM cannot recognise the correct names like Dorico, PureData, midipipe, pocket-midi etc.?
Ok, this would be not a great problem alone - but was suspicious. And the problems actually followed:
PROBLEM 1 with MIDI-In:
I tried to use Korg minilogue xd as MIDI-entry for OM, and it doesn't work - it shows strange behaviour and deletes passed-in notes again.
With Dorico and the other mentioned SW there is no problem. So the error is not in the MXD, I suppose.
PROBLEM 2 with MIDI-Out:
My goal is to use OM to control and play the MXD over the OMN-articulation mechanism (which f.e. is described in "Program changes inside the OMN form").
This time simply to control program changes.
So I defined attributes (prg1 to prg500 - MXD has 500 programs, 200 as presets and 300 for users)
and a sound set (here reduced to some selected programs):
korg_minilogue_xd_debug.lisp
And here is the test:
MIDI connection minilogue BUG.opmo
This is the resulting score:
OM seems to recognise only each first program from every hundred, i.e prg1 from the first 100 (= 1 to 100), prg101 from the second 100 (= 101 to 200) and so on.
That means it recognises the LSB, but ignores the program number:
The correct way to change a program on the MXD with MIDI commands is:
(cc0 0 cc32 0 0-99) for prg1 to 100
(cc0 0 cc32 1 0-99) for prg101 to 200
...
(cc0 0 cc32 4 0-99) for prg401 to 500
It does work when I send the command from the pocket-midi SW, but not from OM.
When OM sends (cc0 0 cc32 0 0) or (cc0 0 cc32 0 4)* MXD changes anyway to Program 1 *(it should to 5), when OM sends (cc0 0 cc32 1 0) or (cc0 0 cc32 1 4)** MXD changes anyway to Program 101 **(it should to 105) and so on.
BUT: when I connect OM to MXD indirectly over the midipipe SW, simply by passing it on, then it does work!
Does it mean?: OM is sending some incorrect or incomplete MIDI commands? Is there an interrelation with the wrong port-name recognition?
I would appreciate the correction of the possible bugs, but also, if the mac users of OM get the possibility to transparently control the MIDI-In and MIDI-out ports like in other software, f.e. in PureData.:
I think it's obvious that the MIDI handling in OM (on the mac?) needs improvement.
=====
The used computer:
I made a mistake in the picture of the resulting score.
Here the corrected one: