home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sound Sensations!
/
sound_sensations.iso
/
midifile
/
edit201
/
edit.doc
next >
Wrap
Text File
|
1991-01-07
|
9KB
|
189 lines
================
Edit 2.00 Documentation 01/04/90
(see the end of the document for 2.0 stuff)
================
================
Edit 1.10 Documentation 12/04/90
(see the end of the document for 1.1 stuff)
================
EDIT.DOC 11/04/90
Help documentation for EDIT.EXE generic file editor program.
Edit version 1.0 is the first pass at a truly generic file editor, which
just happens to be usable as a patch editor. While I know the term "generic"
is a bit overused these days, I hope that Edit lives up to its name. Edit
uses a completely text-based template to display a record on the screen,
allow user editing, then write the record back out. It has built-in functions
to convert various formats of MIDI alphameric and numeric data, as well as a
fairly generic checksum calculator.
Future features will allow field validations and multi-record files (or, for
us MIDIots, patch libraries!).
------------------------------
Edit should eventually allow the display of any number of file formats, but
the only template currently available is one for the Proteus.
To use the program, simply type EDIT and return. The program will prompt
for a template name. Type in "proteus.tem" and press return. The program
will then prompt for a patch name. Type in "pro64.syx" and press return.
The screen will then come up showing you the patch "FMstylePiano" in all
its glory. (Note that the prompt says [.SYX] as though that was the default;
well, it IS the default, but the program doesn't implement it yet... sorry
'bout that... next version.) You can bounce around the screen with TAB and
BACKTAB or the left and right arrow keys (no, Gracie, it don't know about
up and down arrows yet... next version). The current field will be reverse
video (with square brackets around it for good measure), and the help text
for that field will be displayed at the bottom of the screen. If you press
a valid data key (0-9 for numeric fields, blank-$7F for alpha fields), the
program will accept keyboard data until either you press return or the field
length is reached. Note that negative numbers are entered by typing a minus
sign as the first character. ESCAPE while in data entry will restore the old
value, and RETURN will accept the current entry. Um... no editing keys are
available for the fields as yet, either (right... next version).
Anyway, once you finish entering all the data you want, you can press F3 and
exit without updating a damned thing. It's great fun at parties. Or, if you
have more guts than brains, try SHIFT-F10, which will write the new data out
to the file you originally specified (yeah, I suggest you use a WORK COPY of
the file <grin>).
Use MIDIEX or some other tool to send the data to your Proteus, and have at
it! (Note: for some odd reason, I can't get RMIDIEX (the TSR version) and
Edit to work together. This may be because Edit is using a direct BIOS call
to get data from the keyboard. I'll work on it...).
Anyway, have fun, all.
Joe Pluta
Daytime: (312) 641-2900
Nightime: 555-1212
=====================
Version 1.1
Version 1.1 implemented ALMOST all of the things I said it was going to...
UP and DOWN arrows work, the default extensions work, and there's some pretty
heavy field validation goin' on. Check out the PROTEUS.TEM template for more
detailed information, but for this document, suffice it to say that I've added
range checking and... <DRUM ROLL>... automatic popup window selection support!
The two new phrases @RANGE and @VALID allow you to specify high and low values
and lists of valid values, respectively. The PROTEUS template has LOTS and
LOTS of @VALID clauses, so use it as a guide. Also, you can specify the high
and low values right on the field definition line; this is so you don't have
to key in @RANGE clauses for every field (the templates are getting big enough
as it is <grin>).
Other goodies: EDIT is in color! Right now, there's an @VIDEO statement in the
first line of the .SCREEN definition that is commented out; uncomment it if
you're using a monochrome monitor. Next version will allow user-customizable
colors. And there's a command key line at the bottom of the screen to tell you
what to do in Edit Mode.
And... best of all... Alt-F10! Alt-F10 will dump your patch directly to your
MIDI card. Currently EDIT only knows about MPU-401 (Music Quest) type cards,
and it assumes IRQ 0x0330, but I'll eventually clean that stuff up. Look for
basic record and playback features, user-selectable IRQ and so on in future
releases.
=====================
Version 2.0
This WAS going to be version 1.2, but I got a little carried away. I think
I've added enough function that the thing needs to be a complete new version.
Actually, I've done more than just add function; I completely revamped the
user interface. The program automatically comes up in "edit" mode; you then
load templates and open patches as you see fit.
Okay... major changes were made both in form and function...
Form:
-----
The program, as I said earlier, automatically brings up the full-screen edit
window first thing. There's an abbreviated command key list on the bottom of
the screen, and F1 (help) brings up a screen showing all the shortcut keys
(each function can be accessed either by an F-key or by an Alt-key). Those of
you who are taking notes might ask, "What do you mean, 'shortcut'?" That's
very astute of you <grin>. The magic ESCAPE key now brings up a "pull-down",
"tear-off" menu, JUST LIKE REAL SOFTWARE. My brother kinda convinced me that
that was a necessity (and it only took two whacks with a Nerf bat). All sorts
of pop-up windows for prompting and status and such have been added. Um...
lessee here... oh yeah! Mouse support! Those of you who have a mouse, you
can use it to do a few things (like click on a field, instead of cursoring to
it). The mouse also works to select menu options, although only in point and
click mode, not in "drag the cursor around and watch the menu pulldowns change
colors" mode. The right button brings up the menus, the left button allows
selection. For color, check out the PROCOLOR.TEM template; it's a version of
the PROTEUS.TEM template with @COLORxxx statements added to change the colors
of the screen. Basically, you enter the attribute number of the desired color
(background color * 16 + foreground color). The "xxx" allows you to customize
various colors:
LIT = Literals
OUT = Output fields
GET = Input fields (non-selected)
ACT = The current active (selected) input field
MES = Message line
KEY = Command keys
CUR = The square bracket cursor ([])
Function:
---------
Good stuff here. You can load a template (change and store ain't done yet).
For patches, you can open, save and save as. You can also transmit AND receive
patches from the MIDI port. Finally, there is a limited record and playback
buffer implemented. Enough to jam a few bars, then play it over and over while
changing your patch. Note the pulldown for Library functions. Okay, now
forget it <grin>. It's gonna be a little while before I get the librarian
done; I'm debating strategies right now.
Template Internals:
-------------------
Some heavy work here, as well. The buffer layout was changed for a couple of
reasons: the first was to support "modifiers", the other is to eventually
support imports and a lint-type preprocessor (the first step towards a true
template-building environment).
Modifiers allow the values on the screen to not have to match the values in
the buffer exactly (that is, numbers can be added to or subtracted from the
screen value before stuffing it into the buffer). The MT-32 template uses
that all over the place. There are actually six operators: add, subtract,
multiply, divide, shift left and shift right. At this point, you enter the
numbers 1 through 6 for the respective operations above; eventually you'll be
able to actually enter a "+" or "<<". The MT-32 template uses the shift
operator extensively in order to set up the address field. Neat stuff.
Also, I separated field type and field length. Originally, hex type fields
had the length imbedded in the field type, while alpha fields had no length
field at all. That has changed. There are now the following field types:
A1 = Normal alpha field
A2 = Weird Proteus-type alpha field
HX = Hex value (MSB first)
HR = Reverse hex value (LSB first)
CO = Constant
CS = Checksum
See PROTEUS.TEM and MT32*.TEM for examples.
Not there yet:
--------------
Edit keys aren't enabled during field entry. Don't you HATE when that happens?
I dunno, I just never get a chance to do them. I really WANT to, but you know,
with ballet lessons, training for the 1992 Olympics and getting ready to pilot
the next shuttle mission, they just never seem to get done.