From Brian Willoughby Sent Mon, Oct 29th 2018, 07:33
Hmm, I don=E2=80=99t have contact information for Mike Metlay. = Everything I have with his name on it is from the eighties or early = nineties. I do have Owners Manuals (original & PDF), Service Manuals (M-12 & Xp), = and SysEx documentation. I=E2=80=99m also able to get my M-12 to response to a request to dump = all of its presets, so the communications are enabled in the Master = Page, MIDI, Enables. I=E2=80=99ve tried variations of the =E2=80=9Cdevice=E2= =80=9D (both Xpander and Matrix-12) and Display Command (Xpander & = Matrix-12, again). I=E2=80=99m now sending Display On before Display = Data (was reversed before). None of the changes seem to have any effect. Thanks. Maybe I=E2=80=99ll wait another day for other folks to reply. Brian On Oct 28, 2018, at 10:53 PM, Lorne Hammond <xxxxxxxx@xxxx.xx> wrote: > Brian: ask Mike Metalay the wizard of expanders. If it can be done he = may have seen it. =20 > lorne >=20 > -----Original Message----- > From: Brian Willoughby <xxxxxx@xxxxxxxxxxxx.xxx>=20 > Sent: October-28-18 9:26 PM > To: Analog Heaven <xxxxxxxx@xxxxxxxxx.xxx> > Subject: [AH] Xpander/Matrix-12 Display Command (SysEx) >=20 > Hello all, >=20 > Here=E2=80=99s something that has baffled me for decades. Has anyone = been able to successfully change the Matrix-12 or Xpander display via = MIDI, using the Display Command described in the manual? >=20 > I managed to implement a librarian that can pull all presets from a = Matrix-12. So, I know that my code can generate a SysEx message that the = Matrix-12 can understand. But, for some reason, sending a Display = Command is completely ignored. It=E2=80=99s never been a priority to get = that working, but I can=E2=80=99t understand why it wouldn=E2=80=99t = work. >=20 > If anyone has been able to do this, on an Xpander or a Matrix-12, = especially the latter, then please help me figure out the secret. >=20 > Brian Willoughby >=20 > p.s. The Xp/M12 SysEx has no way to write a full patch to the edit = buffer. You can only overwrite one of the patch memories. I managed to = find a way around this. My goal was to avoid erasing one of the memory = locations just so I could audition a (potentially boring) patch before = committing it to =E2=80=9Cpermanent=E2=80=9D storage. The solution is a = giant subroutine that reads a single patch from the librarian database, = and then goes through every since parameter, one by one, sending page = edit commands to duplicate the settings. This actually works, and = basically sets the Matrix-12 as if you had manually entered the patch in = the edit buffer. It makes no permanent changes unless you decide to = store. When first implemented, the code ran too fast for the Matrix-12 = to keep up, so the patch would have lots of random parameters missing. = The trick turned out to be a 75 millisecond delay between each SysEx = edit message. Even with the delay, and the large number of parameters, = it=E2=80=99s still basically =E2=80=9Cinstantaneous=E2=80=9D to select a = patch from the librarian and then be able to hear it auditioned on the = synth. Considering how much communication is going on in that feature, = I=E2=80=99m very surprised that something as simple as the Display = Command would not work. I must be missing something very simple. >=20 >=20 >=20