MIDI Monitor Tool
Posted: Sun Apr 28, 2013 2:52 am
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...
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.
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...
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.