Hello Olivier, Simon,

may I propose yet another variant of setting additional volta brackets: 
With the command \voltainstruments{2,5}, for example, you specify that 
volta brackets shall appear above instruments number 2 and 5.

Since the mailing list seems to dislike attachments, here's the coding for 
the multiple volta bracket feature (beware of spurious line breaks!):

8<----------------------------------------------------------------------------
\makeatletter

[EMAIL PROTECTED]@list{#1}}
\voltainstruments{}

[EMAIL PROTECTED],[EMAIL PROTECTED]
  % #1: volta writing command
  % #2: instrument list head
  % #3: instrument list tail
  #1{#2}% set volta on first given instrument
  % loop over list in tail non-empty
  \ifx\relax#3\relax
    [EMAIL PROTECTED]
  \else
    [EMAIL PROTECTED]@[EMAIL PROTECTED]
  \fi
  [EMAIL PROTECTED]

[EMAIL PROTECTED]@volta#1{% #1 = instrument number
  [EMAIL PROTECTED] [EMAIL PROTECTED]@[EMAIL PROTECTED]
  [EMAIL PROTECTED] [EMAIL PROTECTED]@v [EMAIL PROTECTED]
  [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]
}

[EMAIL PROTECTED] writes the requested |n. and moves the things for further use
  [EMAIL PROTECTED]/setvolta collision!}\fi
% [EMAIL PROTECTED]@box\rlap{\vrule %   \musixfont\sixt@@n            %-simick
%   \rm\ [EMAIL PROTECTED] [EMAIL PROTECTED]    %-simick
  [EMAIL PROTECTED]@box\rlap{\vrule\rm\strut\ [EMAIL PROTECTED] %+simick
  [EMAIL PROTECTED]@[EMAIL PROTECTED]
  [EMAIL PROTECTED]@[EMAIL PROTECTED]
  [EMAIL PROTECTED] [EMAIL PROTECTED]@box\null
  \fi   % if continuation, make [EMAIL PROTECTED]@box null
% [EMAIL PROTECTED]@[EMAIL PROTECTED]                                 %-simick
  [EMAIL PROTECTED]@list\empty
    [EMAIL PROTECTED]@volta\nbinstruments % single volta on upper instrument
  \else % loop over specified instruments
    [EMAIL PROTECTED]
      [EMAIL PROTECTED]@[EMAIL PROTECTED]@list,[EMAIL PROTECTED]
  \fi
  [EMAIL PROTECTED]@set
  [EMAIL PROTECTED]
  [EMAIL PROTECTED]
% [EMAIL PROTECTED]@[EMAIL PROTECTED]                                         %-simick
  [EMAIL PROTECTED]@[EMAIL PROTECTED] [EMAIL PROTECTED]@[EMAIL PROTECTED]     %+simick
}

[EMAIL PROTECTED]@[EMAIL PROTECTED] #1 = instrument number
  [EMAIL PROTECTED] [EMAIL PROTECTED]@[EMAIL PROTECTED]
  [EMAIL PROTECTED] [EMAIL PROTECTED]@v [EMAIL PROTECTED]
  [EMAIL PROTECTED]
    [EMAIL PROTECTED]
    [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@i}% %+simick
}

[EMAIL PROTECTED]@hrule{% write the hrule of volta bar at its end
  [EMAIL PROTECTED]
  \else
    [EMAIL PROTECTED]@pos [EMAIL PROTECTED]@[EMAIL PROTECTED]
%   [EMAIL PROTECTED] [EMAIL PROTECTED]@v       %-simick
%   [EMAIL PROTECTED]                   %-simick
    [EMAIL PROTECTED]@                  %+simick
      [EMAIL PROTECTED]@                                                %+simick
    \else                                               %+simick
      [EMAIL PROTECTED]@v [EMAIL PROTECTED]@endcor              %+simick
    \fi                                                 %+simick
    [EMAIL PROTECTED]@i                                 %+simick
    [EMAIL PROTECTED]@list\empty
      [EMAIL PROTECTED]@[EMAIL PROTECTED] % single volta on upper instrument
    \else % loop over specified instruments
      [EMAIL PROTECTED]
        [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED],[EMAIL PROTECTED]
    \fi
    % check whether termination has been required
    [EMAIL PROTECTED]@@ [EMAIL PROTECTED]@@\fi % \endvoltabox forces type \thr@@
    [EMAIL PROTECTED] \else [EMAIL PROTECTED]@endbox\fi
    % now set [EMAIL PROTECTED] [EMAIL PROTECTED] to \empty
    [EMAIL PROTECTED]@ne [EMAIL PROTECTED]
  \fi
}%

[EMAIL PROTECTED]@[EMAIL PROTECTED] #1 = instrument number
  [EMAIL PROTECTED] [EMAIL PROTECTED]@[EMAIL PROTECTED]
  [EMAIL PROTECTED] [EMAIL PROTECTED]@v [EMAIL PROTECTED]
  [EMAIL PROTECTED]@[EMAIL PROTECTED]@i}%
}

[EMAIL PROTECTED]@endbox{% write the hrule of volta bar at its end
  [EMAIL PROTECTED]
    [EMAIL PROTECTED]@@
      [EMAIL PROTECTED]@list\empty
        [EMAIL PROTECTED]@[EMAIL PROTECTED] % single volta on upper instr.
      \else % loop over specified instruments
        [EMAIL PROTECTED]
          [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED],[EMAIL PROTECTED]
      \fi
    \fi
    % now force [EMAIL PROTECTED] to \empty
    [EMAIL PROTECTED]
    [EMAIL PROTECTED]
    [EMAIL PROTECTED]
  \fi
}%

\makeatother
8<----------------------------------------------------------------------------


And here's a little demo example:

8<----------------------------------------------------------------------------
\input musixtex
\input musixadd
\input multivolta % this is how i called the file containing the code above

\instrumentnumber8
\akkoladen{2568}
\setstaffs12
\setinterinstrument1{1cm}
\setinterinstrument5{1cm}
\sepbarrules
\nobarnumbers

\voltainstruments{1,5,8}

\startpiece
 \hardspace{1cm}\Setvolta1\bar
 \hardspace{1cm}\setendvoltabox\setvolta2\bar
 \hardspace{1cm}\bar
 \hardspace{1cm}\Setvolta3\bar
 \hardspace{1cm}\bar
 \hardspace{1cm}\bar
 \hardspace{1cm}\bar
 \hardspace{1cm}\setendvoltabox\bar
 \hardspace{1cm}%
\endpiece
\bye
8<----------------------------------------------------------------------------


Best regards,

Rainer
_______________________________________________
TeX-music mailing list
[EMAIL PROTECTED]
http://icking-music-archive.org/mailman/listinfo/tex-music

Reply via email to