texlive[46141] trunk: musixtex (26dec17)
commits+karl at tug.org
commits+karl at tug.org
Tue Dec 26 23:07:24 CET 2017
Revision: 46141
http://tug.org/svn/texlive?view=revision&revision=46141
Author: karl
Date: 2017-12-26 23:07:24 +0100 (Tue, 26 Dec 2017)
Log Message:
-----------
musixtex (26dec17)
Modified Paths:
--------------
trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
trunk/Master/texmf-dist/doc/generic/musixtex/README
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex
trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
trunk/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
trunk/Master/texmf-dist/doc/man/man1/musixtex.1
trunk/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua
trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
Added Paths:
-----------
trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt
trunk/Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/generic/musixtex/examples/8bitchar.tex
Modified: trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua 2017-12-26 22:07:24 UTC (rev 46141)
@@ -1,6 +1,6 @@
#!/usr/bin/env texlua
-VERSION = "0.18"
+VERSION = "0.19"
--[[
musixtex.lua: processes MusiXTeX files using prepmx and/or pmxab and/or
@@ -28,6 +28,11 @@
--[[
ChangeLog:
+
+ version 0.19 2017-12-10 RDT
+ Allow non-standard extensions.
+ Add -M and -A options.
+
version 0.18 2017-06-13 RDT
Allow autosp to generate .ltx files
@@ -131,6 +136,8 @@
-D dvixx use dvixx as the dvi processor
-c preprocess pmx file using pmxchords
-m stop at pmx
+ -M prepmxx use prepmxx as the mtx preprocessor
+ -A autospx use autospx as the aspc preprocessor
-t stop at tex/mid
-s stop at dvi
-g stop at ps
@@ -189,6 +196,7 @@
function defaults()
prepmx = "prepmx"
pmx = "pmxab"
+ autosp = "autosp"
tex = "etex"
musixflx = "musixflx"
dvi = dvips
@@ -313,6 +321,12 @@
elseif this_arg == "-m" then
pmx, tex, dvi, ps2pdf = nil,nil,nil,nil
protect.pmx = true
+ elseif this_arg == "-M" then
+ narg = narg+1
+ prepmx = arg[narg]
+ elseif this_arg == "-A" then
+ narg = narg+1
+ autosp = arg[narg]
elseif this_arg == "-q" then
if not tempname then
tempname = tempname or os.tmpname()
@@ -327,41 +341,22 @@
function find_file(this_arg)
basename, extension = this_arg:match"(.*)%.(.*)"
- if extension then
extensions = {["mtx"] = true, ["pmx"] = true, ["aspc"] = true, ["tex"] = true, ["ltx"] = true}
- if not extensions[extension] then
- print("!! extension " .. extension .. " unrecognized; valid extensions are mtx|pmx|aspc|tex|ltx.")
- exit_code = exit_code+1
- return
+ if extensions[extension] then
+ return basename, extension
+ end
+ basename, extension = this_arg, null
+ for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
+ if exists (basename .. "." .. ext) then
+ extension = ext
+ break
end
- else
- basename = this_arg
- for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
- if exists (basename .. "." .. ext) then
- extension = ext
- break
- end
- end
- if not extension then
- print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
- exit_code = exit_code+1
- return
- end
- end
- if tex then -- tex output enabled, now select engine
- if tex:match"pdf" then dvi = nil end
- if not dvi then ps2pdf = nil end
- -- .ltx extension will be taken into account later, in `process`
- -- deduce tex/latex from current engine name if -l is not specified
- if not override:match"l" then latex = tex:match"latex" end
- if not force_engine then -- select appropriate default engine
- if latex then
- if dvi==nil then tex = "pdflatex" else tex = "latex" end
- else
- if dvi==nil then tex = "pdfetex" else tex = "etex" end
- end
- end
end
+ if extension == null then
+ print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
+ exit_code = exit_code+1
+ return
+ end
return basename, extension
end
@@ -405,7 +400,7 @@
end
end
if extension == "aspc" then
- if execute ("autosp " .. basename .. ".aspc" ) == 0 then
+ if execute (autosp .. " " .. basename .. ".aspc" ) == 0 then
if exists ( basename .. ".ltx")
then extension = "ltx"
else extension = "tex"
@@ -564,6 +559,20 @@
if this_arg:match"^%-" then process_option(this_arg)
else
basename, extension = find_file(this_arg) -- nil,nil if not found
+ if tex then -- tex output enabled, now select engine
+ if tex:match"pdf" then dvi = nil end
+ if not dvi then ps2pdf = nil end
+ -- .ltx extension will be taken into account later, in `process`
+ -- deduce tex/latex from current engine name if -l is not specified
+ if not override:match"l" then latex = tex:match"latex" end
+ if not force_engine then -- select appropriate default engine
+ if latex then
+ if dvi==nil then tex = "pdflatex" else tex = "latex" end
+ else
+ if dvi==nil then tex = "pdfetex" else tex = "etex" end
+ end
+ end
+ end
extension = preprocess(basename, extension)
tex_process(tex,basename,extension)
if basename and io.open(basename..".log") then -- to be printed later
Added: trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt 2017-12-26 22:07:24 UTC (rev 46141)
@@ -0,0 +1,15 @@
+
+Changes from MusiXTeX 126 to 127:
+
+* introduced \meterN, \xxtuplet
+
+* introduced \nqqb \nqqh \nqqqb \nqqqh abbreviations and
+ synonyms \nqql \nqqu \nqqql \nqqqu
+
+* introduced \hap, \happ analogous to \qap, \qapp
+
+* introduced \hbsk analogous to \hsk
+
+* introduced \bqsk, \bhsk, \btsk analogous to \qsk, \hqsk, \tqsk
+
+* eliminated \ds at oup
Property changes on: trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/README 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/README 2017-12-26 22:07:24 UTC (rev 46141)
@@ -1,4 +1,4 @@
-This is MusiXTeX, version 1.26 (2017-11-15).
+This is MusiXTeX, version 1.27 (2017-12-26).
MusiXTeX is a TeX-based system for typesetting music.
The main author was Daniel Taupin, who died in a climbing
Deleted: trunk/Master/texmf-dist/doc/generic/musixtex/examples/8bitchar.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/examples/8bitchar.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/examples/8bitchar.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -1,12 +0,0 @@
-
-\input plainenc\relax\inputencoding{cp1252}
-\input musixtex
-\input musixlyr
-\hsize50mm
-\setlyrics1{\xE1 \xE4 \xF6}\assignlyrics11%
-\startpiece\addspace{4pt}%
-\znotes\zcharnote{12}{Po\xE8me na\xEFf}\en%
-\Notes\qa{ggg}\en%
-\endpiece
-\vfill\eject
-\end
Added: trunk/Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -0,0 +1,12 @@
+
+\input plainenc\relax\inputencoding{cp1252}
+\input musixtex
+\input musixlyr
+\hsize50mm
+\setlyrics1{\xE1 \xE4 \xF6}\assignlyrics11%
+\startpiece\addspace{4pt}%
+\znotes\zcharnote{12}{Po\xE8me na\xEFf}\en%
+\Notes\qa{ggg}\en%
+\endpiece
+\vfill\eject
+\end
Property changes on: trunk/Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -119,7 +119,7 @@
\end{verbatim}\end{quote}
%\check
- \section{Ending a beam}
+\section{Ending a beam}
The termination of a given
beam must be declared \ital{before} coding the last spacing note
connected to that beam. The macros for doing that are
@@ -222,6 +222,10 @@
\item \keyindex{tqqh}\enpee~is equivalent to \verb|\tbbu{|$n$\verb|}\tqh|\enpee
\item \keyindex{tqqqh}\enpee~is equivalent to \verb|\tbbbu{|$n$\verb|}\tqqh|\enpee
\item \keyindex{tqqqb}\enpee~is equivalent to \verb|\tbbbl{|$n$\verb|}\tqqb|\enpee
+ \item \keyindex{nqqb}\enpee~is equivalent to \verb|\tbbl{|$n$\verb|}\qb|\enpee
+ \item \keyindex{nqqh}\enpee~is equivalent to \verb|\tbbu{|$n$\verb|}\qb|\enpee
+ \item \keyindex{nqqqh}\enpee~is equivalent to \verb|\tbbbu{|$n$\verb|}\qb|\enpee
+ \item \keyindex{nqqqb}\enpee~is equivalent to \verb|\tbbbl{|$n$\verb|}\qb|\enpee
\end{description}\end{quote}
and the following
synonyms may be used:
@@ -230,6 +234,10 @@
\keyindex{tqqu} & for & \keyindex{tqqh}\\
\keyindex{tqqql} & for & \keyindex{tqqqb}\\
\keyindex{tqqqu} & for & \keyindex{tqqqh}\\
+\keyindex{nqql} & for & \keyindex{nqqb}\\
+\keyindex{nqqu} & for & \keyindex{nqqh}\\
+\keyindex{nqqql} & for & \keyindex{nqqqb}\\
+\keyindex{nqqqu} & for & \keyindex{nqqqh}\\
\end{tabular}\end{quote}
\medskip
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -1,6 +1,6 @@
\title{\Huge\bfseries\musixtex\\[\bigskipamount]
\LARGE\bfseries Using \TeX{} to write polyphonic\\or
-instrumental music\\\Large\itshape Version 1.26}
+instrumental music\\\Large\itshape Version 1.27}
%\author{\Large\rm Daniel \sc Taupin\\\large\sl
@@ -67,7 +67,7 @@
takes advantage of the greater capacity of the e\TeX\ version of \TeX.
This manual
is the definitive reference to all features of
-\musixtex\ version~1.26.
+\musixtex\ version~1.27.
Novice users need not start here.
Most
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -137,11 +137,12 @@
and is initially defined as \verb|\def\txt{3}|.
The macro
\verb|\tuplettxt| serves the same role for the last two macros.
-The font used is
-\verb|\txtfont| which is by default \verb|\eightit| (in normal music size) but may be re-defined.
-The first four
-are to be used with beamed xtuplets. As indicated in the
-last column, the last four produce a sloping bracket and are to be used with
+The font used is defined by
+\verb|\txtfont| and is, by default, \verb|\eightit| (in normal music size) but may be re-defined.
+
+The first four commands in the table
+are normally used with beamed xtuplets. As indicated in the
+last column, the last four produce a sloping bracket and may be used with
unbeamed xtuplets.
@@ -252,6 +253,25 @@
\notesp\downtuplet O16\ccu e\en\notesp\cccu g\en
\end{verbatim}\end{quote}
+A modern notation uses a \emph{ratio} to specify the intended duration
+of an x-tuplet. This is supported in \musixtex\ by the command
+\keyindex{xxtuplet}, as in
+
+\begin{music}
+\nostartrule
+\startextract\addspace\afterruleskip
+\notes\xxtuplet5:6o\ibl0j3\qb0{jklm}\tql0n\en
+\endextract
+\end{music}
+
+\noindent with coding \verb|\xxtuplet5:6o\ibl0j3\qb0{jklm}\tql0n|. For the
+other x-tuplet commands (apart from \verb|\triolet|, which is defined in terms of \verb|\xtuplet|),
+it is possible to define \verb|\txt| or
+\verb|\tupletxt| as a ratio, as in
+\begin{quote}\begin{verbatim}
+\def\txt{5:6}
+\end{verbatim}\end{quote}
+
\section{Ornaments}
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -265,7 +265,7 @@
\Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en
\end{verbatim}
\texttt{autosp} also supports non-standard commands for adding ``global''
-skips (i.e., in every staff) and centered-bar rests.
+skips (i.e., in every staff) and centered whole-bar rests.
As an option, \emph{all} note-spacing commands (except \verb|\znotes|
and \verb|\vnotes|) will be processed similarly; this is useful for correcting
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -160,9 +160,19 @@
different forms. If the meter is a \ital{fraction} (e.g.,~$3/4$) the command is
\verb|\generalmeter{|\keyindex{meterfrac}\verb|{3}{4}}|.
Other possible tokens~$m$ are \keyindex{meterC},
-\keyindex{allabreve}, \keyindex{reverseC}, \keyindex{reverseallabreve} and
-\keyindex{meterplus}. These are illustrated in the following example:
+\keyindex{allabreve}, \keyindex{reverseC}, \keyindex{reverseallabreve}, \keyindex{meterN} and
+\keyindex{meterplus}.
+To insert extra space before the meter is
+written, use \keyindex{meterskip}$d$ where $d$ is any hard \TeX\
+%dimension\footnote{{\Bslash\tt meterskip} is not a macro but a
+dimension\footnote{{\tt\Bslash meterskip} is not a macro but a
+dimension register. Whatever follows it
+must be a \TeX\ dimension and {\it it must not be enclosed in braces}.}.
+The assignment must occur outside \verb|\startpiece...\endpiece| and will be
+reset to zero after first meter is posted.
+These are illustrated in the following example:
+
%\check
\begin{music}
\generalmeter\meterC
@@ -176,7 +186,9 @@
\generalmeter\reverseallabreve\changecontext
\NOTEs\zwq g\en
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
-\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\en\setemptybar
+\notesp\Tqbu ceg\Dqbl jg\Tqbu gec\en
+\generalmeter{\meterN3}\meterskip4pt\changecontext
+\Notes\qa{ceg}\en\setemptybar
\endpiece
\end{music}
\noindent which was coded as:
@@ -192,7 +204,9 @@
\generalmeter\reverseallabreve\changecontext
\NOTEs\zwq g\en
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
-\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\en\setemptybar
+\notesp\Tqbu ceg\Dqbl jg\Tqbu gec\en
+\generalmeter{\meterN3}\meterskip4pt\changecontext
+\Notes\qa{ceg}\en\setemptybar
\endpiece
\end{verbatim}\end{quote}
@@ -203,14 +217,6 @@
sets the meter to 12/8 for the first staff of the third instrument, and
\ital{alla breve} for the second staff.
-To insert extra space before the meter is
-written, use \keyindex{meterskip}$d$ where $d$ is any hard \TeX\
-%dimension\footnote{{\Bslash\tt meterskip} is not a macro but a
-dimension\footnote{{\tt\Bslash meterskip} is not a macro but a
-dimension register. Whatever follows it
-must be a \TeX\ dimension and {\it it must not be enclosed in braces}.}.
-The assignment must occur outside \verb|\startpiece...\endpiece| and will be
-reset to zero after first meter is posted.
\subsection{Instrument names}
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -25,10 +25,15 @@
To skip forward
by one half of a \verb|\noteskip|, use \keyindex{hsk}.
+To skip \emph{backward}
+by one or half \verb|\noteskip|, use \keyindex{bsk},
+or \keyindex{hbsk}, respectively.
+
To insert spacing of approximately one note head width, you can use
\keyindex{qsk}, or for two-thirds, half or one-quarter of that, \keyindex{tqsk}, \keyindex{hqsk}
-or \keyindex{qqsk}, respectively. To skip backward
-by one \verb|\noteskip|, use \keyindex{bsk}. More generally,
+or \keyindex{qqsk}, respectively.
+To skip backward one note-head width or two-thirds or half that, use
+\keyindex{bqsk}, \keyindex{btsk} or \keyindex{bhsk}, respectively. More generally,
to skip an arbitrary distance, use \keyindex{off}\verb|{|$D$\verb|}|
where $D$ is any \itxem{scalable dimension}, e.g.,~\verb|\noteskip| or
\verb|\elemskip|. Indeed, if you look in the
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -218,6 +218,7 @@
\keyindex{zwp}, \keyindex{zwpp},
\keyindex{hup}, \keyindex{hupp},
\keyindex{hlp}, \keyindex{hlpp},
+\keyindex{hap}, \keyindex{happ},
\keyindex{zhp}, \keyindex{zhpp},
\keyindex{qup}, \keyindex{qupp},
\keyindex{qlp}, \keyindex{qlpp},
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/man/man1/musixtex.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/musixtex.1 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/doc/man/man1/musixtex.1 2017-12-26 22:07:24 UTC (rev 46141)
@@ -1,5 +1,5 @@
.\" This manpage is licensed under the GNU Public License
-.TH MUSIXTEX 1 2017-06-13 "musixtex version 0.18" ""
+.TH MUSIXTEX 1 2017-12-10 "musixtex version 0.19" ""
.SH NAME
musixtex \- processes MusiXTeX files, using pre-processors prepmx, pmxab and autosp as necessary,
@@ -53,7 +53,7 @@
.BR autosp (1)
and the resulting .tex or .ltx file is processed as above.
.P
-If a jobname argument has no extension, the script will look for a file
+If a jobname argument has none of these extensions, the script will look for a file
.IR jobname .mtx
or
.IR jobname .pmx
@@ -65,7 +65,7 @@
.IR jobname .ltx ,
in that order, and process it as above.
.SH OPTIONS
-.TP 8
+.TP 10
.B -v
output program name and version number, and quit
.TP
@@ -107,6 +107,17 @@
.B -m
stop processing at the pmx file
.TP
+.B -M mtxx
+use
+.B mtxx
+as the mtx preprocessor; e.g., -M "prepmx -i".
+.TP
+.B -A aspcx
+use
+.B aspcx
+as the aspc preprocessor; e.g., -A "autosp -l".
+.TP
+.TP
.B -t
stop processing at the tex/mid files
.TP
Modified: trunk/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua 2017-12-26 22:07:24 UTC (rev 46141)
@@ -1,6 +1,6 @@
#!/usr/bin/env texlua
-VERSION = "0.18"
+VERSION = "0.19"
--[[
musixtex.lua: processes MusiXTeX files using prepmx and/or pmxab and/or
@@ -28,6 +28,11 @@
--[[
ChangeLog:
+
+ version 0.19 2017-12-10 RDT
+ Allow non-standard extensions.
+ Add -M and -A options.
+
version 0.18 2017-06-13 RDT
Allow autosp to generate .ltx files
@@ -131,6 +136,8 @@
-D dvixx use dvixx as the dvi processor
-c preprocess pmx file using pmxchords
-m stop at pmx
+ -M prepmxx use prepmxx as the mtx preprocessor
+ -A autospx use autospx as the aspc preprocessor
-t stop at tex/mid
-s stop at dvi
-g stop at ps
@@ -189,6 +196,7 @@
function defaults()
prepmx = "prepmx"
pmx = "pmxab"
+ autosp = "autosp"
tex = "etex"
musixflx = "musixflx"
dvi = dvips
@@ -313,6 +321,12 @@
elseif this_arg == "-m" then
pmx, tex, dvi, ps2pdf = nil,nil,nil,nil
protect.pmx = true
+ elseif this_arg == "-M" then
+ narg = narg+1
+ prepmx = arg[narg]
+ elseif this_arg == "-A" then
+ narg = narg+1
+ autosp = arg[narg]
elseif this_arg == "-q" then
if not tempname then
tempname = tempname or os.tmpname()
@@ -327,41 +341,22 @@
function find_file(this_arg)
basename, extension = this_arg:match"(.*)%.(.*)"
- if extension then
extensions = {["mtx"] = true, ["pmx"] = true, ["aspc"] = true, ["tex"] = true, ["ltx"] = true}
- if not extensions[extension] then
- print("!! extension " .. extension .. " unrecognized; valid extensions are mtx|pmx|aspc|tex|ltx.")
- exit_code = exit_code+1
- return
+ if extensions[extension] then
+ return basename, extension
+ end
+ basename, extension = this_arg, null
+ for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
+ if exists (basename .. "." .. ext) then
+ extension = ext
+ break
end
- else
- basename = this_arg
- for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
- if exists (basename .. "." .. ext) then
- extension = ext
- break
- end
- end
- if not extension then
- print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
- exit_code = exit_code+1
- return
- end
- end
- if tex then -- tex output enabled, now select engine
- if tex:match"pdf" then dvi = nil end
- if not dvi then ps2pdf = nil end
- -- .ltx extension will be taken into account later, in `process`
- -- deduce tex/latex from current engine name if -l is not specified
- if not override:match"l" then latex = tex:match"latex" end
- if not force_engine then -- select appropriate default engine
- if latex then
- if dvi==nil then tex = "pdflatex" else tex = "latex" end
- else
- if dvi==nil then tex = "pdfetex" else tex = "etex" end
- end
- end
end
+ if extension == null then
+ print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
+ exit_code = exit_code+1
+ return
+ end
return basename, extension
end
@@ -405,7 +400,7 @@
end
end
if extension == "aspc" then
- if execute ("autosp " .. basename .. ".aspc" ) == 0 then
+ if execute (autosp .. " " .. basename .. ".aspc" ) == 0 then
if exists ( basename .. ".ltx")
then extension = "ltx"
else extension = "tex"
@@ -564,6 +559,20 @@
if this_arg:match"^%-" then process_option(this_arg)
else
basename, extension = find_file(this_arg) -- nil,nil if not found
+ if tex then -- tex output enabled, now select engine
+ if tex:match"pdf" then dvi = nil end
+ if not dvi then ps2pdf = nil end
+ -- .ltx extension will be taken into account later, in `process`
+ -- deduce tex/latex from current engine name if -l is not specified
+ if not override:match"l" then latex = tex:match"latex" end
+ if not force_engine then -- select appropriate default engine
+ if latex then
+ if dvi==nil then tex = "pdflatex" else tex = "latex" end
+ else
+ if dvi==nil then tex = "pdfetex" else tex = "etex" end
+ end
+ end
+ end
extension = preprocess(basename, extension)
tex_process(tex,basename,extension)
if basename and io.open(basename..".log") then -- to be printed later
Modified: trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex 2017-12-26 11:50:03 UTC (rev 46140)
+++ trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex 2017-12-26 22:07:24 UTC (rev 46141)
@@ -25,15 +25,26 @@
\def\mufl at x{0.83}%
\def\mxmajorvernumber{1}
-\def\mxminorvernumber{26}
+\def\mxminorvernumber{27}
\def\mxvernumber{\mxmajorvernumber\mxminorvernumber}% make it possible to compare with \ifnum
\def\mxversuffix{}%
\edef\mxversion{\mxmajorvernumber.\mxminorvernumber\mxversuffix}
-\def\mxdate{2017-11-15}
+\def\mxdate{2017-12-26}
\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}%
\everyjob{\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}}%
+% version 1.27
+
+% introduced \meterN
+% eliminated \ds at oup
+% introduced \nqqb \nqqh \nqqqb \nqqqh abbreviations and
+% synonyms \nqql \nqqu \nqqql \nqqqu
+% introduced \hap, \happ analogous to \qap, \qapp
+% introduced \hbsk analogous to \hsk
+% introduced \bqsk, \bhsk, \btsk analogous to \qsk, \hqsk, \tqsk
+% introduced \xxtuplet
+
% version 1.26
% deleted spurious definition in \resetlayout and
@@ -2804,16 +2815,16 @@
%% and adjusted the kerns RDT
%%
-\def\trebleoct{\trebleclef\raise 9\internote\hbox\@to\z@{\txtfont\kern -3.6\internote 8\hss}}
-\def\bassoct{\bassclef\raise 2\internote\hbox\@to\z@{\txtfont\kern -4.6\internote 8\hss}}
-\def\treblelowoct{\trebleclef\raise -7.5\internote\hbox\@to\z@{\txtfont\kern -4.6\internote 8\hss}}
-\def\basslowoct{\bassclef\raise -6\internote\hbox\@to\z@{\txtfont\kern -5.0\internote 8\hss}}
+\def\trebleoct{\trebleclef\raise 9\internote\hbox\@to\z@{\txtfont{\kern -3.6\internote 8}\hss}}
+\def\bassoct{\bassclef\raise 2\internote\hbox\@to\z@{\txtfont{\kern -4.6\internote 8}\hss}}
+\def\treblelowoct{\trebleclef\raise -7.5\internote\hbox\@to\z@{\txtfont{\kern -4.6\internote 8}\hss}}
+\def\basslowoct{\bassclef\raise -6\internote\hbox\@to\z@{\txtfont{\kern -5.0\internote 8}\hss}}
% [version 1.15] reqest from Hermann Hinsch
-\def\smalltrebleoct{\smalltrebleclef\raise 7.2\internote\hbox\@to\z@{\txtfont\kern -3.6\internote 8\hss}}
-\def\smalltreblelowoct{\smalltrebleclef\raise-6.8\internote\hbox\@to\z@{\txtfont\kern -4.2\internote 8\hss}}
-\def\smallbassoct{\smallbassclef\raise 2\internote\hbox\@to\z@{\txtfont\kern -4.0\internote 8\hss}}
-\def\smallbasslowoct{\smallbassclef\raise-6.5\internote\hbox\@to\z@{\txtfont\kern -4.4\internote 8\hss}}
+\def\smalltrebleoct{\smalltrebleclef\raise 7.2\internote\hbox\@to\z@{\txtfont{\kern -3.6\internote 8}\hss}}
+\def\smalltreblelowoct{\smalltrebleclef\raise-6.8\internote\hbox\@to\z@{\txtfont{\kern -4.2\internote 8}\hss}}
+\def\smallbassoct{\smallbassclef\raise 2\internote\hbox\@to\z@{\txtfont{\kern -4.0\internote 8}\hss}}
+\def\smallbasslowoct{\smallbassclef\raise-6.5\internote\hbox\@to\z@{\txtfont{\kern -4.4\internote 8}\hss}}
% [version 1.15] reqest from Hermann Hinsch: end
@@ -3004,7 +3015,7 @@
\altportee\altitude \advance\altportee\noport@@\interportee
\count at portee \s at l@ctclefs \expandafter\get at refs\the\a at c
\setbox\n at otebox\hbox\bgroup
- \let\rq\rq@ \let\lq\lq@ \let\ds\ds at oup \let\mp\mp@
+ \let\rq\rq@ \let\lq\lq@ \let\mp\mp@ % \let\ds\ds at oup RDT 1.27
\locx at skip\x at skip}
\def\@ndstaff{\egroup % this where \transpose gets reset
@@ -3406,6 +3417,8 @@
\def\h at symbol{\def\q at u{\musixfont\@ight}}
\def\ha{\h at symbol\@qa}
+\def\hap#1{\pt{#1}\ha{#1}} % 1.27 RDT
+\def\happ#1{\ppt{#1}\ha{#1}} % 1.27 RDT
\def\hu{\h at symbol\@qu}
\def\hup{\h at symbol\@qup}
\def\hupp{\h at symbol\@qupp}
@@ -3568,15 +3581,25 @@
\def\tqu{\q at symbol\@tqh} % version 1.16 RDT
\def\tqb{\q at symbol\@tqb}
\def\tql{\q at symbol\@tqb} % version 1.16 RDT
+
\def\tqqh#1#2{\tbbu{#1}\tqh{#1}{#2}} % version 1.17 RDT
-\def\tqqu#1#2{\tbbu{#1}\tqu{#1}{#2}} % version 1.17 RDT
+\def\tqqu{\tqqh} % version 1.17 RDT
\def\tqqb#1#2{\tbbl{#1}\tqb{#1}{#2}} % version 1.17 RDT
-\def\tqql#1#2{\tbbl{#1}\tql{#1}{#2}} % version 1.17 RDT
+\def\tqql{\tqqb} % version 1.17 RDT
\def\tqqqh#1#2{\tbbbu{#1}\tqqh{#1}{#2}} % version 1.17 RDT
-\def\tqqqu#1#2{\tbbbu{#1}\tqqu{#1}{#2}} % version 1.17 RDT
+\def\tqqqu{\tqqqh} % version 1.17 RDT
\def\tqqqb#1#2{\tbbbl{#1}\tqqb{#1}{#2}} % version 1.17 RDT
-\def\tqqql#1#2{\tbbbl{#1}\tqql{#1}{#2}} % version 1.17 RDT
+\def\tqqql{\tqqqb} % version 1.17 RDT
+\def\nqqh#1#2{\tbbu{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqb#1#2{\tbbl{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqqh#1#2{\tbbbu{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqqb#1#2{\tbbbl{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqu{\nqqh} % version 1.27 RDT
+\def\nqql{\nqqb} % version 1.27 RDT
+\def\nqqqu{\nqqqh} % version 1.27 RDT
+\def\nqqql{\nqqqb} % version 1.27 RDT
+
\def\ztqh{\advancefalse\q at symbol\@tqh}
\def\ztqu{\advancefalse\q at symbol\@tqh} % version 1.16 RDT
\def\ztqb{\advancefalse\q at symbol\@tqb}
@@ -3969,7 +3992,8 @@
\def\qp{\adv at restbox{\check at staff\musixchar62\fi}}
\let\soupir\qp
-\def\ds at oup{\adv at restbox{\check at staff\musixchar63\fi}}
+%\def\ds at oup{\adv at restbox{\check at staff\musixchar63\fi}} % why? RDT 1.27
+\def\ds{\adv at restbox{\check at staff\musixchar63\fi}}
\def\qs{\adv at restbox{\check at staff\musixchar64\fi}}
\def\hs{\adv at restbox{\check at staff\musixchar65\fi}}
\def\qqs{\adv at restbox{\check at staff\musixchar66\fi}}
@@ -4106,6 +4130,7 @@
\def\meterC{\raise4\internote\hbox{\musickeyfont\@lxxxiii}} %-> 4/4
\def\reverseC{\raise4\internote\hbox{\keychar84}} %-> 4/2
\def\meterplus{{\keychar57}}
+\def\meterN#1{\raise2\internote\hbox{\meterfont#1}} % RDT 1.27
%%% arpeggio
@@ -4573,6 +4598,9 @@
\sign at skip=0.5\sign at skip \xdef\half at sign@skip{\the\sign at skip}}%
\zcharnote{#2}{\kern\h at lf\qn at width\kern \half at sign@skip\lrlap{\txtfont#1\/\/}}}
\def\triolet{\xtuplet\txt} % version 1.17 RDT
+\def\xxtuplet#1:#2#3{\n at iv#1\advance\n at iv\m at ne {\sign at skip=\n at iv\noteskip
+ \sign at skip=0.5\sign at skip \xdef\half at sign@skip{\the\sign at skip}}%
+ \zcharnote{#3}{\kern\h at lf\qn at width\kern \half at sign@skip\lrlap{\txtfont{#1:#2\/\/}}}}
%
% Following definitions based on tuplet.tex - conventional tuplet brackets for MusiXTeX.
@@ -4764,7 +4792,8 @@
\def\off#1{\advance\locx at skip#1\kern#1}
\def\sk{\off\noteskip}
\def\hsk{\off{\h at lf\noteskip}}
-\def\bsk{\off{-\noteskip}}
+\def\bsk{\off{-\noteskip}}
+\def\hbsk{\off{-\h at lf\noteskip}} % version 1.27 RDT
%%
% Redefine \qsk to be scaleable softwidth rather than a fixed kern
@@ -4775,6 +4804,9 @@
\def\hqsk{\off{\h at lf\@l at mskip}}
\def\tqsk{\off{\p at seven\@l at mskip}} % version 1.25 RDT
\def\qsk{\off\@l at mskip}
+\def\bhsk{\off{-\h at lf\@l at mskip}} % version 1.27 RDT
+\def\btsk{\off{-\p at seven\@l at mskip}} % version 1.27 RDT
+\def\bqsk{\off-\@l at mskip} % version 1.27 RDT
\def\nspace{\hardspace{\h at lf\qn at width}}
\def\qspace{\hardspace\qn at width}
More information about the tex-live-commits
mailing list