home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
HEALTH
/
MMCONV17.ZIP
/
MMCONV17.DOC
< prev
next >
Wrap
Text File
|
1994-03-19
|
29KB
|
673 lines
MMCONV
MMCONV is designed to be used by those of us who frequent recipe
conferences on BBSes and use MealMaster. Often people enter intriguing
recipes that are not in MM format. This program avoids some of the
drudgery of typing such recipes in by hand or manually reformatting them.
Also handy when you want to format several recipes. Just type them up
freehand and run them through MMCONV.
It can also be used by QuikBook users since QuikBook will import
MealMaster formatted recipes with no difficulty.
MMCONV is designed to convert free-form recipes or recipes formatted
for other recipe databases to MealMaster format with minimal manual
effort. The MM format is:
units measure ingredients
Col 1: 1-7 9-10 13-39
Col 2: 42-48 50-51 54-81
MMCONV knows the standard MealMaster measurement abbreviations and uses
them. I did not know small, large, and pinch had standard abbreviations,
but they do. Despite the temptation, I did not use CL (centiliter) to
represent clove(s). I have seen recipes using it this way.
MMCONV detects the start and end of recipes in four different ways:
Start of recipe:
--MM MMCONV
-Begin Recipe Export- QUIKBOOK
********** Compu-Chef
(next line must have ** in it)
*** FROM SCRATCH RECIPE BEGINS *****
End of recipe:
--- MMCONV
-End Recipe Export- QUIKBOOK
Recipe Via Compu-Chef
********** RECIPE ENDS ******** FROM SCRATCH
Beginning with version 1.5, there is a fundamental change in the way
MMCONV works. Those of you who used former versions can still use the
standard parameter inputs to run the program. Type MMCONV ? for
instructions in how to provide parameters for interactive usage.
However, you can also run it with full screen input. Just type MMCONV
with no parameters.
The following will display:
---------------------------------------------------------------------------
MMCONV - MM recipe formatter 1.7
Recipe file:
Output file: MM0908.1
Save extra lines: XTRA0908.1
Default category: Maindish
Left footer:
Right footer:
Title display: Y
Use generic head: N
Zap categories: Y
Registration Info: N
Press Escape When Ready to Run Program
---------------------------------------------------------------------------
Recipe file is the input file normally specified after MMCONV. This
can be a file of saved messages from a BBS. Any MM recipes will be
extracted with no additional editing. Other formats or freeform recipes
may require some manual editing.
Save extra lines represents the relatively new -S option. If the file
name is cleared (hitting HOME will do this or you can backspace it out),
extra lines will not be written to a file.
Default category is normally Maindish. You can modify this to whatever
you prefer. For example on a ZIP file of chicken recipes, Chicken would be
appropriate; if loading drink recipes, make it Drinks. If you want to be
sure to spot recipes with no category, make it WHOOPS or some similar
easily located word.
Left and Right footers allow you to override the use of From and Date.
This could be used to add commentary, such as zip name and author to a zip
file of recipes. Or the conference or network to a collection of recipes
off a BBS. You can run the original output file of recipes through a
second time to add additional comment lines.
If you run from the command line, the '-l' or '-L' and '-r' or '-R'
parameters are similar ways to label a zip file or add a comment on the
line after the author and date information if you run a prior MMCONV output
file through again. Up to 38 characters will be used for either. Some
flexibility is supported here. As long as the total characters for both is
under 76, the program will combine the input into a credit line. If the
length exceeds 76, the input will be adjusted to fit the 76 space limit and
a message showing the resulting credit line will be displayed.
To enter just type, for example:
MMCONV mmrecipe -lFrom the ZIP file: MM00.zip -rOff SEMPERVIRENS BBS
This will add the following CREDIT line at the bottom of recipes:
From the ZIP file: MM00.zip Off SEMPERVIRENS BBS
If you add quotes to the -r parameter, the extra spaces will be preserved
so this input:
MMCONVnn mmrecipe -lFrom the ZIP file: MM00.zip -r"Off SALATA BBS"
produces this CREDIT line:
From the ZIP file: MM00.zip Off SALATA BBS
Title display is whether MMCONV should show the Titles as it saves the
recipes. Sometimes error messages display and knowing the title the error
occurred near can be helpful in locating the problem.
Use generic header causes MMCONV to ignore SLMR or BlueWave format and
just look for FROM: and DATE:, like the -X option for command line entry.
Zap categories is an undocumented feature of 1.40. With a -z parameter
from the command line, you can cause 1.40 to not delete the odd categories
I selected to get rid of. The menu item gives you explicit on-screen
control of this feature.
Press Escape When Ready to Run Program is self-explanatory, I believe.
The ESC key (often in the upper left corner of a keyboard) causes MMCONV to
run. You can also carriage return off the Registration Info entry area.
Note that the MENU is 'circular' so you can use an UP-arrow to get to
the bottom of the MENU.
---------------------------------------------------------------------------
If a recipe does not have a QUIKBOOK, COMPU-CHEF, FromScratch or
MealMaster header and footer, it must be manually marked. Put --MM at the
top and at least 3 dashes (---) at the bottom. Both of these must be
aligned with the left margin.
DO NOT add a MealMaster format header to a non-MM recipe. Recipes
marked with genuine MealMaster headers (or close resemblances) are copied
as is. With version 1.30 some of the categories are changed even in MM
format recipes, but otherwise they are unedited and unmodified. Any of the
other headers could be used to mark a recipe, but the --MM and --- are
fewer characters.
MMCONV will handle a missing footer. It will be stopped by the next
header. However, this may cause the inclusion of extra stuff such as
taglines and message header information in some cases. In Meal-Master
format recipes, a flag message about "Unexpected End of Recipe" is placed
at the end of the recipe to alert you to check for a problem.
The MMCONV program will split lines that are too long for the basic MM
format. If these lines are in column 2, there will be a '-' inserted in
column 1 if it would otherwise be blank. This is required to force MM to
treat the 2nd column as a separate column. Without this, MM thinks it has
a single line of input which is too long.
Occasionally recipes have commentary between the title and the
ingredients. You must manually move these into the direction section of
the recipe or delete them for MMCONV to process the recipe correctly. Some
items are automatically detected and skipped. Lines with the following
characters (upper or lower case), for example:
FROM, COOKING TIME:, PREP:, COOK:, DESCRIPTION :, extra
CATEG or KEYWORD or TITLE entries after one has
occurred;
/* skip Compu-chef extra */
"FAT GRAMS"
"CHOLESTEROL"
"INGREDIENT"
/* skip newone extra */
"OVEN TEMP :"
"MINUTES :"
"ORIGIN :"
/* skip Peliggi extra */
"QTY MEASUREMENT INGREDIENT"
The following 'measures' are recognized as likely to have extra spaces
after them and an attempt is made to not have MMCONV mistake the extra
space for an additional column:
"WHOLE","STK","ENVELOPE","ENV",
"ENV","BUNCH","BUNCHES","SQUARES","SQ","SQUARE","JUMBO","XLG","X-LG",
"BOX", "BOXES", "INCH", "INCHES", "GLASS",
"GLASSES", "CLOVES", "CLOVE", "CLOV", "CLV", "HEADS",
"HEAD", "BAG", "BAGS", "STICK", "STICKS", "PIECES",
"PIECE", "STALK", "STALKS","STKS","STA","EAR",
"EARS","STRIPS","STRIP","RIBS","DASH"
Since MMCONV detects start of directions by a blank line, sometimes
you will have to remove additional blank lines occurring in the ingredient
sections of non-MM recipes. (Real MM recipes are copied as is and should
import with no trouble unless the author or his/her editor mangled them).
MMCONV will recognize categories headed with all the following in any
combination of upper or lower case and format them for MM:
Category:
Categories:
Keywords:
Cat:
Category :
Servings will default to 1. Serving information in the recipe will be
picked up if recognized. The program looks for these characters
(case-blind) to occur on first non-blank line after the title and expects a
colon or space to follow them:
SERV (serves or servings or serving detected)
MAKE (make or makes)
If these are found and the servings is 0, it will be set to one. If
non-numeric serving is found, default of one will be used. A message
showing the problem line will print out so you can fix the servings:
TOMATO-CILANTRO BREAD
Problem with servings:
Makes one 9x5 loaf
Starting with version 1.40, a change was made in the way ingredients
versus directions are detected. Ingredients begin after the title
category and serving processing is done and any intervening blank lines are
skipped. If your recipe actually has no ingredients, put in "none" for
ingredients followed by a blank line.
The first blank line marks start of directions. Everything after that
is taken as directions. All directions will be aligned with the left
margin.
Any combination of 3 or more --- or ___ with no other characters on the
line terminates recipes processing.
I like to know who originated the recipe. Typing this information on
each recipe by hand is tedious. This program will scan through a file and
add a credit line at the end of each recipe based on the From: and Date:
information in the header. If the recipes are read from QWK or BlueWave
messages, the From: and Date: info is placed at the end of the recipe:
From: Linda Fields Date: 09-21-92
If there are no message headers detected, the following was used instead:
Converted by MMCONV vers. n.nn
Version 1.6 dropped this plug for MMCONV. It doesn't make much sense to
store this in MM and it is a nuisance to edit it out.
MMCONV can also be used to label recipes in a ZIP file or otherwise
extracted MM format recipe file that does not have qwk headers. In this
case, the command line -l and -r parameters are used to specify what you
want stated at the bottom of the recipe. Every recipe in this case would
have the same comment on it. From the menu, you would enter a left and
right footer.
If there is a mixture of headed messages and recipes, the message
header information will affect more recipes than the one associated with
it. Basically, the credit information from it will carry on till the next
header is found.
My approach to using MMCONV is to mark the recipes and then format the
input file with MMCONV. I then examine the output recipes. Any recipes
that were not correctly processed, I tweak in the input file and then
reprocess the input file. (If there are only minor irregularities, I fix
the output file and proceed to import.) With the addition of the
XTRAmmdd.n files, you can also peruse these files to determine if something
was skipped or a recipe was chopped off.
If the error is something I think the program should have handled, a
new version is created or added to. If you find something you think
should be handled, please let me know. I may not agree, but I'm willing
to consider suggestions. That is how the -x option (save extra lines file
in the menu) and the new approach used in version 1.40 both came about.
This process repeats until the recipes look right to me. Or until a
few manual changes are all that is required. Typically, at most two passes
have been required. You may take several until you get a handle on what
the program expects.
Frank Skelly uses MARKIT in a slightly different approach to using
MMCONV. He has threatened to write better documentation and presumably
will include a description. For now this is a message he sent (slightly
edited):
---------------------------------------------------------------------------
Date: 08-26-93 (23:19) Number: 12001
From: Frank Skelly Refer#: NONE
To: LINDA FIELDS Recvd: NO
Subj: MM versions Conf: (57) Cuisine
---------------------------------------------------------------------------
LF>FS>Love MMCONV. Using it to *finally* get 6 Meg of Edna's Cookbook recipes
LF> >converted. *MUCH* easier than doing it by hand!
LF>I have been *trying* to get someone to respond to me on just how to use
LF>MMCONV, but alas and alack... no one did..
Use your word processor to remove the page breaks so that the *only*
locations that have two blank lines are between the recipes. Then run
MARKIT.EXE. This looks for two blank lines and adds '--MM' followed by
'--'. This is the minimum that MMCONV will recognise as a MM recipe.
Then run MMCONV like so:
MMCONV12 inputfile (outputfile) (xxxxx) is optional. The default
outputfile is 'system date' dot 1. followed by 2, 3, 4, etc.
THEN run the output through your word processor again to clean up what
got missed. Nothing's perfect! <G>
------------ end of Frank's message -------------------------------------
The following is a sample of what the program output looks like:
MMCONV recipe.txt
AL'S CHOCOLATE TO THE MAX
DATE BALLS
FLOURLESS CHOCOLATE CAKE
RASPBERRY SAUCE
RASPBERRY FOOL
RED LOBSTER GARLIC CHEESE ROLLS
M&M PIZZAS
CRUNCHY ALMOND STICKS
PINATA COOKIES
ST LOUIS' PEANUT BUTTER COOKIES
ST LOUIS' RUM BALLS
MM0312.5:
Processed: recipe.txt
Recipes saved: 11
Meal Master recipes: 2
QBOOK recipes: 3
Generic recipes: 6
Lines read: 331
Lines written: 242
The recipe titles display as they are extracted. This is followed by
the output file name and the number of recipes. The parenthetical count is
the number of these recipes that were found to already be in MM format.
The lines read and written print out at the end. These counts are also
written to the output file.
The more recent versions give a breakdown by type of recipe converted.
Generic is used to reference those you add --MM and --- as markers for.
The default output file name is MMmmdd.n (current month and day
followed by a file number). If you provide your own output file name, the
file numbering convention is used similarly to avoid overwriting existing
files. It is supposed to go up to 999 versions, so there should be little
problem with running out. I have had up to 30+ versions in testing my
programs.
An example of the output produced by MMCONV functionality when
encountering an MM recipe:
---------- Recipe via Meal-Master (tm) v7.04
Title: Mexican Fudge
Categories: Appetizers, Cheese/eggs
Servings: 1
1 lb Monterey Jack cheese with 1 cn Evaporated milk (13 oz.)
Jalapeno pepper 2 Eggs
1 lb Cheddar cheese 3 tb Flour
Grate cheese and lay in greased 9" x 13" pan. Beat milk, eggs, and
flour together, pour over cheeses. Bake 40 minutes at 350 degrees F. Cut
into squares or diamonds, serve hot or cold.
From: Karen Mintzias Date: 03-02-93
-----
I find manually entering recipes a nuisance. I also found trying to
squeeze odd recipes into MM format very time consuming. This program took
a while to write. But I expect to get some value from the time it saves
me.
I expect you will find that it saves you time as well. If it does, I
would like payment for the program. I cannot imagine that it does not save
you $5 worth of time if used a few times.
If you want to register and be notified of upgrades, send your name
and address and the BBS name and phone number where you got the program
with $5 to:
Rodney Grantham
770 Cranberry Tr.
Roswell, GA 30076
Please include the version number which displays when MMCONV is run.
If there is a newer version, you will be notified. If you include $3 S&H,
the latest version will be sent to you. My profit margin is minimal so I
cannot automatically ship upgrades to everyone (currently 21 people 3/94)
who registers. Maybe after I win the lottery.
If you have suggestions send them to the same address. I can also be
contacted via RIME or I-LINK CUISINE conferences. I recently added the
FIDO recipe conference to my reading.
MARKIT, MSGSPLIT and MMSORT are freeware. If you really find them
useful, you might consider contributing for them as well, but it is not
required.
MARKIT formats recipes for processing by MMCONV. With version 1.02 it
also will format for QBOOK with a -Q option on the input line.
MSGSPLIT divides up large files of messages (or other ASCII text) into
smaller files for convenient processing by editors.
MMSORT can divide up a file of MM recipes based on the category
information in MMSORT.PRM. For those with several databases of recipes
this can ease recipe entry. MMSORT.PRM and MMSORT2.PRM are example
parameter files that I use.
ver 1.1 - add TEAS to abbreviate
- add OUNCES to abbreviate
- translate ½ and ¼ (Stan Hall) to 1/2 and 1/4
- activate -L & -R options to supply own footer
- -T option suppresses display of Titles
(opposite of MMCRDTnn functioning)
- -C option to change ingredient line number of chars.
- add SERVING detection
- caseblind CompuChef & QUIKBOOK header/footer detect
- CompuChef checks for "**********" & next line "**"
- handle continuation in non-MM recipes
- title: cap first char of words - lower the rest
- no MM count display if it is zero
- skip FAT GRAMS, CHOLESTEROL & INGREDIENT lines from
COMPU-CHEF
ver 1.2
- add TBSPS, TBLSP, TBL, #, SML, TEA, TBLS,
QTS, TSPN, TSPNS, TBLSPNS, TBLSPN to abbreviate
- add gallon which overlooked before
- add standard metrics for MM: kg, g, l, etc.
- modify SERV checking so won't pick up preserves
- handle multiple fractions, e.g., 1/4-1/2 c water
- extra recipe format:
*** FROM SCRATCH RECIPE BEGINS *****
********** RECIPE ENDS ********
- save 'FromScratch' servings & place correctly
- skip lines with just '.' on them
- mixed case credit line set from header info
- print counts of recipes & lines at end of output file
as well as on the screen (MM will ignore this)
ver 1.3
- fix dash handling, e.g., 4-6 pounds not split right
- fix 2 6-1/4 oz cans handling
- mix case categories
- make sure space after servings in all cases
- skip extra blank or '.' lines in directions- always
keep at least one of the spaces between sections
- in real MM recipe, don't stop on stars as CCHEF marker
- make sure --MM marker aligns with margin: H Peagram
MM header includes a --MM sequence
- handle Title:Spinach Tofu Lasagne - provide space
- added PINT to PT, DASH to DS, fluid oz to FL & several
additional variant spellings on existing
- fix From Scratch to actually work with real recipe;
used bad example to develop handling
- take out leading blanks in DIRECTIONS: consistency &
avoids being interpreted as ingredient.
- set own default category - handy on ZIP files -D or -d
- look for YIELD for servings
- option to save what not seen as recipe -S or -s
- fix to skip DIRECTIONS ----- and INGREDIENTS --- lines
regardless of length
- also INSTRUCTIONS & PROCEDURE lines
- generic header: look for NAME: & DATE: -x -X
- pick up KEY WORDS as category: (Alvin Broughton)
- must have at least one direction line, otherwise ---
treated as normal rather than end of recipe
- end marker of at least 3 hyphens need not be aligned
with margin - but only hyphens and blanks allowed on
the line
- zap categories:
",MINE",
" BEST",
",BEST",
",MOM'S",
" MOM'S",
",ECHO",
" ECHO",
"CYBEREALM",
"MY FAVORITE",
"FAVORITE",
",MY",
" MY",
"*,"
ver 1.4
This version owes a debt to Fran McGee on FIDO. She made a comment
about the amount of work that got me thinking. I think you will find
MMCONV version 14 to be much more user friendly than preceding versions as
a result.
- Eliminate character count as guide to ingredient line;
instead use first blank line as demarcation.
- Skip Pileggi headings:
Qty Measurement Ingredient
___---- --------
- Recognize Pileggi ____ as end of recipe
- combine clove or cloves with following word correctly
A point by point discussion of these items:
- Eliminate character count as guide to ingredient line;
instead use first blank line as demarcation.
You no longer have to divide up long ingredient lines. MMCONV will
format them for you. If there are blank lines within ingredients, they
should be removed. If there is no blank between ingredients and
directions, add one.
You must have some sort of ingredients. If there are none in the
recipe, just stick in none with a blank line following before the
directions and you're set.
- Skip Pileggi headings:
Qty Measurement Ingredient
___---- --------
Pileggi puts a lot of recipes out with these two odd headings. MMCONV
will now skip them and process ingredients.
- Recognize Pileggi ____ as end of recipe
Pileggi uses ___ rather than --- at end of his recipes. Difficult to
spot as not a match. So changed MMCONV to respond to it.
- combine clove or cloves with following word correctly
I got tired of clove(s) followed by several spaces splitting the
line. Or having to take out the spaces. I don't want to use CL for
cloves since MM regards as centiliters. So I added processing to close up
the spacing for cloves. That is:
3 cloves garlic processes to 3 cloves garlic appropriately
spaced. Formerly thought garlic was a second column!
ver 1.5
- CLRSCR at start of processing
- print counts of various types of recipes (generic
are the --MM marked ones)
- look for MAKE before SERV to handle "makes 8 servings"
- put serving problem on one line rather than 2
- provide a full screen input format
- continue support of shorthand version as well
- add file display if * in filename entered
- handle head(s),stalk(s),pieces(s),bag(s),ear(s),
glass(es), inch(es), box(es), of, env, bunch(es),
like cloves in 1.40
- if hit and skip "DIRECTION" line, switch from ingredient
processing
- skip duplicate KEYWORD or CATEGOR (VILLARREAL)
- zap category OSG1966 & some others
- CTN for carton, LAR for large and various others added
- fix so recognizes SERV or MAKE or YIELD with '(' before
it
- print name of file processed in the output file & on
screen
ver 1.6
- eliminate default footer of Converted by MMCONV, etc.
leave blank if not provided or available from msg
- change to MMMMM as bottom marker
- skip TITLE: if appears after in recipe (some QBOOK have)
- re-enable ? from startup & show how to run
- put registration info as option (thanks, Sylvia) as
people indicate can't find in docs
- add space before numeric for Sylvia Steiger & GENIE
- zap categories not set- fixed to be set and display
- modified message at bottom about starting program
Categories that ZAP CATEGORIES removes:
"RGG3","OURS","MINE","TRY IT",
"UUCP","RACENET","ROBERTS","GENIE","PRODIGY","HOT DOG","PERSONAL",
"FCB", ",MINE", " BEST", ",BEST", ",MOM'S", " MOM'S", ",ECHO", " ECHO",
"CYBEREALM", "MY FAVORITE", "FAVORITE", "OSG1966", ",MY", " MY", "*,"
'Non-measure' measures that MMCONV closes the space after rather
than treating following ingredient as a second column:
"WHOLE","STK","ENVELOPE","ENV",
"ENV","BUNCH","BUNCHES","SQUARES","SQ","SQUARE","JUMBO","XLG","X-LG",
"BOX", "BOXES", "INCH", "INCHES", "GLASS",
"GLASSES", "CLOVES", "CLOVE", "CLOV", "CLV", "HEADS",
"HEAD", "BAG", "BAGS", "STICK", "STICKS", "PIECES",
"PIECE", "STALK", "STALKS","STKS","STA","EAR",
"EARS","STRIPS","STRIP","RIBS","DASH"
ver 1.7 - make version a global variable for my sanity
- 12/4 noticed menu has one extra line after sent 1.6 out
- start ingredient list in col 12 - Randy Shearer
- split line at 39 rather than 38 - Randy Shearer
- handle numeric differently so 9" pie crust handled
- messing up 'of' handling- modified to remove 'of' as
first word of ingredient line - Randy Shearer
- store BlueWave date correctly- Dale Shipp
- store the parameters entered for next run- clear
registration. Store default cat; titles; generic; & zap
- fix so setting 'generic head' correctly when run from
menu
- add 'CU' for cup - Sylvia Steiger
- skip FROM:, COOKING TIME:, PREP:, COOK:, DESCRIPTION :
MARINATE:
before ingredients (asst'd; Mike Bowers)
- handle RECIPE NAME : in title (Mike Bowers)
- swap servings & categories for Recipe Box (Bowers)
- recognize CATEGORY : (Bowers)
- accept H for quantity for HEADER
To do (future stuff):
- adjustable default serving
- conference or area option
- 1-3 (ranges) handled better ???
- generic not work on BWAVE??
- fix MM indentation in directions - Larry Christley
- allow for big comment like Sylvia and Dale use (read
in from designated file?)
- fix MM missing YIELD quantity, formatting?