SC-88Pro LCD SysEx Generator by Robbi-985 aka SomethingUnreal (revision 4) __________________________________________________________________________ BASIC INFO - - - - - - This program generates System-Exclusive MIDI messages to control the LCD on the Roland SC-88Pro MIDI synth (it may work with other Roland Sound Canvas models, too). The SysEx message text can then be pasted onto any MIDI editor that lets you insert SysEx messages. This program replicates the SC-88Pro's own FrameDraw functions, allowing you to draw graphics on the 10 pages and store/display them on the Sound Canvas, as well as display text at the top of the LCD. __________________________________________________________________________ WHAT'S IN THIS FILE FROM HERE ON - - - - - - - - - - - - - - - - - - First Run - The Main Window - Graphics (FrameDraw) - LCD Text (Input) - Read From Clipboard __________________________________________________________________________ FIRST RUN - - - - - - This program requires the Microsoft Visual Basic Runtime to be installed. This is normal for any program created using VB. For your convenience, the VB Runtime installer is included with this program. Windows 7 and later operating systems come with this pre-intalled, so the program will be able to run without installing the VB Runtime. It is only necessary to use the VB Runtime installer if an error appears when you try to run the program. __________________________________________________________________________ THE MAIN WINDOW - - - - - - - - The program's main window is split into 3 sections: - Graphics (FrameDraw): This is where you can edit 10 pages of 16x16-pixel graphics in various ways. These graphics can be displayed on the Sound Canvas's LCD where the 16 volume bars are usually shown. - LCD Text (input): Here, you can enter text to appear at the top of the Sound Canvas's LCD, where the instrument name is usually shown. - Generated SysEx (output) This is where the SysEx message appears. You can tell the program to show the SysEx to either (A): store the graphic page you're currently editing; (B): display the stored graphic page; or (C): display the text that you have typed. (A) and (B) refer to the top section of the window, and (C) refers to the middle section. Whenever you change anything (e.g. draw a pixel), this SysEx message will immediately update. There is a checkbox to have the SysEx automatically be copied to the clipboard whenever it changes. As well as the above usage, where the program generates SysEx from graphics or text that you input, the opposite is also possible; SysEx can be converted back into graphics or text (see "READ FROM CLIPBOARD" section). Most controls have tooltips - simply hold the mouse over a control to see information about it. __________________________________________________________________________ GRAPHICS (FRAMEDRAW) - - - - - - - - - - - The top area of the main window replicates the SC-88Pro's FrameDraw function. The 88P stores 10 graphic "pages" internally. There are messages to store a graphic on a page, and messages to display the graphic that's currently stored on that page. The usual procedure is to store one or more graphic pages at the start of the MIDI file, before the music begins. This is because the SysEx messages to store graphics are so long that they can cause music playback to lag if not carefully positioned. Then, while the music plays, you can send the short SysEx messages to display the stored graphic page(s). Firstly, choose a page using the arrows at the top-right. Note that if you choose page 1, the Sound Canvas will automatically display the graphic as soon as you store it. This behaviour is for backwards compatibility, because older models did not have a 10-page memory; for these models, probably only page 1 will work (I have no old Sound Canvas to confirm this with, though). Draw on the display by moving the mouse over it and holding Shift (or left-click on individual pixels); erase parts by moving the mouse and holding Ctrl (or right-click on individual pixels). In the "Generated SysEx" section, "Store graphic page" should be pressed; click "Copy to clipboard". If you are going to make many changes, it may be convenient to tick "Automatically copy when SysEx changes". Now you can paste this "store" SysEx message into your MIDI editor. Next, click "Display graphic page" and copy this SysEx if you've not chosen to automatically copy. Now you can paste this "display" message into your MIDI editor, at multiple places if necessary. If you want to make an animation, it might be easier to start drawing the next frame from a copy of the current frame. You can click "Copy to page" to make a duplicate of the current page on another page. Remember to switch to the new page afterwards, before you start editing. If you want to force the Sound Canvas to stop displaying a frame and return to displaying volume bars, click "Display none" in the top-right, and the appropriate SysEx will be generated. The graphic pages will be saved to "memory.txt" (in the same folder as the program) when you exit, and will automatically be re-loaded when you next run it, in the same way that the SC-88Pro keeps graphic pages stored while powered off. __________________________________________________________________________ LCD TEXT (INPUT) - - - - - - - - - The middle area of the main window is a simple way to generate a SysEx message to display text at the top of the Sound Canvas's LCD, where the instrument name is usually shown. Simply type in the text box and observe the remaining character count. The Sound Canvas will automatically scroll the text if you enter more than 16 characters; otherwise, the text will be centre-aligned on the display. Scrolling is quite slow, and involves the instrument name being scrolled out to the left at the beginning, and in from the right at the end. Text can be up to 32 characters long. Only basic ASCII characters (a-z, A-Z, 0-9, and some other common characters) can be displayed on the Sound Canvas. In the "Generated SysEx" section, "Display text" should be pressed; click "Copy to clipboard", and then you can paste the SysEx message into your MIDI editor. If you need SysEx for a lot of pieces of text, tick "Automatically copy when SysEx changes". It is then very quick to type text in the middle section and immediately switch to your MIDI editor and paste the SysEx there. __________________________________________________________________________ READ FROM CLIPBOARD - - - - - - - - - - The program can work in the opposite way to usual - it can convert SysEx messages back into graphics or plain-text messages. To do this, copy one or more SysEx messages that control a Sound Canvas LCD to the clipboard, and then click "Read from clipboard". The messages will be decoded and the results will be displayed in a new window. NOTE: If a SysEx message is a command to store a graphic page, then whatever is currently stored in that page (in the program's memory) will be overwritten without warning! You can take advantage of the fact that this feature always verifies and recalculates the checksum byte at the end of a Roland (GS) SysEx message, even if the message has nothing to do with controlling the LCD. The checksum byte is the byte before F7 in a GS SysEx message. Its value depends on all the previous bytes. If you edit earlier bytes by hand, the checksum byte will need changing - if it's wrong, a Roland synth will reject the message and display "Check Sum Error". After clicking "Read from clipboard", "cleaned" versions of the SysEx messages, with a recalculated checksum, will be displayed at the bottom of the main window. You can then click "Copy to clipboard". If you tick the checkbox to automatically copy SysEx, you can use the "Read from clipboard" button as a one-click checksum byte fixer, and the cleaned message(s) will immediately be on your clipboard. Whether the checksum byte was changed or not will be mentioned in the "SysEx Decoding Results" window that appears after clicking "Read from clipboard". __________________________________________________________________________ For updates or to re-download, please check: http://somethingunreal.homeip.net/hosted_programs/update/88plcd