MIDI Monitor Tool

Post any examples or modules that you want to share here
Post Reply
User avatar
trogluddite
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

MIDI Monitor Tool

Post by trogluddite »

Hi All,
Finally got this little baby sorted out that I started work on months ago - a FS/Ruby version of my old MIDI monitor with a few extra tricks up its sleeve...
MIDI Monitor RELEASE01.fsm
(9.18 KiB) Downloaded 1873 times

Here's a quick run-down of the tools...

1) Main monitor window.
Shows the incoming MIDI, with note names and a few other hints what the data is representing. A scrollbar appears at the side when there's a lot of data, so you can still see all of it. Click the clear button (X) to empty the display.
2) Event counter.
Up at the top left - shows how many events came in since the display was last cleared. You can also clear the count independently by clicking on it.
4) Note display.
Across the bottom of the display, you can see any currently playing notes - useful for checking that your NoteOn's and NoteOff's match up.
5) Hex window
Double click any entry in the main monitor window to open a display showing the raw hex. If the event you click is SysEx, you can scroll around the entire message and also see its ASCII representation. Just click on the hex window to close it.
6) Play selection
You can highlight a selection of events in the main window (uses the usual windows CTRL, SHIFT for making multiple selections). Then click the play button (triangle) to replay those events. If you right click the play button, the playback is looped - so you can continuously generate test data while your hands are busy editing. Stop playback by clicking the play button again.
7) Memories
When you have a selection of events hightlighted, CTRL click any of the 'M' buttons to store the selection - the button will light up to show it has stored something. Then you can l-click/r-click to play back the memorised events in the same way as the play button. Memories are remembered when you clear the main display.
8) GUI
Open the properties to edit all of the pretty colours. The displays will auto-scale if you re-size the module or text height - and the dividers can be grabbed and moved to re-size the main display columns. Note that the 'font' setting doesn't change the 'hex display' font - because it needs to be a mono-spaced font for the tabulation to work properly.
The "buffer size" setting sets how many MIDI events are remembered at one time, and "Max. Playback Interval" sets a maximum time between events when you press play, so that a widely spaced selection doesn't take forever to play back.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
billv
Posts: 1165
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia
Contact:

Re: MIDI Monitor Tool

Post by billv »

Thanks mate. :) Will check out later.
User avatar
MyCo
Posts: 718
Joined: Tue Jul 13, 2010 12:33 pm
Location: Germany
Contact:

Re: MIDI Monitor Tool

Post by MyCo »

Hi Trog,

thanks for the tool, comes in very handy.
I've copied it to my player, and noticed that "@log_procs" is nil, and therefor I get an exception. To fix this, just connect the "After Duplicate" primitive parallel to the "After Load" primitive.

I'll propably have the same problem in my player, but haven't tried to copy it... it might crash :twisted:
User avatar
trogluddite
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

Re: MIDI Monitor Tool

Post by trogluddite »

Ah, yes - cheers for the pointer, MyCo.
I'd forgotten to test with toobox drag or copy/paste - that will definitely be needed, as those proc's can't be serialised for saving in the schematic.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
Walter Sommerfeld
Posts: 250
Joined: Wed Jul 14, 2010 6:00 pm
Location: HH - Made in Germany
Contact:

Re: MIDI Monitor Tool

Post by Walter Sommerfeld »

YUP - very nice tool - indeed

many thanks 4 it Trog

(Damn - how could i overlook this...)
Post Reply