Instructions for running autoset.z ------------------------------------------ autoset.z is the basic music typesetting program for Dmuse. Its input is a stage2 file; its output is a non-page specific i-file. If one were to draw an analogy with Leland's SCORE program, the Musedata stage2 files are like elaborate .MUS files in SCORE, and page specific i-files are like .PMX files in SCORE. A major difference between Dmuse and SCORE is that the music input process for SCORE proceeds one page at a time, whereas a Musedata stage2 file contains an entire movement. This is why the Dmuse typesetting process must pass through the additional step of converting non-page specific i-files to page specific i-files, a process accomplished by the program mskpage.z To run autoset.z, the current working directory for your window should be the directory for the musical work you are typesetting. This directory should contain the stage2 directory with all of the stage2 files. Inside the stage2 directory, our system expects to find a set of sub-directories representing movements. Even when there is only one movement, it is recommended that there be a sub-directory for it. Inside each movement sub-directory are the individual stage2 files. Each stage2 file has membership in one or more groups. (See the s2-specs.ten file in j:/release/progs for further documentation on the format of stage2 files). The current working directory should also contain a directory call outputs. The output of autoset.z will be directed to a sub-directory inside outputs. When autoset.z first starts up, it asks six questions: (1) Note size. This determines the size of the typesetting. At the moment, there are 5 sizes available. size-6 for display purposes only -- too small to print size-14 for scores with more than 16 lines, also for proofreading size-16 for scores with 12 to 16 lines. size-18 for scores with fewer than 12 lines (consistantly), also for music on the grand staff (piano, organ) size-21 for instrumental parts, also large size piano music Notesize 14 is the default. (2) Compression factor. This number serves as a multiplier to all horizontal spaces computed by autoset.z. The unit multiplier is 100. The compression factor is used to try out various spacings to see which one works the best. Once a number has been chosen, this number should be incorporated directly into the stage2 files via a print suggestion. (3) Source library. This should be the sub-directory containing the movment you are trying to typeset. Example: stage2/04 -- fourth movement of the work you are typesetting. (4) Group name. Each stage2 file belongs to one or more groups. Current groups recognized by autoset.z are as follows: sound -> for compiling midi files (not useful for autoset) score -> mostly for compiling scores for proofreading skore -> for compiling scores for printing short -> for compiling short scores (e.g., piano/vocal) parts -> for compiling parts data -> generic data (5) Output library. We never use anything but the default now. But what is the default? Answer, it depends on the note size and on the group name (i.e., the application). Here are some examples: Notesize Group Default outout path -------- ----- ------------------- 14 score outputs/score/i-files/<movement>/ 16 skore outputs/skore16/i-files/<movement>/ 18 short outputs/short18/i-files/<movement>/ 21 parts outputs/parts21/i-files/<movement>/ 6 score outputs/score06/i-files/<movement>/ Since notesize 14 is the default, the sub-directory name under outputs for this case does not contain the number; otherwise the notesize is appended to the group name to form the sub-directory name. The <movement> name is the same as the sub-directory under the stage2 directory (see example above). Important: You (the user) must allocate the proper sub-directory under outputs for the application you are typesetting. This sub-directory should itself have three sub-directories: i-files, pages, and formats. I believe that autoset will take care of allocating the movement names under i-files, but you must allocate those same names inside the pages sub-directory. The output from autoset.z goes to i-files, but you will need formats and pages to run mskpage.z properly. Examples: part # in Notesize Group Mvt in group Output -------- ----- --- ----------- ---------- (default) score 01 3 outputs/score/i-files/01/03 14 score 1-03 4 outputs/score/i-files/1-03/04 16 skore 02 16 outputs/skore16/i-files/02/16 18 score mvt2 3 outputs/score18/i-files/mvt2/03 21 pages 01 9 outputs/parts21/i-files/01/09 6 score 4 6 outputs/score06/i-files/4/06 Notice that the actual file name in the outputs is determined by the part number of group being processed, not by the file name in the stage2 directory. File names for stage2 files are not standardized -- but are descriptive to some degree. I use the following comvention: data,sound -- use simple number, e.g., 01, 02, 03 score -- use "s" followed by number, e.g., s01, s02 parts -- use "p" followed by number, e.g., p01, p02 skore -- use "k" followed by number, e.g., k01, k02 When a file belongs to both the score and skore groups, e.g., parts such as Violin I that do not share staff lines with other parts, I use the "s" convention. (6) Parts to be processed (from the group). For typesetting scores, this would usually be all members of the group. For typesetting parts, this would be the single part number. There are two special cases of print suggestion that impact how autoset.z actually runs. These suggestions are in the stage2 files themselves. Special case 1: If column 2 contains a "v", the next four columns will contain the version number of autoset for which the print suggestions are valid and have been checked. If the version of autoset running is different from the version number in the stage2 file, (and the version of autoset is 4.00 or higher), a warning message will be displayed. When this happens, it is a good idea to check the output of each print suggestion to make sure that the outcome is the desired one. It is expected that changes and improvements will be made to autoset from time to time. Special case 2: If column 2 contains an "x", the next three columns may contain certain flags that modify the operational behavior of the autoset.z program. If the letter "m" is present, then autoset will report the measures it has completed. This is useful when trying to find data errors. If the letter "d" is present, then autoset will allow the user to enter debug mode at a location specified at run time. This is useful in tracing program operation at a more detailed level. If the letter "s" is present, then autoset will provide additional information to the output i-files, which will allow a compressed search file to be built later in the process. This letter must also be present if the user intends to use autoscr.z to compile files for a conversion to SCORE. Conversion to SCORE can only be done at notesize 14, and cannot be done with files that include cue notes. If autoset.z fails, it is usually because there is a format error in the source file. Running the program again, using the letter "m" in special case 2 above (inserted in the offending stage2 file), will show the exact measure where the program failed. It is usually easy to pinpoint the error when this is done. Not so easy to find, however, are errors in the output. These errors only show up when mskpage.z is run, and often are the result of mistakes in the stage2 file that can propagate for many measures. Once the autoset.z -> mskpage.z -> dskpage.z sequence is successfully completed, you can be fairly sure that your stage2 files have no format errors. It is not unusual to run this sequence several times, with different compression factors, and with different combinations of system breaks. With Dmuse, the process of "casting off," i.e., determining the location of system breaks, is an iterative process. Especially with musical parts, where the location of page turns is very important, and where broken ties, slurs, and wedges (across system breaks) are best avoided, this can be an important step in typesetting high quality parts. Scores and parts have another important difference. With scores, all measures, empty or not, are typeset. But with parts, empty measures are typeset as group rests and represented as a symbol in the i-file format. The default for autoset.z is to typeset measures as group rests only when the group name is "parts." This default can be overridden with the general print suggestion m<#> = multi-rest flag, where # = 0: do not generate multi-rests (default for score) # = 1: generate multi-rests (default for parts) In the case where a musical part divides and is represented on two separate staff lines, e.g., Cello I and Cello II in the 2nd mvt of Beethoven's 7th Symphony, the group name is still "parts," but the multi-rest default must be overridden.