Sysex Viewer III

15 posts / 0 new
Last post
Royce
Royce's picture
Sysex Viewer III

Hi Mark,

thanks for the new version of the Midi Tools.

I hope to play with it today.

I was wondering if you do me a favour and add a long edit box next to the Record and Start Buttons and a send buttnon below the new edit box so I could type in a request sysex message and send it to the synth.

At the moment I am flipping back and forth between MidiTools and MidiOx as I probe the synth and it would be great to have it on one window.

Hope you are well.

Royce 

Mark van den Berg
Mark van den Berg's picture

Hi Royce,

Try this: http://mountainutilities.eu/dl/MidiTls_1.8.1_a1.zip:

You can type one or more SysEx messages (as "bare" hexadecimal bytes) in the new "Message(s)" editbox (whose width follows the window width).
Once the message(s) are legal (i.e. each message consists of F0 + zero or more MIDI data bytes + F7), the new Send button becomes enabled.
The editbox and the button aren't accessible (yet) via the window's menu, but Alt+G selects the editbox and Alt+N presses the button.
Note that you can even press the Send button when you're recording bytes via the Record button (which, as you've probably noticed, isn't the case for the Play button, to avoid interference problems).

I hope this does what you requested.

Mark.

Royce
Royce's picture

Hi Mark,

thanks for the addition.

Works perfectly.

Have a little drink on me.

 

Thanks again

Royce

Mark van den Berg
Mark van den Berg's picture

Hi Royce,

First of all: thanks very much for your donation!

I've made a new version, http://mountainutilities.eu/dl/MidiTls_1.8.1_a2.zip, with a few improvements:

1. I've changed the editbox to a combobox:
Whenever you press the Send button, the current text in the combobox is added to its drop-down history list, unless the text is already there. (As you probably know, you can also open a combobox's drop-down list via Alt + Down-arrow.)
Currently, the text lines in the history list are not sanitized: spaces and lowercase are retained as typed; consequently e.g. "F0 F7" and "f0 f7" are seen as different. However, I'm not sure how convenient sanitization would be: e.g. a user might wish to retain multiple spaces between messages for clarity.

2. The combobox no longer uses the variable-pitch Tahoma font, but the fixed-pitch Fixedsys.
This is in line with the message grid and the SysEx dialog box.
A drawback is that Fixedsys is somewhat wider than Tahoma, but then again you can widen the combobox as much as you like, so I'm not quite sure which is best.
Let me know if you prefer Tahoma after all - I can change it back in the blink of an eye.

Mark.

Royce
Royce's picture

Hi Mark,

I like the new font.

I also like that I can have more than one sysex message in a line.

 

Of course after making it a combobox that stores the line I now want a right click menu to save and load and delete a line, along with a way of inserting a comment; "//" perhaps

F0 7E 7F 06 01 F7  // Device inquiry

F0 18 0F 7F 55 61 00 01 00 00 00 00 00 F7  // Generic dump request

8)

Thanks again

Royce

 

Mark van den Berg
Mark van den Berg's picture

Hi Royce,

Frankly I'm not a fan of popup menus, mainly because the existence of any popup menu in a program more or less forces the user to right-click on every screen element to see if a popup menu is associated with that element too. That's why abt. 15 years ago I abolished all my popup menus and swore never to implement one again; so far I've managed to keep my promise - but who knows...

I'm not sure how practical appending comments to lines will be, especially in the combobox (mind you, this is my first history list in a combobox ever...). My first thought is that a grid, with two columns (message(s) + comment), might be more appropriate (although a grid of course takes more space).
Add to that your suggestions about saving, loading and deleting, and I can see a fully-featured extra panel on the horizon. In fact, already after your original request for an editbox I considered adding a second panel, or even a second SysEx window, so I kind of knew that things could "get out of hand".

So I'll probably have to sleep on it for a week or so - stay tuned...

Mark.

Royce
Royce's picture

Hi Mark,

I would prefer if you kept it simple. I have your program occupying the whole screen and like to see as much of the sysex data as I can which is why I suggested the edit box to sit to the right of the Stop button with the Send button just to the right of the Delay speed button.

As you are pulling the Sysex string in to do your checks, just add this at the start of your check function

    if Pos('//',Edit.Text) = 0  then TestString := Edit.Text
    else TestString := Copy(Edit.Text,1,Pos('//',Edit.Text) -1);

I would even drop your save to the ComboBox StringList routine and forget the popup menu. Just right click (perhaps linked to a menu option) OnMouseDown routine to load a text file to the Combo StringList. I'll use any old text editor to create and delete the lines I need. I wouldn't make it any more complicated than that.

Perhaps have place to keep the files for various synths like you have for your BCR manager.

Thanks for the help for this greedy, never satisfied consumer of other peoples' work. 8)

Royce

Mark van den Berg
Mark van den Berg's picture

Hi Royce,

Try this: http://mountainutilities.eu/dl/MidiTls_1.8.1_a3.zip.

New features:

  • The combobox and Send button are now on a new panel called "Probe".
  • The controls on the two panels have been tightened even further: less surrounding space etc.
  • The I/O panel, the probe panel and the toolbar can be independently hidden via the View menu. These settings are retained on restart of MIDI Tools.
  • The main menu has a new pulldown item, "Probe", which contains the following items: 1. Send: duplicates the Send button. 2. Open/save the combobox list from/to a txt file. 3. Cut/copy/paste the combobox list to/from the Windows clipboard. 4. Delete: clears the combobox list. (Note: Open and Paste don't perform any syntax checks, so you can put any text into the combobox list, but of course you won't be able to send any ungrammatical line.)
  • Comments are allowed, almost exactly as you requested: the Send parser ignores the first slash ("/") and any characters after it. (I saw no need to require two slashes...). Of course the full line is stored in the combobox list.

Hopefully this addresses most of your requests and considerations.

Mark.

Royce
Royce's picture

Thanks Mark, that is great. Saving me a lot of time.
I have a couple of files to start off the 'library'.
I'll email them to you.
I am using "//" instead of "/" because my text editor has a pascal syntax hi-lighter that makes it easier to read.

I find I am constantly changing bytes and I don't want to clutter up the list by adding the changed lines.
Any chance of a persistent on/off for line adding function?

All the best
Royce

Mark van den Berg
Mark van den Berg's picture

Hi Royce,

New version: http://mountainutilities.eu/dl/MidiTls_1.8.1_a4.zip:

  • Fixed: a 1.8.1 a1 regression that caused File -> Insert to do nothing.
  • As you requested: new in the Probe menu: the "Add to list" setting (retained upon restart of MIDI Tools). Only if this setting is on does Send add the sent probe line to the history list. A small circle to the right of the combobox indicates the state of this setting: red = on. (Currently you can't toggle this setting by clicking the circle: since it's so close to the combobox pull-down triangle, I deemed the risk of accidentally toggling this too great.)
  • Also new in the Probe menu: a recent file list (retained upon restart of MIDI Tools): the 10 most recently opened/saved text files can be reopened directly.
  • A comment can now also be put behind a semicolon. This widens the choice of external syntax highlighter.
  • The drop down count (i.e. max. number of lines shown simultaneously) of the combobox has been raised from 8 to 40. (This should be useful for long files, such as the ones you sent me.)
  • The SysEx window has been running out of keyboard shortcuts. Most seriously, the Alt+P that was supposed to open the Probe menu conflicted with the age-old Alt+P of the Play button, so after long deliberation I've changed Play's shortcut to Alt+Y. (Since all the other letters in "Probe" have been taken too ("o" by the Probe combobox!), I couldn't change the Probe menu's shortcut. I've tried to find a suitable alternative name for the Probe menu, but so far I haven't found anything that covers the meaning equally well.)
  • Another keyboard shortcut change: Send is no longer triggered by Alt+N but by F9, which should be more convenient for heavy usage.

I'm still thinking about the easiest way to transfer the probe list messages to the grid and v.v. (I'm not sure to what extent you're interested in this, but I do think it should be possible.) There's the Windows clipboard (currently used by the probe lists), there's the special SysEx message clipboard (used by the grid and also by the MIDI input messages window), and then there are syx and txt files - so there are a lot of options.

Mark.

Mark van den Berg
Mark van den Berg's picture

New version: http://mountainutilities.eu/dl/MidiTls_1.8.1_a5.zip:

  • New operation "Paste from grid" (shortcut: Shift+Ctrl+Ins) copies the message(s) selected in the grid to the probe line.
  • New operation "Correct checksum(s)" (shortcut: F8) corrects the checksum(s) of all Roland DT1 and RQ1 messages in the probe line. (Let me know if you need checksum correction for other manufacturers.) A dialog box pops up whenever a correction has actually taken place (of course I can make this optional if you find this may become annoying).
  • If the persistent option "Auto-correct checksum(s)" is on, the "Send" operation first performs the "Correct checksum(s)" operation.
Mark van den Berg
Mark van den Berg's picture

New version: http://mountainutilities.eu/dl/MidiTls_1.8.1_a6.zip:

Changes to the SysEx window:

Quite a few changes to the main menu. For instance, the MIDI pull-down menu has been renamed to I/O and the Edit pull-down menu to Grid, and the order of the pull-down menus has been changed.

Changes related to the message grid:

  • The vertical order of the representations of the message bytes in the grid has changed. From top to bottom the order is now: decimal, hexadecimal, binary, character. (This order is the same as in the MIDI data calculator window, accessible from the main window's View pull-down menu.)
  • The old "Edit" operation (allowing you to edit the selected messages as text lines) is still available, but has been renamed to "Edit message(s)" and its icon has changed to a "T".
  • The "E" icon is now associated with the new "Edit byte(s)" operation. This operation allows you to edit the selected byte(s) in the message grid individually via a dialog box, offering three editing formats: decimal, hexadecimal and binary. The corresponding ASCII character is also displayed.
  • "Correct Roland checksum(s)" can be applied on demand to the message(s) selected in the grid.
  • If "Auto-correct Roland checksum(s)" in the Grid pull-down menu has been ticked, the "Edit byte(s)" and "Edit message(s)" operations automatically correct any invalid Roland checksums resulting from your edits. (Note that this setting is separate from "Auto-correct Roland checksum(s)" in the Probe pull-down menu, which applies to the Send operation.)

The correction of checksum bytes is no longer indicated by a dialog box. Instead, the status bar displays "Roland checksum(s) corrected" for 1.5 seconds. Additionally, corrections to the Probe line turn its background aqua during this period.

New/changed shortcuts:

Input:
Ctrl+F9 or Alt+R = Record
Ctrl+F10 or Alt+S = Stop

Probe:
F4 = Correct Roland checksum(s)
F5 or Alt+E = Send

Grid:
F8 = Correct Roland checksum(s)
F9 or Alt+Y = Play
Enter = Edit byte(s)
Shift+Enter = Edit message(s)

Additionally, this version introduces a major new feature not specifically related to the SysEx window:
From the main window's View pull-down menu you can save and reload "desktops", i.e. the layouts of the program's windows (mostly their positions and sizes). (This feature will be the main novelty of the upcoming MIDI Tools version 2.0.0.)

Mark van den Berg
Mark van den Berg's picture

New version: http://mountainutilities.eu/dl/MidiTls_1.8.1_a7.zip:

Only one change: the byte editing dialog box has been made smaller, so that it obscures less of the SysEx window.

Royce
Royce's picture

Hi Mark.

Download link reports an error.

Royce

Mark van den Berg
Mark van den Berg's picture

Hi Royce,

The link doesn't work because I removed the file at least a year ago: my "new" post offering the download was actually sent in 2015...

In recent days I've been setting up SSL (https) for my website.
Anyone not logged in can now use either http or https, but when someone tries to log in, the website automatically switches to https. (Actually this switch isn't active right now, but unless there are further snags I will activate it very soon.)

However, this setup has at least one drawback: when a user logged in via https clicks on an http link to another page at my website, it will appear as if (s)he has logged out.
To avoid this confusion, last night I've replaced all existing http links to mountainutilities.eu with variable links, which always use the protocol (http or https) that the user is currently using.

These replacements included a few dozen links in old posts of mine.
So that's why quite a few topics have moved to the top of the "most recent" forum lists. Unfortunately this is simply how my site's forum software works. (Curiously, the original post dates are still intact though, so this contradictory behavior by the forum software might be called a bug.)

Another issue:
After each edit of an old post I've tried to remember to uncheck the "Send subscriptions" checkbox (hidden in an inactive tab!). However, ultimately it was well past midnight, so apparently I forgot to do this in a few cases - my apologies to anyone re-receiving these old posts.

Mark