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