This is the README for the autosp package, version 2021-01-07. autosp is a preprocessor that generates note-spacing commands for MusiXTeX scores. It simplifies the creation of MusiXTeX scores by converting (non-standard) commands of the form \anotes ... \en into one or more conventional note-spacing commands, as determined by the note values themselves, with \sk spacing commands inserted as necessary. The coding for an entire measure can be entered one part at a time, without concern for note-spacing changes within the part or spacing requirements of other parts. For example, \anotes\qa J\qa K&\ca l\qa m\ca n\en generates \Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en The format of \anotes commands is similar to conventional notes commands, except that line breaks and spaces may precede note segments, allowing more flexible source formatting; the line breaks and spaces will be elided from the output. If there is a single staff, consecutive whole-bar rest bars are merged into a multi-bar rest. Bar-centered rests can be coded using the standard \def\atnextbar notation but also by using the non-standard command \Cpause (or \Cp) in a note segment. Spacing commands \sk and \hsk in the source are discarded, but not \qsk, \hqsk or \qqsk; moreover non-standard commands \Qsk, \TQsk, \HQsk and \QQsk generate "global" skips; i.e., the effect of \qsk, \tqsk, \hqsk or \qqsk in *every* staff. A note segment can be completely empty, but if a note segment should start with or contain a "space," the note-value of that space must be made explicit with a command of the form \ha{*}, \qa{.*}, \qa{*}, \ca{*}, etc. From version 2017-06-14, the effects of \TransformNotes calls are implemented by the pre-processor. This enables use of autosp with musixlyr.tex, which is incompatible with the musixtnt.tex implementation of \TransformNotes. All other conventional MusiXTeX commands are output exactly as given in the input. autosp determines the spacing for ordinary notes from the note commands themselves; for example, + \qa, \qu, \ql, \qp result in \NOtes; + \ca, \cu, \cl, \ds result in \Notes; and so on. The spacing for beamed notes is determined by the beam multiplicity: \ib... results in \Notes, \ibb... results in \notes, etc. Collective coding of note sequences (including accidentals and dots) is handled by expanding the sequence into a sequence of individual note commands. autosp scales notes by the relevant instrument-size value. Limitations Appoggiaturas and grace notes are recognized by the use of \tinynotesize; note-spacing of 1.45\elemskip is used. If this isn't suitable and can't be corrected with a small skip, a \vnotes command with any desired spacing can be used. autosp supports triplets introduced using any of the following commands: \triolet \uptrio \downtrio \uptuplet \downtuplet and x-tuplets introduced using \xtuplet{x}; however, MusiXTeX notation does not specify the intended duration of an x-tuplet. autosp assumes that an x-tuplet is to be played in (x-1)/x of the apparent x-tuplet duration. So, for example, a triplet in eighths is assumed to be played in the time of one quarter note. If these assumptions aren't valid, the x-tuplet must be coded explicitly using a \vnotes command; see the first measure of barsant2.aspc for an example of a non-standard x-tuplet: a 5-tuple of 64th notes with an intended duration of *six* 64ths. User-defined macros are not processed or expanded. All staffs are assumed to have the same meter; see kinder2.aspc for an example of how to work around this. autosp will not be effective for music with more than one voice in a single staff. It might be advisable to use a separate staff for each voice, or to omit certain voices initially and add them into the resulting TeX file. See files quod2.aspc, kinder2.aspc, geminiani.aspc and barsant2.aspc for scores suitable for input to autosp. musixtex.tex version 1.21 or later is needed. Included in the autosp package is a small utility rebar that reads a MusiXTeX score and generates a copy with bar-number comments of the form %barno appended to commands such as \bar, \alaligne, etc. replacing any existing comments. Bar-numbering in the MusiXTeX output is not affected Also included is the program tex2aspc which re-factors conventional MusiXTeX scores to aspc format suitable for autosp pre-processing by merging every conventional notes commands in a measure into a single \anotes command. To install the autosp package, unzip autosp.tds.zip at the root of a local or personal texmf tree and update the file-name database. This will install documentation and examples. On Windows or MacOSX, install the relevant binaries on the PATH of executables. On Unix-like systems, unpack the .tar.gz archive, and compile and install using the sequence ./configure && make && sudo make install autosp is licensed under the GPL, version 2 or (at your option) any later version. Bob T. rdt(at)cs(dot)queensu(dot)ca