home *** CD-ROM | disk | FTP | other *** search
/ Sound Sensations! / sound_sensations.iso / midifile / edit201 / edit.doc next >
Text File  |  1991-01-07  |  9KB  |  189 lines

  1. ================
  2.  
  3. Edit 2.00 Documentation                                          01/04/90
  4.  
  5. (see the end of the document for 2.0 stuff)
  6.  
  7. ================
  8.  
  9.  
  10. ================
  11.  
  12. Edit 1.10 Documentation                                          12/04/90
  13.  
  14. (see the end of the document for 1.1 stuff)
  15.  
  16. ================
  17.  
  18.  
  19.  
  20. EDIT.DOC                                                         11/04/90
  21.  
  22.       Help documentation for EDIT.EXE generic file editor program.
  23.  
  24. Edit version 1.0 is the first pass at a truly generic file editor, which
  25. just happens to be usable as a patch editor.  While I know the term "generic"
  26. is a bit overused these days, I hope that Edit lives up to its name.  Edit
  27. uses a completely text-based template to display a record on the screen,
  28. allow user editing, then write the record back out.  It has built-in functions
  29. to convert various formats of MIDI alphameric and numeric data, as well as a
  30. fairly generic checksum calculator.
  31.  
  32. Future features will allow field validations and multi-record files (or, for
  33. us MIDIots, patch libraries!).
  34. ------------------------------
  35.  
  36. Edit should eventually allow the display of any number of file formats, but
  37. the only template currently available is one for the Proteus.
  38.  
  39. To use the program, simply type EDIT and return.  The program will prompt
  40. for a template name.  Type in "proteus.tem" and press return.  The program
  41. will then prompt for a patch name.  Type in "pro64.syx" and press return.
  42. The screen will then come up showing you the patch "FMstylePiano" in all
  43. its glory.  (Note that the prompt says [.SYX] as though that was the default;
  44. well, it IS the default, but the program doesn't implement it yet... sorry
  45. 'bout that... next version.)  You can bounce around the screen with TAB and
  46. BACKTAB or the left and right arrow keys (no, Gracie, it don't know about
  47. up and down arrows yet... next version).  The current field will be reverse
  48. video (with square brackets around it for good measure), and the help text
  49. for that field will be displayed at the bottom of the screen.  If you press
  50. a valid data key (0-9 for numeric fields, blank-$7F for alpha fields), the
  51. program will accept keyboard data until either you press return or the field
  52. length is reached.  Note that negative numbers are entered by typing a minus
  53. sign as the first character.  ESCAPE while in data entry will restore the old
  54. value, and RETURN will accept the current entry.  Um... no editing keys are
  55. available for the fields as yet, either (right... next version).
  56.  
  57. Anyway, once you finish entering all the data you want, you can press F3 and
  58. exit without updating a damned thing.  It's great fun at parties.  Or, if you
  59. have more guts than brains, try SHIFT-F10, which will write the new data out
  60. to the file you originally specified (yeah, I suggest you use a WORK COPY of
  61. the file <grin>).
  62.  
  63. Use MIDIEX or some other tool to send the data to your Proteus, and have at
  64. it!  (Note: for some odd reason, I can't get RMIDIEX (the TSR version) and
  65. Edit to work together.  This may be because Edit is using a direct BIOS call
  66. to get data from the keyboard.  I'll work on it...).
  67.  
  68. Anyway, have fun, all.
  69.                                                    Joe Pluta
  70.                                                    Daytime: (312) 641-2900
  71.                                                    Nightime:      555-1212
  72.  
  73. =====================
  74.  
  75. Version 1.1
  76.  
  77. Version 1.1 implemented ALMOST all of the things I said it was going to...
  78. UP and DOWN arrows work, the default extensions work, and there's some pretty
  79. heavy field validation goin' on.  Check out the PROTEUS.TEM template for more
  80. detailed information, but for this document, suffice it to say that I've added
  81. range checking and... <DRUM ROLL>... automatic popup window selection support!
  82.  
  83. The two new phrases @RANGE and @VALID allow you to specify high and low values
  84. and lists of valid values, respectively.  The PROTEUS template has LOTS and
  85. LOTS of @VALID clauses, so use it as a guide.  Also, you can specify the high
  86. and low values right on the field definition line; this is so you don't have
  87. to key in @RANGE clauses for every field (the templates are getting big enough
  88. as it is <grin>).
  89.  
  90. Other goodies: EDIT is in color!  Right now, there's an @VIDEO statement in the
  91. first line of the .SCREEN definition that is commented out; uncomment it if
  92. you're using a monochrome monitor.  Next version will allow user-customizable
  93. colors.  And there's a command key line at the bottom of the screen to tell you
  94. what to do in Edit Mode.
  95.  
  96. And... best of all... Alt-F10!  Alt-F10 will dump your patch directly to your
  97. MIDI card.  Currently EDIT only knows about MPU-401 (Music Quest) type cards,
  98. and it assumes IRQ 0x0330, but I'll eventually clean that stuff up.  Look for
  99. basic record and playback features, user-selectable IRQ and so on in future
  100. releases.
  101.  
  102. =====================
  103.  
  104. Version 2.0
  105.  
  106. This WAS going to be version 1.2, but I got a little carried away.  I think
  107. I've added enough function that the thing needs to be a complete new version.
  108. Actually, I've done more than just add function; I completely revamped the
  109. user interface.  The program automatically comes up in "edit" mode; you then
  110. load templates and open patches as you see fit.
  111.  
  112. Okay... major changes were made both in form and function...
  113.  
  114. Form:
  115. -----
  116. The program, as I said earlier, automatically brings up the full-screen edit
  117. window first thing.  There's an abbreviated command key list on the bottom of
  118. the screen, and F1 (help) brings up a screen showing all the shortcut keys
  119. (each function can be accessed either by an F-key or by an Alt-key).  Those of
  120. you who are taking notes might ask, "What do you mean, 'shortcut'?"  That's
  121. very astute of you <grin>.  The magic ESCAPE key now brings up a "pull-down",
  122. "tear-off" menu, JUST LIKE REAL SOFTWARE.  My brother kinda convinced me that
  123. that was a necessity (and it only took two whacks with a Nerf bat).  All sorts
  124. of pop-up windows for prompting and status and such have been added.  Um...
  125. lessee here... oh yeah!  Mouse support!  Those of you who have a mouse, you
  126. can use it to do a few things (like click on a field, instead of cursoring to
  127. it).  The mouse also works to select menu options, although only in point and
  128. click mode, not in "drag the cursor around and watch the menu pulldowns change
  129. colors" mode.  The right button brings up the menus, the left button allows
  130. selection.  For color, check out the PROCOLOR.TEM template; it's a version of
  131. the PROTEUS.TEM template with @COLORxxx statements added to change the colors
  132. of the screen.  Basically, you enter the attribute number of the desired color
  133. (background color * 16 + foreground color).  The "xxx" allows you to customize
  134. various colors:
  135.  
  136.         LIT = Literals
  137.         OUT = Output fields
  138.         GET = Input fields (non-selected)
  139.         ACT = The current active (selected) input field
  140.         MES = Message line
  141.         KEY = Command keys
  142.         CUR = The square bracket cursor ([])
  143.  
  144. Function:
  145. ---------
  146. Good stuff here.  You can load a template (change and store ain't done yet).
  147. For patches, you can open, save and save as.  You can also transmit AND receive
  148. patches from the MIDI port.  Finally, there is a limited record and playback
  149. buffer implemented.  Enough to jam a few bars, then play it over and over while
  150. changing your patch.  Note the pulldown for Library functions.  Okay, now
  151. forget it <grin>.  It's gonna be a little while before I get the librarian
  152. done; I'm debating strategies right now.
  153.  
  154. Template Internals:
  155. -------------------
  156. Some heavy work here, as well.  The buffer layout was changed for a couple of
  157. reasons: the first was to support "modifiers", the other is to eventually
  158. support imports and a lint-type preprocessor (the first step towards a true
  159. template-building environment).
  160.  
  161. Modifiers allow the values on the screen to not have to match the values in
  162. the buffer exactly (that is, numbers can be added to or subtracted from the
  163. screen value before stuffing it into the buffer).  The MT-32 template uses
  164. that all over the place.  There are actually six operators: add, subtract,
  165. multiply, divide, shift left and shift right.  At this point, you enter the
  166. numbers 1 through 6 for the respective operations above; eventually you'll be
  167. able to actually enter a "+" or "<<".  The MT-32 template uses the shift
  168. operator extensively in order to set up the address field.  Neat stuff.
  169.  
  170. Also, I separated field type and field length.  Originally, hex type fields
  171. had the length imbedded in the field type, while alpha fields had no length
  172. field at all.  That has changed.  There are now the following field types:
  173.  
  174.         A1 = Normal alpha field
  175.         A2 = Weird Proteus-type alpha field
  176.         HX = Hex value (MSB first)
  177.         HR = Reverse hex value (LSB first)
  178.         CO = Constant
  179.         CS = Checksum
  180.  
  181. See PROTEUS.TEM and MT32*.TEM for examples.
  182.  
  183. Not there yet:
  184. --------------
  185. Edit keys aren't enabled during field entry.  Don't you HATE when that happens?
  186. I dunno, I just never get a chance to do them.  I really WANT to, but you know,
  187. with ballet lessons, training for the 1992 Olympics and getting ready to pilot
  188. the next shuttle mission, they just never seem to get done.
  189.