Description of Midi Menu Items.

MIDI MENU
   LOAD   .MID - Loads Standard Midi File to the UNDO Buffer used by the
                 regular .SNG edit screen.  After loading the .MID file
                 a Dialoque Info box comes up informing you of the file
                 length and options for playing/saving/editting.

                 If you make ANY change to the current .SNG showing, you
                 will lose the .MID file loaded to the UNDO buffer!  The
                 Buffer is about 200K long and file size is checked before
                 loading.  That allows for a fairly long .MID file.

                 You may load and save .mid files directly from the player
                 without using LOAD .MID.  To go directly to the MidiPlayer
                 select the next menu item: PLAY .MID!  Use Lt/Rt mouse
                 buttons on the LOAD button in the Control Panel of the
                 Midi Player.  Left = Load  Right = Save

   PLAY   .MID - Displays the Midi File Player.  Two screens are available,
                 three, if you count the Karaoke mode.  While a midi file
                 is not playing, press HELP key to see on line help info
                 and 'Hot Keys'.  When HELP is not showing, and file is
                 not playing: <S> switches screen types <Space> starts or
                 stops a loaded file.  Use the Load button to get one first.
                 The left/right SHIFT keys control the tempo after playing
                 starts, add CTRL to shift by 10's.  During play, you can
                 ignore Tempos in the file by pressing <I>.  The "=" sign
                 next to the quarter note and Tempo number changes to a
                 ":" (colon).  Press again to stop ignoring tempos.

                 The <S>/<F> keys force min/max tempo (24 or 240).  The
                 <R> key 'returns' to the current tempo of the song playing.
                 If you use the <I> ignore tempos, don't forget to turn
                 it off again, or the next songs will all play off tempo!

   MEDLEY .MID - Similar to MEDLEY PLAY for regular .SNG files.  Plays a
                 list of songs in any order, chosen by user.  If MEDLEY
                 AUTO is showing in PLAY Menu, the list is repeated until
                 the  user presses the left Mouse Button to Quit Playing.
                 Otherwise if MEDLEY ONCE shows, list is played through
                 one time and then stops.
                 At any time during Medley play for .MID or .SNG files
                 the left Mouse Button Quits and the right Skips to the
                 next filename in the list. 

   RECORD .MID - Allows a STANDARD MIDI FILE to be recorded via the MIDI
                 IN jack.  This is a very simple recorder with FIXED tempo
                 and one track.  There is no metronome yet.  You MUST have
                 previously saved a .MID file of a .SNG file with nothing
                 more than a couple of notes of a voice set to the Midi
                 Channel you are recording on and the Preset number for
                 the Program Change (Voice) you want sent when the .MID
                 file is eventually played.  In other words, RECORD .MID
                 doesn't yet know how to create the proper header, and will
                 start recording at the point in the Buffer just after the
                 first Program Change.  Once you have this header, you may
                 use it over and over while recording/saving .MID files.
 
                 If you go back to working with regular .SNG files, you
                 will have to create a new header or load a .MID file that
                 you know has the header exactly in my format!  The Preset
                 Number in any file can now be changed while the file is
                 in the Midi Buffer (actually UNDO buffer!), using the
                 SONG HEX DUMP function from the HELPS Menu.  See that
                 functions description.  It is adviseable to unplug the
                 Midi In cable when you are not recording, although it
                 should not cause a problem (hopefully!).  While actually
                 RECORDING (follow the Dialogue Boxes), the remaining
                 free bytes of Buffer are shown and updated.  Recording
                 will automatically abort if no space remains.  Otherwise
                 when you are done recording, press the space bar once.

                 Then the top line of the open Dialogue Box changes to
                 'RECORD STOP!' and you may click OK.  You will be asked
                 if you wish to save the file, etc.  You may cancel and
                 not save until you have heard the file if you like.  If
                 you do that, and decide you do want to save the file, be
                 sure to use SAVE .MID before you do any editting of the
                 regular .SNG file on the main screen (which updates the
                 UNDO buffer!).  Finally, if any errors occur in the MIDI
                 data being recorded, recording will be aborted and error
                 numbers will be displayed in the Dialogue Box that are
                 only meaningful to the Programmer (me).  The ERRORS would
                 be: Out of Memory, Invalid status or data bytes, or an
                 'overun' error from the Midi Chip (data wasn't read before
                 new data arrived - byte lost).

                 Amazingly enough,  my recorder (as simplistic as it is)
                 will accurately record demo songs from keyboards or from
                 my Roland RA50 arranger.  These are multi-channel, multi-
                 part performances with data coming through about as fast
                 as it can go!  I cannot do the same with the 'professional'
                 programs from Dr. T (Tiger Cub) or SMPTE Track!  However,
                 you do need access to one of these kinds of true sequencers
                 to do any fancy editting, adding tracks or parts, etc.

   SAVE   .MID - If a MIDI FILE is already in the UNDO buffer from earlier
                 SAVE/LOAD or MEDLEY .MID functions, then SAVE .MID allows
                 saving the file as often as you wish to any drive, etc.

   LIST EVENTS - If a midi file is loaded, takes you into Medium resolution
                 and displays a midi event list with editting limited to
                 adding or deleting text in the first track.  If no file
                 is loaded, does nothing.  If during initialization, it
                 cannot find a track indicated in the file header, it will
                 abort with a message 'Can't find track n'.  You could
                 reload the file and edit the header bytes for fewer tracks
                 to see if you can 'salvage' the file.  Downloaded files
                 can often be incomplete, with the end of the files chopped
                 off!

                 There is HELP on the Event List screen itself with the HELP
                 key.  One new key not documented there is the <H> key. This
                 brings up a 'filter' for different types of 'meta events'.

   MIDI CONFIG - This takes you into Medium resolution to view and edit the
                 voice, drum, and controller banks that can be set up for
                 your equipment.  The data stored here allows the program
                 to display the correct voice names for your midi equipment.

                 The first screen that comes up is the Configuraton screen.
                 It has a help feature box at bottom right.  What you set
                 up on this screen is which instrument name is used on
                 each midi channel in your system, and where your drums are.
                 The ten configurations 'F1 to F10' are later selected in
                 the program with the function keys by the same name.

                 Note, I just recently added GM/GS voice variation names
                 that will now show up when the F1 configuration is chosen.
                 This means that the correct voice name will now show when
                 ever a midi file is played that uses the control zero
                 variation scheme.  The voice names are stored in the #4
                 instrument called SC55 Variations.  Do not change this if
                 you want the feature to work properly.  It was the easiest
                 way for me to do for now.  You should still have plenty of
                 instruments to write you own private name banks for.

                 When on the Midi Player screens the <D> toggles off/on
                 the root or variation names.  By default at boot time they
                 are on.  If you do change instrument 4 voice names, then
                 you will want to turn off the variation option.  Also the
                 variation option only works on midi files, not song files
                 (.sng).  In .sng files you have to manually put the ctrl0
                 value in, and make the program change follow it!  You can
                 also type in the correct name on the Midi Parameters Scrn.

   RECD SYSEXC - This is/was a placeholder for a function to record sysx.
                 Does nothing if selected.

   DUMP SYSEXC - Sends a file of RAW System Exclusive messages out the
                 Midi Port.  File must have the extension .MID so that it
                 can be loaded with LOAD .MID.  Speed of sending is fixed
                 and optimized for a Roland U-220 which overruns its
                 buffer quickly if data is sent too fast!  File must have
                 been previously created with a program like GenEdit. Has
                 only been tested with a GenEdit file. The message box
                 on the main edit screen shows the number of messages sent
                 so far.  The 'Q' key ABORTS early if you like.  If you do
                 this, it is likely your keyboard will have incomplete data.
 
   CONVERT REZ - When .mid files are first loaded, if they are not 240 ppq
                 (240 ticks per quarter note), they are left alone.  You
                 could go to LIST EVENTS and see the file before its 'rez'
                 (resolution) is changed by playing it.  Playing causes a
                 file to be converted (very accurately) to 240 ppq, and also
                 while converting, implements full 'midi running status'.
                 On the vast majority of files, this will make the file
                 smaller and take up less disk space, often saving 3 or 4k
                 or more (I've cut out 30k from a file without this!).

                 This function is in the menu for 'midi hackers' like myself.
                 With a midi file loaded, Song Hex Dump under Drum menu will
                 allow limited editting of hex bytes.  I have changed the
                 resolution number and then forced a 'convert rez' to make
                 songs play slower/faster, etc.  The function DOES NOT ALLOW
                 you to select different resolutions.  The Tempo database
                 for programming the timer chip only understands 240 ticks.

   EDIT  BANKS - Takes you to the .SNG 'Midi Parameters Screen'.  Same as
                 left click on the 'M' under play (speaker) on lower note
                 rest pallet.
--------------------------------------------------------------------------
End of Midi Menu Description

