krevis / MIDIApps

MIDI apps for Mac OS X: MIDI Monitor and SysEx Librarian.
http://www.snoize.com/
BSD 3-Clause "New" or "Revised" License
707 stars 113 forks source link

Add way to send a sysex dump request #20

Open krevis opened 13 years ago

krevis commented 13 years ago

Graham Hinton asks:

There seems to be a blindspot in SysEx Librarian in that it assumes that a SysEx dump is manually initiated. Could you make it send out a SysEx dump request message (which would have to be defined somehow) and then catch the reply?

Not too hard technically, but I'm not sure what the UI/workflow should look like.

elosha commented 7 years ago

Here are some ideas, hope they are helpful:

a) The simplest solution would be to allow manual sending of a user-provided SysEx file, containing any desired synth's dump request, while the recording window is open and listening. Currently the recording window blocks the user from sending anything.

b) More elegant should be a Play-and-Record button. It would playback the currently selected SysEx file, then immediately start the recording process to catch the answer. (List selection has to stay on played file to be ready for another dump).

c) The coolest way of requesting a patch dump, of course, would be a simple request button, which requires SysEx Librarian to know how to convince each synth to hand over its patch data. Might require a database or at least a look up table.

Meanwhile, little "mobile" synths without a patch dump button seem popular, like Yamaha's Reface or Korg's Volca series. For them it's not just a nice option, but currently impossible to save their patch data from within SysEx Librarian at all. :zipper_mouth_face:

DisasterAreaDesigns commented 6 years ago

a) The simplest solution would be to allow manual sending of a user-provided SysEx file, containing any desired synth's dump request, while the recording window is open and listening. Currently the recording window blocks the user from sending anything.

b) More elegant should be a Play-and-Record button. It would playback the currently selected SysEx file, then immediately start the recording process to catch the answer. (List selection has to stay on played file to be ready for another dump).

Either of these methods would work well. Right now I am using SysEx Librarian to initiate the dump and leaving MIDI Monitor open to receive the data. You can use MIDI Monitor to save the message contents to a .SYX file. Works but inelegant.

mtarenskeen commented 4 years ago

Either of these methods would work well. Right now I am using SysEx Librarian to initiate the dump and leaving MIDI Monitor open to receive the data. You can use MIDI Monitor to save the message contents to a .SYX file. Works but inelegant.

A slightly more elegant solution is to start/open TWO instances of SysEx Librarian (instead of using MIDI Monitor). One instance of SysEx Librarian to send the SysEx dump request, the other to fetch and save the resulting SysEx data. Tested, and works. For example one single Reface DX SysEx dump is made of 7 SysEx blocks. You need SysEx librarian to save that as one single file. Using MIDI monitor you will get 7 separate files. Using SysEx Librarian you can fetch and save this as one concatenated multi-sysex file.

mtarenskeen commented 4 years ago

I would prefer a little text-input dialog where you can enter a SysEx message using hexadecimal notation like "F00102030405F7" or "f0,01,02,03,04,05,07,f7" or "F0 01 02 03 04 05 f7". The program should parse the string, accept both lower/uppercase, ignore spaces and and non-hexadecimal characters, and read and convert it as pairs of characters, and then construct the SysEx message from there. The message is sent to the device and after that the existing functions in the program are called to wait for incoming midi data. It should also be possible to load/save such messages as request files that can be re-used. Users can share their working request files, a collection of such files (can be binary sysex files) could be added to the GIT sources?