From 360b2217b3fb6cbf371c80bd9c4ed3352dc9a60c Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 1 Jan 2019 22:50:09 +0000
Subject: chordbars (1jan19)

git-svn-id: svn://tug.org/texlive/trunk@49569 c570f23f-e606-0410-a88d-b1316a301751
---
 .../texmf-dist/tex/latex/chordbars/chordbars.sty   | 119 ++++++++++++++++++---
 1 file changed, 103 insertions(+), 16 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/chordbars/chordbars.sty')

diff --git a/Master/texmf-dist/tex/latex/chordbars/chordbars.sty b/Master/texmf-dist/tex/latex/chordbars/chordbars.sty
index 13e4f49642b..4064cf14c8e 100644
--- a/Master/texmf-dist/tex/latex/chordbars/chordbars.sty
+++ b/Master/texmf-dist/tex/latex/chordbars/chordbars.sty
@@ -1,8 +1,8 @@
-%% chordbars.sty
+%% file: chordbars.sty
 %% Copyright 2018 M. Sebastien Kramm
 %
 % This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %   http://www.latex-project.org/lppl.txt
@@ -17,8 +17,12 @@
 
 % Home page: https://github.com/skramm/chordbars
 
+
+% TODO define command to have 1 chord per beat
+
+
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{chordbars}[2017-12-28 version 1.0]
+\ProvidesPackage{chordbars}[2017-12-29 version 1.1]
 
 \RequirePackage{tikz}
 \RequirePackage{pgfmath}
@@ -38,7 +42,7 @@
   \begin{center}%
   	\begin{tikzpicture}[line width=1.5pt]
 	\tikzstyle{block} = [rectangle, draw, text width=20em, text centered, minimum height=4em]
-      	\node [block,font=\fontsize{20}{28}\selectfont\bfseries] (init) { \@title~-~\@author };
+      	\node [block,font=\fontsize{20}{28}\selectfont\bfseries] (init) { \@title\\ \@author };
   	\end{tikzpicture}
   \end{center}%
   \par
@@ -98,14 +102,69 @@
 }
 
 \def\barsize{1.6}%	
+\def\delta{0.36}
 
+\def\chordFontSize{\normalsize \bfseries}
+\def\titleFontSize{\large \bfseries}
 
 \xdef\NumberOfBarsPerLine{4}
 
+% arg1: chord
+% arg2: number of bars
+% arg3: title
+\newcommand{\chordline}[3]
+{
+	{\fontfamily{phv}\selectfont
+	\noindent\ignorespaces %
+	\vspace{\vspacebefore}
+	\refstepcounter{NumMesure}%
+	\refstepcounter{NumPart}%
+	\begin{tikzpicture}[line width=1pt,x=1cm,y=-1cm]
+
+% draw part title	
+	\ifthenelse
+		{\boolean{printBarNumber}}	
+		{
+			\draw (0,-\barsize*.2) node [anchor=west, align=left,font=\titleFontSize] {Part \theNumPart: #3};
+			\draw (-.3,.5*\barsize) node{\bf \theNumMesure};
+		} 
+		{
+			\draw (0,-\barsize*.2) node [anchor=west, align=left,font=\titleFontSize] {#3};
+		} 
+
+	\draw (0,0) -- (#2*\barsize,0);               % horizontal lines
+	\draw (0,\barsize) -- (#2*\barsize,\barsize);
+
+	\draw (0,0) -- (0,\barsize);                  % first vertical line
+	\draw (\barsize,0) -- (\barsize,\barsize);    % second vertical line
+	\draw (\barsize/2,\barsize/2) node [font=\chordFontSize]{#1};      % chord name
+
+	\foreach \k in {2,...,{#2}}
+	{
+		\draw (\k*\barsize,0) -- (\k*\barsize,\barsize);
+
+		\pgfmathsetmacro{\Axa}{(\k-1)*\barsize+\delta*\barsize}
+		\pgfmathsetmacro{\Axb}{\k*\barsize-\delta*\barsize}
+		\pgfmathsetmacro{\Aya}{(1-\delta)*\barsize}
+		\pgfmathsetmacro{\Ayb}{\delta*\barsize}
+
+		\coordinate (A) at (\Axa,\Ayb);
+		\coordinate (B) at (\Axb,\Aya);
+
+		\fill (A) circle[radius=2pt];
+		\fill (B) circle[radius=2pt];
+		\draw [thick] (\Axa,\Aya) -- (\Axb,\Ayb); % Draw "repeat" symbol
+	}					
+				
+	\end{tikzpicture}
+	}
+	\addtocounter{NumMesure}{#2}
+}
+
 %==========================================================================
 % main environment, has 2 mandatory arguments
-% arg 1: total number of 4 beat bars (4, 8, ...)
-% arg 2: part name (can be empty)
+% arg 1 (#2 inside): total number of 4 beat bars (4, 8, ...)
+% arg 2 {#3 inside}: part name (can be empty)
 % optional arg: nb of repetitions (default is 1)
 
 \newenvironment{chordbar}[3][1]
@@ -128,7 +187,7 @@
 		\refstepcounter{CurrentBarInLine}%
 		\pgfmathsetmacro{\x}{-\barsize/2+\theCurrentBarInLine*\barsize}
 		\pgfmathsetmacro{\y}{\value{CurrentLine})*\barsize+\barsize/2}		
-		\draw (\x,\y) node {##1};%
+		\draw (\x,\y) node [font=\chordFontSize]{##1};%
 	}%
 
 	\newcommand{\chordh}[2]%
@@ -154,11 +213,11 @@
 		\draw (
 			{-3*\barsize/4+\theCurrentBarInLine*\barsize},
 			{\theCurrentLine*\barsize+1*\barsize/4}
-		) node {##1};
+		) node [font=\chordFontSize]{##1};
 		\draw (
 			{-\barsize/4+\theCurrentBarInLine*\barsize},
 			{\theCurrentLine*\barsize+3*\barsize/4}
-		) node {##2};%	
+		) node [font=\chordFontSize]{##2};%	
 		
 	}
 	
@@ -173,7 +232,6 @@
 			{}
 		\refstepcounter{CurrentBarInLine}%
 	
-		\def\delta{0.36}
 		\pgfmathsetmacro{\Axa}{(\theCurrentBarInLine-1)*\barsize+\delta*\barsize}
 		\pgfmathsetmacro{\Axb}{\theCurrentBarInLine*\barsize-\delta*\barsize}
 		\pgfmathsetmacro{\Aya}{(1-\delta)*\barsize+\theCurrentLine*\barsize}
@@ -189,7 +247,6 @@
 
 	\newcommand{\repeatBarPair}%
 	{ %
-		\def\delta{0.36}
 		\pgfmathsetmacro{\Axa}{\theCurrentBarInLine*\barsize+\delta*\barsize}
 		\pgfmathsetmacro{\Axb}{(\theCurrentBarInLine+2)*\barsize-\delta*\barsize}
 		\pgfmathsetmacro{\Aya}{(1-\delta)*\barsize+\theCurrentLine*\barsize}
@@ -211,8 +268,39 @@
 		}
 		\fi		
 	}%
+
+	\newcommand{\addHalfBar}[1]%
+	{
+		\refstepcounter{NumMesure}%
+		\refstepcounter{CurrentBarInLine}%
+
+%		\pgfmathsetmacro{\xa}{(\theCurrentBarInLine-1)*\barsize}
+%		\pgfmathsetmacro{\xb}{\theCurrentBarInLine*\barsize}
+%
+%		\pgfmathsetmacro{\ya}{\theCurrentLine*\barsize}
+%		\pgfmathsetmacro{\ya}{(\theCurrentLine+1)*\barsize}
+		
+% diagonal line
+%	\draw (\xa,\ya) -- (\xb,\yb);  A BUG HERE: investigate
+		\draw
+		(\theCurrentBarInLine*\barsize,{\theCurrentLine*\barsize})
+			--
+		({(\theCurrentBarInLine-1)*\barsize},{(\theCurrentLine+1)*\barsize});
+
+% horizontal line
+		\draw
+		(\theCurrentBarInLine*\barsize,{\theCurrentLine*\barsize})
+			--
+		({(\theCurrentBarInLine-1)*\barsize},{(\theCurrentLine)*\barsize});
+
+
+		\pgfmathsetmacro{\x}{-3*\barsize/4+\theCurrentBarInLine*\barsize}
+		\pgfmathsetmacro{\y}{\value{CurrentLine})*\barsize+\barsize/4}		
+		\draw (\x,\y) node [font=\chordFontSize]{##1};%
 	
-	\typeout{chordbarl: START #2}
+	}
+		
+	\typeout{chordbar: START #3}
 
 	\fontfamily{phv}\selectfont
 	\setcounter{CurrentLine}{0}
@@ -236,7 +324,7 @@
 	\xdef\NbBarsInitialLine{\NumberOfBarsPerLine}
 	\ifthenelse
 		{#2<\NumberOfBarsPerLine}
-		{\xdef\NbBarsInitialLine{#1}}
+		{\xdef\NbBarsInitialLine{#2}}
 		{}
 			
 % initial horizontal line
@@ -245,8 +333,8 @@
 % draw part title	
 	\ifthenelse
 		{\boolean{printBarNumber}}	
-		{\draw (0,-\barsize*.2) node [anchor=west, align=left] {\bf Part \theNumPart: #3};} 
-		{\draw (0,-\barsize*.2) node [anchor=west, align=left] {\bf #3};} 
+		{\draw (0,-\barsize*.2) node [anchor=west, align=left,font=\titleFontSize] {Part \theNumPart: #3};} 
+		{\draw (0,-\barsize*.2) node [anchor=west, align=left,font=\titleFontSize] {#3};} 
 
 	\pgfmathtruncatemacro{\nblines}{(#2-1)/\NumberOfBarsPerLine+1}	
 	\typeout{chordbarl: nblines=\nblines}
@@ -301,6 +389,5 @@
 \let\OLDflat\flat
 \renewcommand{\flat}{\ensuremath{\OLDflat}}
 
-
 \endinput
   
-- 
cgit v1.2.3

