@ -0,0 +1,13 @@ |
|||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
|||
Version 2, December 2004 |
|||
|
|||
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> |
|||
|
|||
Everyone is permitted to copy and distribute verbatim or modified |
|||
copies of this license document, and changing it is allowed as long |
|||
as the name is changed. |
|||
|
|||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
|||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
|||
|
|||
0. You just DO WHAT THE FUCK YOU WANT TO. |
@ -1,9 +0,0 @@ |
|||
\begin{song}{Johnny I Hardly Knew Ye}{Em}{~}{irish traditional}{}{} |
|||
\input{battlefield/johnny_i_hardly_knew_ye.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Whiskey You're The Devil}{D}{~}{irish traditional}{}{} |
|||
\input{battlefield/whiskey_you_re_the_devil.tex} |
|||
\end{song} |
|||
|
|||
\input{battlefield/foggy.tex} |
@ -1,65 +0,0 @@ |
|||
\begin{SBChorus} |
|||
Oh, \Ch{G}{whiskey} you're the devil, You're \Ch{C}{leading} me \Ch{G}{astray} |
|||
|
|||
O'er hills and mountains and to \Ch{D}{Americae} |
|||
|
|||
You're \Ch{G}{sweeter}, stronger, decenter, You're \Ch{C}{spunkier} than \Ch{G}{tea} |
|||
|
|||
Oh, \Ch{G}{whiskey} you're me darling drunk or \Ch{D}{so}\Ch{G}{ber} |
|||
\end{SBChorus} |
|||
|
|||
\bigskip |
|||
|
|||
\begin{SBVerse*} |
|||
Now \Ch{G}{brave} boys, we're on the march |
|||
|
|||
\Ch{D}{Off} to Portu\Ch{C}{gal} and Spain |
|||
|
|||
\Ch{G}{Drums} a'beating, banners a'waving |
|||
|
|||
\Ch{C}{Devil} a'home will \Ch{D}{come} tonight |
|||
|
|||
Lo' fare thee well With me thitery doodelum the \Ch{D}{da} |
|||
|
|||
Me \Ch{Am}{thitery} doodelum the \Ch{C}{da} |
|||
|
|||
Me \Ch{G}{right} fol' tur-a laddie-o |
|||
|
|||
There's \Ch{D}{whiskey} in the \Ch{G}{jar} |
|||
\end{SBVerse*} |
|||
|
|||
\bigskip |
|||
|
|||
The French are fighting boldly |
|||
|
|||
Men are dying hot and coldly |
|||
|
|||
Give every man his flask of powder |
|||
|
|||
His firelock on his shoulder |
|||
|
|||
Lo' fare thee well With me thitery doodelum the da |
|||
|
|||
Me thitery doodelum the da |
|||
|
|||
Me right fol' tur-a laddie-o |
|||
|
|||
There's whiskey in the jar |
|||
|
|||
\bigskip |
|||
|
|||
Says the mother : \og Do not wrong me |
|||
|
|||
Don't take me daughter from me |
|||
|
|||
For if you do I will torment you |
|||
|
|||
And after death me ghost will haunt you \fg |
|||
|
|||
We're off, fare thee well With me thitery doodelum the da |
|||
|
|||
Me thitery doodelum the da |
|||
|
|||
Me right fol' tur-a laddie-o |
|||
|
|||
There's whiskey in the jar |
@ -1,5 +0,0 @@ |
|||
\begin{song}{The Jug of Punch}{D}{~}{traditional}{}{} |
|||
\input{booze/jug_of_punch.tex} |
|||
\end{song} |
|||
|
|||
\input{booze/bugger.tex} |
@ -0,0 +1,2 @@ |
|||
Rem manually performs "make clean" |
|||
del *.aux *.d *.toc *.out *.log *.nav *.snm *.sbx *.sxd |
@ -0,0 +1,337 @@ |
|||
% CREPBOOK DOCUMENT CLASS -- version 0.2.2 |
|||
% for LaTeX2e |
|||
% |
|||
\NeedsTeXFormat{LaTeX2e}[1995/12/01] |
|||
\ProvidesClass{crepbook}[2009/11/12 v0.4.2 LaTeX document class for Crep |
|||
Books] |
|||
|
|||
\newif{\iftabs} |
|||
\newif{\iflilypond} |
|||
\newif{\ifnodiagram} |
|||
\newif{\ifpictures} |
|||
|
|||
\tabsfalse |
|||
\lilypondfalse |
|||
\nodiagramtrue |
|||
\picturesfalse |
|||
|
|||
% Options |
|||
\DeclareOption{tabs}{\tabstrue} |
|||
\DeclareOption{notabs}{\tabsfalse} |
|||
\DeclareOption{lilypond}{\lilypondtrue} |
|||
\DeclareOption{nolilypond}{\lilypondfalse} |
|||
\DeclareOption{nodiagram}{\nodiagramtrue} |
|||
\DeclareOption{diagram}{\nodiagramfalse} |
|||
\DeclareOption{pictures}{\picturestrue} |
|||
\DeclareOption{nopictures}{\picturesfalse} |
|||
|
|||
\DeclareOption{10pt}{\PassOptionsToClass{\CurrentOption}{article}} |
|||
\DeclareOption{11pt}{\PassOptionsToClass{\CurrentOption}{article}} |
|||
\DeclareOption{12pt}{\PassOptionsToClass{\CurrentOption}{article}} |
|||
|
|||
% Default options : pass to the songs package |
|||
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{songs}} |
|||
\ProcessOptions |
|||
|
|||
% Base class |
|||
\LoadClass[a4paper]{article} |
|||
|
|||
% Main packages |
|||
\RequirePackage{graphicx,xcolor} |
|||
\RequirePackage{songs} |
|||
\RequirePackage{fancybox} |
|||
\definecolor{tango-green-3}{HTML}{4e9a06} |
|||
\definecolor{tango-blue-3}{HTML}{204a87} |
|||
\RequirePackage[bookmarks, |
|||
bookmarksopen, |
|||
colorlinks=true, |
|||
linkcolor=tango-green-3, |
|||
urlcolor=tango-blue-3]{hyperref} |
|||
\RequirePackage{tikz} |
|||
\RequirePackage{tex/licence} |
|||
|
|||
\iflyric% |
|||
\tabsfalse% |
|||
\lilypondfalse% |
|||
\nodiagramtrue% |
|||
\picturesfalse% |
|||
\renewcommand{\colbotglue}{0pt plus .5\textheight minus 0pt}% |
|||
\fi |
|||
|
|||
% Start |
|||
\def\andname{and} |
|||
\def\lastandname{\unskip, and} |
|||
|
|||
\newcounter{@inst} |
|||
\newcounter{@auth} |
|||
\newcounter{auco} |
|||
|
|||
\def\clearheadinfo{\gdef\@author{No Author Given}% |
|||
\gdef\@title{No Title Given}% |
|||
\gdef\@subtitle{} |
|||
\gdef\@version{} |
|||
\gdef\@web{} |
|||
\gdef\@mail{} |
|||
\gdef\@email{} |
|||
\gdef\@picture{} |
|||
\gdef\@picturecopyright{}} |
|||
|
|||
\def\subtitle#1{\gdef\@subtitle{#1}} |
|||
\def\version#1{\gdef\@version{#1}} |
|||
\def\web#1{\gdef\@web{#1}} |
|||
\def\mail#1{\gdef\@mail{#1}} |
|||
\def\email#1{\gdef\@email{#1}} |
|||
\def\licence#1{\gdef\@licence{#1}} |
|||
\def\picture#1{\gdef\@picture{#1}} |
|||
\def\picturecopyright#1{\gdef\@picturecopyright{#1}} |
|||
\def\footer#1{\gdef\@footer{#1}} |
|||
\clearheadinfo |
|||
|
|||
\renewcommand\maketitle{ |
|||
\@maketitle |
|||
|
|||
\thispagestyle{empty} |
|||
|
|||
\clearheadinfo} |
|||
% |
|||
\def\@maketitle{\newpage |
|||
\markboth{}{}% |
|||
\def\lastand{\ifnum\value{@inst}=2\relax |
|||
\unskip{} \andname\ |
|||
\else |
|||
\unskip \lastandname\ |
|||
\fi}% |
|||
\def\and{\stepcounter{@auth}\relax |
|||
\ifnum\value{@auth}=\value{@inst}% |
|||
\lastand |
|||
\else |
|||
\unskip, |
|||
\fi}% |
|||
\begin{center}% |
|||
{\rule{\textwidth}{1mm}} |
|||
|
|||
{\Huge \bfseries\boldmath\@title \par} |
|||
|
|||
\if!\@subtitle!\else {\begin{flushright}\large \bfseries\boldmath |
|||
\@subtitle \par \end{flushright}} |
|||
\fi |
|||
|
|||
{\rule{\textwidth}{1mm}} |
|||
|
|||
\end{center}% |
|||
|
|||
\vspace{1.5cm} |
|||
|
|||
\begin{flushleft} |
|||
\begin{tabular}{l l} |
|||
\if!\@version!\else{\bf version:} & \@version \\ \fi |
|||
\if!\@date!\else{\bf date:} & \@date \\ \fi |
|||
\if!\@author!\else{\bf auteurs:} & \@author \\ \fi |
|||
\if!\@web!\else{\bf web:} & \url{\@web} \\ \fi |
|||
\if!\@mail!\else{\bf mail:} & \url{\@mail} \\ \fi |
|||
\end{tabular} |
|||
\end{flushleft} |
|||
|
|||
\vspace{1.5cm} |
|||
|
|||
\begin{center} |
|||
\includegraphics[height=14cm]{\@picture} |
|||
\begin{flushright} |
|||
{\flushright \small \@picturecopyright} |
|||
\end{flushright} |
|||
\end{center} |
|||
|
|||
\@footer |
|||
|
|||
\thispagestyle{empty} |
|||
\newpage |
|||
\@licence |
|||
\newpage |
|||
} |
|||
|
|||
\makeatletter |
|||
|
|||
\newlength{\coverheight} |
|||
\setlength{\coverheight}{2cm} |
|||
\newlength{\coverspace} |
|||
\setlength{\coverspace}{0.1cm} |
|||
\newcommand{\songcover}{} |
|||
\newcommand{\songalbum}{} |
|||
\newsongkey{cov}{\let\songcover\@empty}{\def\songcover{#1}} |
|||
\newsongkey{album}{\let\songalbum\@empty}{\def\songalbum{#1}} |
|||
\newcommand\cover{% |
|||
\ifpictures% |
|||
\ifx\songcover\@empty\else% |
|||
\mbox{% |
|||
\includegraphics[width=\coverheight]{\songcover}% |
|||
\hspace{\coverspace}% |
|||
}% |
|||
\fi% |
|||
\fi% |
|||
} |
|||
|
|||
\newlength{\capoheight} |
|||
\setlength{\capoheight}{1.5cm} |
|||
\renewcommand\capo[1]{% |
|||
\ifchorded% |
|||
\iftranscapos% |
|||
\transpose{#1}% |
|||
\else% |
|||
\ifpictures |
|||
\mbox{% |
|||
\includegraphics[height=\capoheight]{capodastre}% |
|||
\put(-22,8){\Large #1} |
|||
}% |
|||
\else |
|||
\musicnote{capo: #1}% |
|||
\fi |
|||
\hspace{\coverspace}% |
|||
\fi% |
|||
\fi% |
|||
}% |
|||
|
|||
\ifnodiagram% |
|||
\renewcommand{\gtab}[2]{}% |
|||
\fi% |
|||
|
|||
\newcommand{\lilypond}[1]{% |
|||
\iflilypond% |
|||
\IfFileExists{./lilypond/#1.pdf}{\includegraphics{./lilypond/#1}}{}% |
|||
\fi% |
|||
} |
|||
|
|||
\newcommand{\image}[2][]{% |
|||
\ifpictures% |
|||
\begin{flushright}% |
|||
\includegraphics[#1]{#2}% |
|||
\end{flushright}% |
|||
\fi% |
|||
} |
|||
|
|||
% Configuration of the songs package |
|||
\titleprefixword{} |
|||
\renewcommand{\stitlefont}{\LARGE\bf} |
|||
\renewcommand{\printchord}[1]{\small{\it#1}} |
|||
\renewcommand{\chorusfont}{\it} |
|||
\renewcommand{\showauthors}{% |
|||
\hbox{\normalsize\songauthors}% |
|||
} |
|||
\renewcommand{\idxtitlefont}{\sffamily\bfseries} |
|||
\renewcommand{\idxauthfont}{\sffamily\bfseries} |
|||
\renewcommand{\idxheadfont}{\sffamily\it\LARGE} |
|||
\renewcommand{\idxrefsfont}{\bfseries} |
|||
|
|||
% |
|||
% Customization of the page appearance |
|||
% |
|||
\RequirePackage[ |
|||
a4paper % paper size |
|||
,includeheadfoot % include header and footer into text size |
|||
,hmarginratio=1:1 % ratio between inner and outer margin (default) |
|||
,outer=1.8cm % outer margin (right) |
|||
,vmarginratio=1:1 % ratio between top and bottom margin |
|||
,bmargin=1.3cm % bottom margin |
|||
% ,bindingoffset=1.7cm % space reserved to bound pages together |
|||
]{geometry} |
|||
|
|||
% Paragraph indentation space |
|||
\setlength{\parindent}{0.3cm} |
|||
|
|||
% |
|||
% songs class options |
|||
% |
|||
% Horizontal space reserved to verse number |
|||
\setlength{\versenumwidth}{1em} |
|||
% Modifier to the space between consecutive lines of lyrics |
|||
\baselineadj=-2pt plus 1pt minus 1pt |
|||
% Space between verses and chorus |
|||
\versesep=6pt plus 2pt minus 2pt |
|||
%lyrics font |
|||
\renewcommand{\lyricfont}{\normalfont\normalsize} |
|||
|
|||
|
|||
% color used to shade song numbers. |
|||
\definecolor{SongbookShade}{HTML}{d1e4ae} |
|||
|
|||
% |
|||
\iftabs% |
|||
%% Code from tabs.sty |
|||
% Counters |
|||
\newcounter{tab-string} |
|||
\newcounter{tab-tempo} |
|||
\newcounter{tab-line} |
|||
% Length |
|||
\newlength{\tablen} |
|||
% Variables |
|||
\def\chordtuning{E,A,D,G,B,e} |
|||
\def\xunit{0.35} |
|||
\def\yunit{0.2} |
|||
% The tab environmant |
|||
% \begin{tab} |
|||
\newenvironment{tab} |
|||
{ |
|||
\normalsize |
|||
\setcounter{tab-line}{0} |
|||
\setcounter{tab-tempo}{0} |
|||
|
|||
\setlength{\tablen}{\xunit cm} |
|||
|
|||
% A single note |
|||
% \single <string> <fret> |
|||
\newcommand{\single}[2]{ |
|||
% draw tuning if we are at the beginining of a new tab line |
|||
\ifnum\value{tab-tempo}=0 |
|||
\setcounter{tab-string}{6} |
|||
\foreach \tuning in \chordtuning |
|||
{ |
|||
\node at (-1,\value{tab-line}+\value{tab-string}) {\tuning}; |
|||
\addtocounter{tab-string}{-1} |
|||
} |
|||
\fi |
|||
|
|||
% draw the 6 strings |
|||
\foreach \string in {1,...,6} |
|||
{ |
|||
\draw[xshift=-0.5cm] (\value{tab-tempo},\value{tab-line}+\string) -- +(1,0); |
|||
} |
|||
\draw node[single] at (\value{tab-tempo},\value{tab-line}+##1) {##2}; |
|||
\addtocounter{tab-tempo}{1} |
|||
\addtolength{\tablen}{\xunit cm} |
|||
\ifnum\hsize<\tablen |
|||
\addtocounter{tab-line}{8} |
|||
\setlength{\tablen}{\xunit cm} |
|||
\setcounter{tab-tempo}{0} |
|||
\end{tikzpicture} |
|||
\begin{tikzpicture}[ |
|||
single/.style={}, |
|||
cm={\xunit,0,0,-\yunit,(0,0)} |
|||
] |
|||
\fi |
|||
} |
|||
% A mesure bar |
|||
% \bar |
|||
\renewcommand{\bar}{ |
|||
\draw[xshift=-0.5cm] (\value{tab-tempo},\value{tab-line}+1) --+(0,5); |
|||
} |
|||
|
|||
\hspace{-\parindent} |
|||
\begin{tikzpicture}[ |
|||
single/.style={}, |
|||
cm={\xunit,0,0,-\yunit,(0,0)} |
|||
] |
|||
|
|||
% draw the first bar |
|||
\draw[xshift=-0.5cm] (0,1) --+(0,5); |
|||
} |
|||
{ |
|||
\end{tikzpicture} |
|||
} |
|||
\else% |
|||
\newenvironment{tab}{% |
|||
\newcommand{\single}[2]{}% |
|||
\renewcommand{\bar}{}% |
|||
}{}% |
|||
\fi% |
|||
|
|||
%% End of tabs.sty file |
|||
\makeatother |
@ -0,0 +1,4 @@ |
|||
{ |
|||
"songs" : [ |
|||
] |
|||
} |
@ -1,5 +0,0 @@ |
|||
\begin{song}{Kilkelly, Ireland}{Em}{~}{irish traditional}{}{} |
|||
\input{fields/kilkelly.tex} |
|||
\end{song} |
|||
|
|||
\input{fields/maguires.tex} |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.3 KiB |
@ -1,25 +0,0 @@ |
|||
\begin{music} |
|||
\parindent10mm |
|||
\instrumentnumber{1} % a single instrument |
|||
\setname1{Piano} % whose name is Piano |
|||
\setstaffs1{2} % with two staffs |
|||
\generalmeter{\meterfrac44}% 4/4 meter chosen |
|||
\startextract % starting real score |
|||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en |
|||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\ql l\sk\ql n\en |
|||
\bar |
|||
\Notes\ibu0f0\qb0{dgf}|\qlp i\en |
|||
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en |
|||
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en |
|||
\endextract % terminate excerpt |
|||
\end{music} |
|||
|
|||
TODO : |
|||
Kesh Jig / Blackthorn Stick |
|||
Kerry Polka (Egan's Polka) / Britches Full Of Stitches / Finnish Polka |
|||
D\'erob\'ee de Guingamp |
|||
Morrison's Jig / Joe Cooley's Reel |
|||
Drowsy Maggie / Glasgow's Reel |
|||
Rights of Men / The Pride of Petravore |
|||
Banish Misfortune |
|||
Devil's Dream |
@ -0,0 +1,50 @@ |
|||
%Licence WTFPL |
|||
\begin{center} |
|||
\textbf{\LARGE{DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE}} |
|||
|
|||
Version 2, December 2004 |
|||
|
|||
~\\ |
|||
|
|||
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> |
|||
\end{center} |
|||
\vspace{1cm} |
|||
|
|||
%------------------------------------------------------------------------------- |
|||
\begin{lblock} |
|||
Everyone is permitted to copy and distribute verbatim or modified |
|||
copies of this license document, and changing it is allowed as long |
|||
as the name is changed. |
|||
\end{lblock} |
|||
%------------------------------------------------------------------------------- |
|||
\begin{lblock} |
|||
\centering |
|||
|
|||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
|||
|
|||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
|||
|
|||
\begin{enumerate} |
|||
\setcounter{enumi}{-1} |
|||
\item You just DO WHAT THE FUCK YOU WANT TO. |
|||
\end{enumerate} |
|||
\end{lblock} |
|||
%------------------------------------------------------------------------------- |
|||
\paragraph{Songs \LaTeX~Package} |
|||
Ce document est écrit en \LaTeX, d'après le style du projet Songs~: |
|||
\url{http://songs.sourceforge.net/} |
|||
|
|||
\paragraph{Note des auteurs} |
|||
Toutes les tablatures sont des représentations d'interprétations |
|||
personnelles et approximatives de chansons pouvant être protégées par droits |
|||
d'auteurs. Ce recueil de chansons n'a absolument aucune vocation |
|||
commerciale et joue sur l'autorisation tacite des auteurs et des |
|||
ayant-droits, pensant que la publication de ces tablatures représente |
|||
plutôt une publicité positive à leur égard. Si un auteur ou une |
|||
société accréditée pense que ces tablatures sont utilisées d'une |
|||
manière susceptible de porter atteinte à ses droits et désire |
|||
s'opposer à la publication de ses tablatures, merci de nous contacter |
|||
à \url{benjamin.coudrin+shiver@gmail.com} et celles-ci seront immédiatement |
|||
retirées. |
|||
%------------------------------------------------------------------------------- |
|||
% Fin de la Licence |
@ -0,0 +1,12 @@ |
|||
Rem build tex file from songbook file |
|||
songbook.py --songbook=%1.sb --output=%1.tex |
|||
|
|||
Rem 1st pdf compilation |
|||
pdflatex %1.tex |
|||
|
|||
Rem build indexes |
|||
songbook-makeindex.py %1_title.sxd > %1_title.sbx |
|||
songbook-makeindex.py %1_auth.sxd > %1_auth.sbx |
|||
|
|||
Rem 2nd compilation to include indexes |
|||
pdflatex %1.tex |
@ -0,0 +1,99 @@ |
|||
# Copyright (c) 2008-2010 Alexandre Dupas <alexandre.dupas@gmail.com>
|
|||
#
|
|||
# This program is free software; you can redistribute it and/or modify it
|
|||
# under the terms of the GNU General Public License as published by the
|
|||
# Free Software Foundation; either version 2, or (at your option) any later
|
|||
# version.
|
|||
#
|
|||
# This program is distributed in the hope that it will be useful, but
|
|||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|||
# for more details.
|
|||
#
|
|||
# You should have received a copy of the GNU General Public License along
|
|||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|||
#
|
|||
|
|||
SONGBOOKS := $(wildcard *.sb) |
|||
TARGETS = $(SONGBOOKS:%.sb=%) |
|||
|
|||
PDF = $(TARGETS:%=%.pdf) |
|||
|
|||
CHORDS = chords.tex |
|||
CHORDS_SRC = $(shell ls songs/*/*.sg) |
|||
|
|||
PRINT=printf "%s\n" |
|||
PRINTTAB=printf "\t%s\n" |
|||
|
|||
MAKE_SONGBOOK=./songbook.py |
|||
MAKE_INDEX=./songbook-makeindex.py |
|||
MAKE_CHORDS=./utils/songbook-gtab.py |
|||
|
|||
ifeq ($(shell which lilypond),) |
|||
LILYPOND=$(ECHO) "** lilypond not found" >&2 ; $(ECHO) lilypond |
|||
LILYFILE='' |
|||
else |
|||
LILYPOND=lilypond |
|||
LILY_SRC=$(wildcard lilypond/*.ly) |
|||
LILYFILE=$(LILY_SRC:%.ly=%.pdf) |
|||
endif |
|||
|
|||
|
|||
LATEX=pdflatex $(LATEX_OPTIONS) |
|||
|
|||
############################################################
|
|||
### Targets
|
|||
|
|||
default: songbook.pdf |
|||
|
|||
all: $(PDF) |
|||
|
|||
pdf: $(PDF) |
|||
xpdf $< |
|||
|
|||
lilypond: $(LILYFILE) |
|||
|
|||
clean: |
|||
@rm -f $(TARGETS:%=%.d) $(TARGETS:%=%.tex) $(TARGETS:%=%.aux) \
|
|||
$(TARGETS:%=%.toc) $(TARGETS:%=%.out) $(TARGETS:%=%.log) \
|
|||
$(TARGETS:%=%.nav) $(TARGETS:%=%.snm) |
|||
@rm -f *.sbx *.sxd |
|||
|
|||
cleanall: clean |
|||
@rm -f $(PDF) |
|||
@rm -f $(LILYFILE) |
|||
|
|||
depend: |
|||
|
|||
############################################################
|
|||
|
|||
|
|||
$(PDF): %.pdf: %.tex %.aux |
|||
|
|||
%.aux: %.tex |
|||
$(LATEX) $< |
|||
|
|||
%.sbx: %.sxd |
|||
$(MAKE_INDEX) $< > $@ |
|||
|
|||
%.tex: %.sb |
|||
$(MAKE_SONGBOOK) -s $< -o $@ |
|||
|
|||
%.d: %.sb |
|||
$(MAKE_SONGBOOK) -s $< -d -o $@ |
|||
|
|||
%.pdf: %.ly |
|||
@$(LILYPOND) --output=$(@:%.pdf=%) $< |
|||
@rm $(@:%.pdf=%.ps) |
|||
|
|||
$(CHORDS): $(CHORDS_SRC) |
|||
$(MAKE_CHORDS) -o $@ |
|||
|
|||
ifeq (.pdf,$(suffix $(MAKECMDGOALS))) |
|||
include $(MAKECMDGOALS:%.pdf=%.d) |
|||
else ifneq ($(MAKECMDGOALS),clean) |
|||
ifneq ($(MAKECMDGOALS),cleanall) |
|||
include $(TARGETS:%=%.d) |
|||
endif |
|||
endif |
@ -1,9 +0,0 @@ |
|||
\begin{song}{Whiskey In The Jar}{G}{~}{irish traditional}{}{} |
|||
\input{road/whiskey_in_the_jar.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Rocky Road To Dublin}{Dm}{~}{irish traditional}{}{} |
|||
\input{road/rocky_road_to_dublin.tex} |
|||
\end{song} |
|||
|
|||
\input{road/wild.tex} |
@ -1,42 +0,0 @@ |
|||
\begin{SBVerse*} |
|||
\Ch{Dm}{What} shall we do with a drunken sailor |
|||
|
|||
\Ch{C}{What} shall we do with a drunken sailor |
|||
|
|||
\Ch{Dm}{What} shall we do with a drunken sailor |
|||
|
|||
\Ch{C}{Early} in the \Ch{Dm}{mornin'} |
|||
\end{SBVerse*} |
|||
|
|||
\bigskip |
|||
|
|||
\begin{SBChorus} |
|||
\Ch{Dm}{Wey} Hey and Up she rises |
|||
|
|||
\Ch{C}{Wey} Hey and Up she rises |
|||
|
|||
\Ch{Dm}{Wey} Hey and Up she rises |
|||
|
|||
\Ch{C}{Early} in the \Ch{Dm}{mornin'} |
|||
\end{SBChorus} |
|||
|
|||
\bigskip |
|||
|
|||
Put him in the longboat till he's sober |
|||
|
|||
\bigskip |
|||
|
|||
Shave his belly with a rusty rasor |
|||
|
|||
\bigskip |
|||
|
|||
Give him a dose of salt and water |
|||
|
|||
\bigskip |
|||
|
|||
Put him in the bed with the captain's daughter |
|||
|
|||
\bigskip |
|||
|
|||
That's what we'll do with a drunken sailor |
|||
|
@ -1,32 +0,0 @@ |
|||
A moi l'forban, que m'importe la gloire,\\ |
|||
Les lois du monde, et qu'importe la mort ? \\ |
|||
Sur l'océan j'ai planté ma victoire,\\ |
|||
Et bois mon vin dans une coupe d'or. \\ |
|||
Vivre d'orgie est ma seule espérance, \\ |
|||
Le seul bonheur que j'aie pu conquérir. \\ |
|||
C'est sur les flots qu'jai passé mon enfance, \\ |
|||
C'est sur les flots qu'un forban doit mourir\\ |
|||
\bigskip |
|||
\textbf{Vin qui pétille, femme gentille, \\ |
|||
Sous tes baisers brûlants d'amour ; \\ |
|||
Plaisirs, batailles, Vive la canaille ! \\ |
|||
Je bois, je chante, et je tue tour à tour\\} |
|||
\bigskip |
|||
Peut-être qu'au mât d'une barque étrangère\\ |
|||
Mon corps, un jour, servira d'étendard\\ |
|||
Et tout mon sang rougira la galère\\ |
|||
Aujourd'hui fête et demain le hasard. \\ |
|||
Allons esclave, allons, debout mon brave,\\ |
|||
Buvons la vie et le vin à grands pots ; \\ |
|||
Aujourd'hui fête, et puis demain, peut-être \\ |
|||
Ma tête ira s'engloutir dans les flots.\\ |
|||
\bigskip |
|||
Peut-être qu'un jour, par un coup de fortune \\ |
|||
Je capturerai l'or d'un beau gallion ;\\ |
|||
Riche à pouvoir vous acheter la lune, \\ |
|||
Je m'en irai vers d'autres horizons. \\ |
|||
Là, respecté, comme un vrai gentilhomme, \\ |
|||
Moi qui ne fus qu'un forban, qu'un bandit, \\ |
|||
Je pourrai, comme le fils d'un roi, tout comme \\ |
|||
Mourir, peut-être, dedans un grand lit.\\ |
|||
\bigskip |
@ -1,79 +0,0 @@ |
|||
A moi forban que m'importe la gloire |
|||
|
|||
N\'e fils de roi et de prostitu\'ee |
|||
|
|||
Sur des cadavres j'ai chant\'e la victoire |
|||
|
|||
Et dans un cr\^ane j'ai bu la libert\'e |
|||
|
|||
Vierge craintive, toi, ma captive |
|||
|
|||
Ce soir je vais d\'evorer tes app\^ats |
|||
|
|||
Encore br\^ulant d'une autre amante |
|||
|
|||
Tes vertus vont expirer dans mes bras. |
|||
|
|||
\bigskip |
|||
|
|||
\textbf{Vin qui p\'etille, femme gentille} |
|||
|
|||
\textbf{Sous tes baisers br\^ulant d'amour, oui d'amour} |
|||
|
|||
\textbf{Plaisirs... batailles... vive la canaille} |
|||
|
|||
\textbf{Je bois, je chante et je tue tour \`a tour.} |
|||
|
|||
\bigskip |
|||
|
|||
Etant forban je vis dans ma cabine |
|||
|
|||
En m\'eprisant les lois , m\^eme la mort |
|||
|
|||
Ne vivant que de meurtre et de rapine |
|||
|
|||
Je bois mon vin dans une coupe d'or |
|||
|
|||
Vivre d'orgie est ma seule esp\'erance |
|||
|
|||
Le seul bonheur que j'ai su conqu\'erir |
|||
|
|||
car sur les flots j'ai berc\'e mon enfance |
|||
|
|||
Et sur les flots un forban doit mourir |
|||
|
|||
\bigskip |
|||
|
|||
Pendu au m\^at d'une barque \'etrang\`ere |
|||
|
|||
Mon corps un jour servira d'\'etendard |
|||
|
|||
Et tout mon sang rougira la gal\`ere |
|||
|
|||
Aujourd'hui f\^ete et demain le hasard |
|||
|
|||
Allons esclaves, debout mes braves |
|||
|
|||
Buvons l'ivresse et l'orgie \`a grands flots |
|||
|
|||
Aujourd'hui f\^ete , demain peut \^etre |
|||
|
|||
Mon corps ira s'engloutir dans les flots |
|||
|
|||
\bigskip |
|||
|
|||
Si par hasard par un coup de fortune |
|||
|
|||
Je capturais l'or d'un beau galion |
|||
|
|||
Riche \`a pouvoir d\'ecrocher la lune |
|||
|
|||
Je m'en irai vers d'autres horizons |
|||
|
|||
L\`a, v\'en\'er\'e tout comme un gentilhomme |
|||
|
|||
Moi qui ne fut qu'un forban qu'un bandit |
|||
|
|||
L\`a je pourrais peut \^etre tout comme |
|||
|
|||
Un grand roi dormir dedans un bon lit |
@ -1,80 +0,0 @@ |
|||
\begin{SBVerse*} |
|||
Twas \Ch{G}{Friday} morn when \Ch{C}{we} set \Ch{G}{sail} |
|||
|
|||
And \Ch{C}{we} were not \Ch{D7}{far} from the \Ch{G}{land} |
|||
|
|||
When the captain, he spied a \Ch{C}{lovely} \Ch{G}{mermaid} |
|||
|
|||
With a \Ch{C}comb and a \Ch{D7}{glass} in her \Ch{G}{hand} |
|||
\end{SBVerse*} |
|||
|
|||
\bigskip |
|||
|
|||
\begin{SBChorus} |
|||
O the ocean's waves will roll |
|||
|
|||
And the stormy winds will \Ch{D7}{blow} |
|||
|
|||
While \Ch{G}{we} poor sailors go \Ch{C}{skipping} to the \Ch{G}{top} |
|||
|
|||
And the \Ch{C}{landlubbers} \Ch{D7}{lie} down \Ch{G}{below} (below, below) |
|||
|
|||
And the \Ch{C}{landlubbers} \Ch{D7}{lie} down \Ch{G}{below} |
|||
\end{SBChorus} |
|||
|
|||
\bigskip |
|||
|
|||
And up spoke the captain of our gallant ship |
|||
|
|||
And a well-spoken man was he |
|||
|
|||
I have me a wife in Salem by the sea |
|||
|
|||
And tonight she a widow will be |
|||
|
|||
\bigskip |
|||
|
|||
And up spoke the cookie of our gallant ship |
|||
|
|||
And a red hot cookie was he |
|||
|
|||
Saying I care much more for my pots and my pans |
|||
|
|||
Than I do for the bottom of the sea |
|||
|
|||
\bigskip |
|||
|
|||
Then up spoke the cabinboy, of our gallant ship |
|||
|
|||
And a nasty little lad was he. |
|||
|
|||
I'm not quite sure I can spell \og mermaid \fg |
|||
|
|||
But I'm going to the bottom of the sea. |
|||
|
|||
\bigskip |
|||
|
|||
Then three times around went our gallant ship |
|||
|
|||
And three times around went she |
|||
|
|||
Three times around went our gallant ship |
|||
|
|||
And she sank to the bottom of the sea |
|||
|
|||
%%%%%%%%%%%%% A AJOUTER %%%%%%%%%%%%%%%% |
|||
%KEY G |
|||
|
|||
%verse: |
|||
%G G C C |
|||
%C D7 G |
|||
%G G C C |
|||
%C D7 G |
|||
|
|||
|
|||
%chorus: |
|||
%G G G G |
|||
%G G D7 D7 |
|||
%G G C C |
|||
%C D7 G |
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
@ -1,51 +0,0 @@ |
|||
\begin{SBChorus} |
|||
\Ch{Dm}{Quinze} marins sur le bahut du \Ch{C}{mort} |
|||
|
|||
Hop la ho ! une bouteille de \Ch{Dm}{rhum} |
|||
|
|||
A boire et l'diable avait r\'egl\'e leur \Ch{C}{sort} |
|||
|
|||
Hop la \Ch{Dm}{ho} ! une \Ch{C}{bouteille} de \Ch{Dm}{rhum} |
|||
\end{SBChorus} |
|||
|
|||
\bigskip |
|||
|
|||
\begin{SBVerse} |
|||
Long John Silver a pris le commandement |
|||
|
|||
Des marins, et vogue la gal\`ere |
|||
|
|||
Il tient ses hommes comme il tient le vent |
|||
|
|||
Tout l'monde a peur de Long John Silver. |
|||
\end{SBVerse} |
|||
|
|||
\bigskip |
|||
|
|||
C'est Bill, le second du corsaire, |
|||
|
|||
Le capitaine Flint en col\`ere |
|||
|
|||
Qu'est revenu du royaume des morts |
|||
|
|||
Pour hanter la cache au tr\'esor. |
|||
|
|||
\bigskip |
|||
|
|||
Essaye un peu de l'contrecarrer, |
|||
|
|||
Et tu iras o\`u tant d'autres sont all\'es |
|||
|
|||
Quelqu's uns aux vergues et quelqu's uns par d'sus bord |
|||
|
|||
Tout l'monde pour nourrir les poissons d'abord. |
|||
|
|||
\bigskip |
|||
|
|||
Nous finirons par danser la gigue |
|||
|
|||
La corde au cou, au quai des pendus |
|||
|
|||
Toi, John Forest, et toi, John Merigue |
|||
|
|||
Si pr\`es du gibet qu'j'en ai l'cou tordu. |
@ -1,26 +0,0 @@ |
|||
\begin{song}{Irish Rover}{G}{~}{irish traditional}{}{} |
|||
\input{sea/irish_rover.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{The Mermaid}{G}{Child Ballad 289}{traditional}{}{} |
|||
\input{sea/mermaid.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Quinze Marins (\textit{Dead Man's Chest})}{Dm}{~}{R.L. Stevenson and Y.E. Allison}{}{} |
|||
\input{sea/quinze_marins.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Drunken Sailor}{Dm}{Capstan shanty}{traditional}{}{} |
|||
\input{sea/drunken_sailor.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Le Forban (version de terre)}{C}{~}{traditionnel breton}{}{} |
|||
\input{sea/le_forban1.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Le Forban (version de mer)}{C}{~}{traditionnel breton}{}{} |
|||
\input{sea/le_forban2.tex} |
|||
\end{song} |
|||
|
|||
\input{sea/sally.tex} |
|||
\input{sea/kanak.tex} |
@ -0,0 +1,124 @@ |
|||
#!/usr/bin/python |
|||
# -*- coding: utf-8 -*- |
|||
# Generate indexes files for the Crep's chordbook compilation. This is |
|||
# a replacement for the original makeindex program written in C that |
|||
# produces an index file (.sbx) from a file generated by the latex |
|||
# compilation of the songbook (.sxd). |
|||
# |
|||
# Usage : songbook-makeindex.py src |
|||
# src is the .sxd file generated by latex |
|||
# |
|||
|
|||
import sys |
|||
import os.path |
|||
import glob |
|||
import re |
|||
from optparse import OptionParser |
|||
|
|||
# Pattern set to ignore latex command in title prefix |
|||
keywordPattern = re.compile(r"^%(\w+)\s?(\w*)") |
|||
firstLetterPattern = re.compile(r"^(?:\{?\\\w+\}?)*[^\w]*(\w)") |
|||
|
|||
class index: |
|||
data = dict() |
|||
keywords = dict() |
|||
|
|||
def filter(self, key): |
|||
letter = firstLetterPattern.match(key).group(1) |
|||
if re.match('\d',letter): |
|||
letter = '0-9' |
|||
return (letter.upper(), key) |
|||
|
|||
def keyword(self, key, word): |
|||
if not self.keywords.has_key(key): |
|||
self.keywords[key] = [] |
|||
self.keywords[key].append(word) |
|||
|
|||
def compileKeywords(self): |
|||
pass |
|||
|
|||
def add(self, key, number, link): |
|||
(first, key) = self.filter(key) |
|||
if not self.data.has_key(first): |
|||
self.data[first] = dict() |
|||
if not self.data[first].has_key(key): |
|||
self.data[first][key] = [] |
|||
self.data[first][key].append({'num':number, 'link':link}) |
|||
|
|||
def refToStr(self, ref): |
|||
if sys.version_info >= (2,6): |
|||
return '\\hyperlink{{{0[link]}}}{{{0[num]}}}'.format(ref) |
|||
else: |
|||
return '\\hyperlink{%(link)s}{%(num)s}' % ref |
|||
|
|||
def entryToStr(self, key, entry): |
|||
if sys.version_info >= (2,6): |
|||
return '\\idxentry{{{0}}}{{{1}}}\n'.format(key, '\\\\'.join(map(self.refToStr, entry))) |
|||
else: |
|||
return '\\idxentry{%s}{%s}\n' % (key, '\\\\'.join(map(self.refToStr, entry))) |
|||
|
|||
def idxBlockToStr(self, letter, entries): |
|||
str = '\\begin{idxblock}{'+letter+'}'+'\n' |
|||
for key in sorted(entries.keys()): |
|||
str += self.entryToStr(key, entries[key]) |
|||
str += '\\end{idxblock}'+'\n' |
|||
return str |
|||
|
|||
def entriesToStr(self): |
|||
str = "" |
|||
for letter in sorted(self.data.keys()): |
|||
str += self.idxBlockToStr(letter, self.data[letter]) |
|||
return str |
|||
|
|||
def processSXDEntry(tab): |
|||
return (tab[0], tab[1], tab[2]) |
|||
|
|||
def processSXD(filename): |
|||
file = open(filename) |
|||
data = [] |
|||
for line in file: |
|||
data.append(line.strip()) |
|||
file.close() |
|||
|
|||
type = data[0] |
|||
i = 1 |
|||
idx = index() |
|||
while data[i].startswith('%'): |
|||
keywords = keywordPattern.match(data[i]).groups() |
|||
idx.keyword(keywords[0],keywords[1]) |
|||
i += 1 |
|||
idx.compileKeywords() |
|||
for i in range(i,len(data),3): |
|||
entry = processSXDEntry(data[i:i+3]) |
|||
idx.add(entry[0],entry[1],entry[2]) |
|||
return idx |
|||
|
|||
def usage(exitCode=None): |
|||
print "usage: songbook-makeindex.py [options] source" |
|||
sys.exit(exitCode) |
|||
|
|||
def main(): |
|||
usage = "usage: %prog [options] FILE" |
|||
parser = OptionParser(usage) |
|||
parser.add_option("-o", "--output", dest="filename", |
|||
help="write result into FILE", metavar="FILE") |
|||
(options, args) = parser.parse_args() |
|||
|
|||
# Args processing |
|||
if len(args) != 1: |
|||
parser.error("incorrect number of arguments") |
|||
if not os.path.exists(args[0]): |
|||
parser.error("inexistant input file") |
|||
|
|||
# Options processing |
|||
if options.filename: |
|||
output = open(options.filename,"w") |
|||
else: |
|||
output = sys.stdout |
|||
|
|||
# Actual processing |
|||
idx = processSXD(args[0]) |
|||
output.write(idx.entriesToStr()) |
|||
|
|||
if __name__ == '__main__': |
|||
main() |
@ -0,0 +1,191 @@ |
|||
#!/usr/bin/python |
|||
# -*- coding: utf-8 -*- |
|||
# |
|||
|
|||
import getopt, sys |
|||
import os.path |
|||
import glob |
|||
import re |
|||
import json |
|||
|
|||
def matchRegexp(reg, iterable): |
|||
return [ m.group(1) for m in (reg.match(l) for l in iterable) if m ] |
|||
|
|||
def songslist(songs): |
|||
directories = set(["img/"] + map(lambda x: "songs/" + os.path.dirname(x), songs)) |
|||
result = ['\\graphicspath{'] + [ ' {{{0}/}},'.format(d) for d in directories ] + ['}'] + [ '\\input{{songs/{0}}}'.format(s.strip()) for s in songs ] |
|||
return '\n'.join(result) |
|||
|
|||
def parseTemplate(template): |
|||
embeddedJsonPattern = re.compile(r"^%%:") |
|||
f = open(template) |
|||
code = [ line[3:-1] for line in f if embeddedJsonPattern.match(line) ] |
|||
f.close() |
|||
data = json.loads(''.join(code)) |
|||
parameters = dict() |
|||
for param in data: |
|||
parameters[param["name"]] = param |
|||
return parameters |
|||
|
|||
def toValue(parameter, data): |
|||
if "type" not in parameter: |
|||
return data |
|||
elif parameter["type"] == "stringlist": |
|||
if "join" in parameter: |
|||
joinText = parameter["join"] |
|||
else: |
|||
joinText = '' |
|||
return joinText.join(data) |
|||
elif parameter["type"] == "color": |
|||
return data[1:] |
|||
elif parameter["type"] == "font": |
|||
return data+'pt' |
|||
elif parameter["type"] == "enum": |
|||
return data |
|||
elif parameter["type"] == "file": |
|||
return data |
|||
elif parameter["type"] == "flag": |
|||
if "join" in parameter: |
|||
joinText = parameter["join"] |
|||
else: |
|||
joinText = '' |
|||
return joinText.join(data) |
|||
|
|||
def formatDeclaration(name, parameter): |
|||
value = "" |
|||
if "default" in parameter: |
|||
value = parameter["default"] |
|||
return '\\def\\set@{name}#1{{\\def\\get{name}{{#1}}}}\n'.format(name=name) + formatDefinition(name, toValue(parameter, value)) |
|||
|
|||
def formatDefinition(name, value): |
|||
return '\\set@{name}{{{value}}}\n'.format(name=name, value=value) |
|||
|
|||
def makeTexFile(sb, output): |
|||
name = output[:-4] |
|||
|
|||
# default value |
|||
template = "patacrep.tmpl" |
|||
songs = [] |
|||
|
|||
# parse the songbook data |
|||
if "template" in sb: |
|||
template = sb["template"] |
|||
del sb["template"] |
|||
if "songs" in sb: |
|||
songs = sb["songs"] |
|||
del sb["songs"] |
|||
|
|||
parameters = parseTemplate("templates/"+template) |
|||
|
|||
# output relevant fields |
|||
out = open(output, 'w') |
|||
out.write('%% This file has been automatically generated, do not edit!\n') |
|||
out.write('\\makeatletter\n') |
|||
# output automatic parameters |
|||
out.write(formatDeclaration("name", {"default":name})) |
|||
out.write(formatDeclaration("songslist", {"type":"stringlist"})) |
|||
# output template parameter command |
|||
for name, parameter in parameters.iteritems(): |
|||
out.write(formatDeclaration(name, parameter)) |
|||
# output template parameter values |
|||
for name, value in sb.iteritems(): |
|||
if name in parameters: |
|||
out.write(formatDefinition(name, toValue(parameters[name],value))) |
|||
# output songslist |
|||
if songs == "all": |
|||
songs = map(lambda x: x[6:], glob.glob('songs/*/*.sg')) |
|||
songs.sort() |
|||
if len(songs) > 0: |
|||
out.write(formatDefinition('songslist', songslist(songs))) |
|||
out.write('\\makeatother\n') |
|||
|
|||
# output template |
|||
commentPattern = re.compile(r"^\s*%") |
|||
f = open("templates/"+template) |
|||
content = [ line for line in f if not commentPattern.match(line) ] |
|||
f.close() |
|||
out.write(''.join(content)) |
|||
out.close() |
|||
|
|||
def makeDepend(sb, output): |
|||
name = output[:-2] |
|||
|
|||
dependsPattern = re.compile(r"^[^%]*(?:include|input)\{(.*?)\}") |
|||
indexPattern = re.compile(r"^[^%]*\\(?:newauthor|new)index\{.*\}\{(.*?)\}") |
|||
lilypondPattern = re.compile(r"^[^%]*\\(?:lilypond)\{(.*?)\}") |
|||
|
|||
# check for deps (in sb data) |
|||
deps = matchRegexp(dependsPattern, [ v for v in sb.itervalues() if type(v) is not list ]) |
|||
if sb["songs"] == "all": |
|||
deps += glob.glob('songs/*/*.sg') |
|||
else: |
|||
deps += map(lambda x: "songs/" + x, sb["songs"]) |
|||
|
|||
# check for lilypond deps (in songs data) if necessary |
|||
lilypond = [] |
|||
if "bookoptions" in sb and "lilypond" in sb["bookoptions"]: |
|||
for filename in deps: |
|||
tmpl = open(filename) |
|||
lilypond += matchRegexp(lilypondPattern, tmpl) |
|||
tmpl.close() |
|||
|
|||
# check for index (in template file) |
|||
if "template" in sb: |
|||
filename = sb["template"] |
|||
else: |
|||
filename = "patacrep.tmpl" |
|||
tmpl = open("templates/"+filename) |
|||
idx = map(lambda x: x.replace("\getname", name), matchRegexp(indexPattern, tmpl)) |
|||
tmpl.close() |
|||
|
|||
# write .d file |
|||
out = open(output, 'w') |
|||
out.write('{0} {1} : {2}\n'.format(output, name+".tex", ' '.join(deps))) |
|||
out.write('{0} : {1}\n'.format(name+".pdf", ' '.join(map(lambda x: x+".sbx",idx)+map(lambda x: "lilypond/"+x+".pdf", lilypond)))) |
|||
out.write('\t$(LATEX) {0}\n'.format(name+".tex")) |
|||
out.write('{0} : {1}\n'.format(' '.join(map(lambda x: x+".sxd",idx)), name+".aux")) |
|||
out.close() |
|||
|
|||
def usage(): |
|||
print "No usage information yet." |
|||
|
|||
def main(): |
|||
try: |
|||
opts, args = getopt.getopt(sys.argv[1:], |
|||
"hs:o:d", |
|||
["help","songbook=","output=","depend"]) |
|||
except getopt.GetoptError, err: |
|||
# print help and exit |
|||
print str(err) |
|||
usage() |
|||
sys.exit(2) |
|||
|
|||
songbook = None |
|||
depend = False |
|||
output = None |
|||
|
|||
for o, a in opts: |
|||
if o in ("-h", "--help"): |
|||
usage() |
|||
sys.exit() |
|||
elif o in ("-s", "--songbook"): |
|||
songbook = a |
|||
elif o in ("-d", "--depend"): |
|||
depend = True |
|||
elif o in ("-o", "--output"): |
|||
output = a |
|||
else: |
|||
assert False, "unhandled option" |
|||
|
|||
if songbook and output: |
|||
f = open(songbook) |
|||
sb = json.load(f) |
|||
f.close() |
|||
|
|||
if depend: |
|||
makeDepend(sb, output) |
|||
else: |
|||
makeTexFile(sb, output) |
|||
|
|||
if __name__ == '__main__': |
|||
main() |
@ -0,0 +1,29 @@ |
|||
{ |
|||
"template" : "ancient.tmpl", |
|||
"author" : "Benjamin Coudrin", |
|||
"bookoptions" : [ |
|||
"lilypond" |
|||
], |
|||
"booktype" : "chorded", |
|||
"footer" : "\\begin{flushleft}Shiver Me Timbers\\end{flushleft}", |
|||
"indexbgcolor" : "#D1E4AE", |
|||
"license" : "\\input{license.tex}", |
|||
"mail" : "benjamin.coudrin@gmail.com", |
|||
"mainfontsize" : "10", |
|||
"notebgcolor" : "#FFFDB3", |
|||
"picture" : "shiver", |
|||
"picturecopyright" : "WTFPL - Do What The Fuck You Want Public License", |
|||
"songnumberbgcolor" : "#BA8D5A", |
|||
"title" : "Shiver Me Timbers", |
|||
"version" : "1.0.0", |
|||
"web" : "http://www.myspace.com/shivermetimbersofficial", |
|||
"songs" : [ |
|||
"Traditional/Irish_Rover.sg", |
|||
"Traditional/Johnny_I_Harldy_Knew_Ye_.sg", |
|||
"Traditional/Rocky_Road_To_Dublin.sg", |
|||
"Traditional/The_Furze_in_Bloom_jig_.sg", |
|||
"Traditional/The_Jug_of_Punch.sg", |
|||
"Traditional/Whiskey_In_The_Jar.sg", |
|||
"Traditional/Whiskey_You_re_the_Devil.sg" |
|||
] |
|||
} |
@ -1,16 +0,0 @@ |
|||
\item\ 1. Irish Rover\hbox {, 3} |
|||
\item\ 2. The Mermaid\hbox {, 4} |
|||
\item\ 3. Quinze Marins (\textit {Dead Man's Chest})\hbox {, 5} |
|||
\item\ 4. Drunken Sailor\hbox {, 6} |
|||
\item\ 5. Le Forban (version de terre)\hbox {, 7} |
|||
\item\ 6. Le Forban (version de mer)\hbox {, 8} |
|||
\item\ 7. Johnny I Hardly Knew Ye\hbox {, 9} |
|||
\item\ 8. Whiskey In The Jar\hbox {, 11} |
|||
\item\ 9. Rocky Road To Dublin\hbox {, 12} |
|||
\item\ 10. Dirty Old Town\hbox {, 15} |
|||
\item\ 11. Dans les prisons de Nantes\hbox {, 16} |
|||
\item\ 12. Eileen Og\hbox {, 17} |
|||
\item\ 13. The Leprechaun\hbox {, 19} |
|||
\item\ 14. Kilkelly, Ireland\hbox {, 20} |
|||
\item\ 15. The Jug of Punch\hbox {, 21} |
|||
\item\ 16. Whiskey You're The Devil\hbox {, 22} |
@ -1,121 +1,77 @@ |
|||
\begin{SBVerse*} |
|||
On the \Ch{G}{Fourth} of July, \Ch{C}{1806} |
|||
|
|||
We set \Ch{G}{sail} from the sweet Cobh of \Ch{D}{Cork} |
|||
|
|||
We were \Ch{G}{sailing} away with a \Ch{C}{cargo} of bricks |
|||
|
|||
For the \Ch{G}{Grand} City \Ch{D}{Hall} in New \Ch{G}{York} |
|||
|
|||
'Twas a \Ch{G}{wonderful} craft, She was \Ch{D}{rigged} fore and aft |
|||
|
|||
And \Ch{G}{oh}, how the wild wind \Ch{D}{drove} her |
|||
|
|||
She stood \Ch{G}{several} blasts, She had \Ch{C}{twenty} seven masts |
|||
|
|||
And they \Ch{G}{called} her The \Ch{D}{Irish} \Ch{G}{Rover} |
|||
\end{SBVerse*} |
|||
|
|||
\bigskip |
|||
|
|||
\bigskip |
|||
|
|||
\bigskip |
|||
|
|||
We had one million bags of the best Sligo rags |
|||
|
|||
We had two million barrels of stones |
|||
|
|||
We had three million sides of old blind horses hides' |
|||
|
|||
We had four million barrels of bones |
|||
|
|||
We had five million hogs, six million dogs |
|||
|
|||
Seven million barrels of porter |
|||
|
|||
We had eight million barrels of old nanny goate tails |
|||
|
|||
In the hold of the Irish Rover |
|||
|
|||
\bigskip |
|||
|
|||
\bigskip |
|||
|
|||
There was awl Mickey Coote who played hard on his flute |
|||
|
|||
And the ladies lined up for a set |
|||
|
|||
He would tootle with skill for each sparkling quadrille |
|||
|
|||
Though the dancers were fluther'd and bet |
|||
|
|||
With his smart witty talk, he was cock of the walk |
|||
|
|||
As he rolled the dames under and over |
|||
|
|||
They all knew at a glance when he took up his stance |
|||
|
|||
That he sailed in The Irish Rover |
|||
|
|||
\bigskip |
|||
|
|||
\bigskip |
|||
|
|||
\bigskip |
|||
|
|||
There was Barney McGee from the banks of the Lee |
|||
|
|||
There was Hogan from County Tyrone |
|||
|
|||
There was Johnny McGurk who was scared stiff of work |
|||
|
|||
And a man from Westmeath called Malone |
|||
|
|||
There was Slugger O'Toole, who was drunk as a rule |
|||
|
|||
And Fighting Bill Tracy from Dover |
|||
|
|||
And your man, Mick McCann, from the banks of the Bann |
|||
|
|||
Was the skipper of the Irish Rover |
|||
|
|||
\bigskip |
|||
|
|||
\bigskip |
|||
|
|||
For a sailor its' always a bother in life |
|||
|
|||
It's so lonesome by night and by day |
|||
|
|||
That he longs for the shore and a charming young whore |
|||
|
|||
Who will melt all his troubles away |
|||
|
|||
Oh, the noise and the rout swillin' poiteen and stout |
|||
|
|||
For him soon the torment's over |
|||
|
|||
Of the love of a maid he is never afraid |
|||
|
|||
An old salt from the Irish Rover |
|||
|
|||
\bigskip |
|||
|
|||
\bigskip |
|||
|
|||
We had sailed seven years when the measles broke out |
|||
|
|||
And the ship lost its way in the fog |
|||
|
|||
And that whale of a crew was reduced down to two |
|||
|
|||
Just myself and the Captain's old dog |
|||
|
|||
Then the ship struck a rock. Oh Lord! what a shock |
|||
|
|||
The bulkhead was turned right over |
|||
|
|||
Turned nine times around and the poor old dog was drowned |
|||
|
|||
I'm the last of The Irish Rover |
|||
\selectlanguage{english} |
|||
\songcolumns{2} |
|||
\beginsong{Irish Rover}[by=Traditional] |
|||
|
|||
\beginverse |
|||
On the \[Sol]Fourth of July, \[Do]1806 |
|||
We set \[Sol]sail from the sweet Cobh of \[Ré]Cork |
|||
We were \[Sol]sailing away with a \[Do]cargo of bricks |
|||
For the \[Sol]Grand City \[Ré]Hall in New \[Sol]York |
|||
|
|||
'Twas a \[Sol]wonderful craft, She was \[Ré]rigged 'fore and aft' |
|||
And \[Sol]oh, how the wild wind \[Ré]drove her |
|||
She stood \[Sol]several blasts, She had \[Do]twenty seven masts |
|||
And they \[Sol]called her The \[Ré]Irish \[Sol]Rover |
|||
\endverse |
|||
|
|||
\beginverse |
|||
We had one million bags of the best Sligo rags |
|||
We had two million barrels of stones |
|||
We had three million sides of old blind horses hides' |
|||
We had four million barrels of bones |
|||
|
|||
We had five million hogs, six million dogs |
|||
Seven million barrels of porter |
|||
We had eight million barrels of old nanny goate tails |
|||
In the hold of the Irish Rover |
|||
\endverse |
|||
|
|||
\beginverse |
|||
There was awl Mickey Coote who played hard on his flute |
|||
And the ladies lined up for a set |
|||
He would tootle with skill for each sparkling quadrille |
|||
Though the dancers were fluther'd and bet |
|||
|
|||
With his smart witty talk, he was cock of the walk |
|||
As he rolled the dames under and over |
|||
They all knew at a glance when he took up his stance |
|||
That he sailed in The Irish Rover |
|||
\endverse |
|||
|
|||
\beginverse |
|||
There was Barney McGee from the banks of the Lee |
|||
There was Hogan from County Tyrone |
|||
There was Johnny McGurk who was scared stiff of work |
|||
And a man from Westmeath called Malone |
|||
|
|||
There was Slugger O'Toole, who was drunk as a rule |
|||
And Fighting Bill Tracy from Dover |
|||
And your man, Mick McCann, from the banks of the Bann |
|||
Was the skipper of the Irish Rover |
|||
\endverse |
|||
|
|||
\beginverse |
|||
For a sailor its' always a bother in life |
|||
It's so lonesome by night and by day |
|||
That he longs for the shore and a charming young whore |
|||
Who will melt all his troubles away |
|||
|
|||
Oh, the noise and the rout swillin' poiteen and stout |
|||
For him soon the torment's over |
|||
Of the love of a maid he is never afraid |
|||
An old salt from the Irish Rover |
|||
\endverse |
|||
|
|||
\beginverse |
|||
We had sailed seven years when the measles broke out |
|||
And the ship lost its way in the fog |
|||
And that whale of a crew was reduced down to two |
|||
Just myself and the Captain's old dog |
|||
|
|||
Then the ship struck a rock. Oh Lord! what a shock |
|||
The bulkhead was turned right over |
|||
Turned nine times around and the poor old dog was drowned |
|||
I'm the last of The Irish Rover |
|||
\endverse |
|||
|
|||
\endsong |
@ -1,76 +1,54 @@ |
|||
\begin{SBVerse*} |
|||
While \Ch{Em}{goin'} the road to sweet Athy, \Ch{G}{Hurroo!} Hurroo ! |
|||
|
|||
While \Ch{Em}{goin'} the road to sweet Athy, \Ch{G}{Hurroo} ! \Ch{B7}{Hurroo} ! |
|||
|
|||
While \Ch{Em}{goin'} the road to \Ch{Am}{sweet} Athy, |
|||
|
|||
A \Ch{G}{stick} in the hand and a \Ch{B7}{drop} in the eye |
|||
|
|||
A \Ch{Em}{dole}ful \Ch{Am}{damsel} \Ch{G}{I} heard \Ch{B7}{cry}, |
|||
|
|||
\Ch{Em}{Johnny} I \Ch{D}{hardly} \Ch{Em}{knew} ye ! |
|||
\end{SBVerse*} |
|||
|
|||
\bigskip |
|||
|
|||
\begin{SBChorus} |
|||
With your drums and guns and drums and guns, Hurroo ! Hurroo ! (bis) |
|||
|
|||
With your drums and guns and drums and guns, |
|||
|
|||
The enemy nearly slew ye |
|||
|
|||
Oh me darling dear, Ye look so queer |
|||
|
|||
Johnny I hardly knew ye |
|||
\end{SBChorus} |
|||
|
|||
\bigskip |
|||
|
|||
Where are the eyes that look so mild, Hurroo ! Hurroo ! (bis) |
|||
|
|||
Where are the eyes that look so mild |
|||
|
|||
When my poor heart you so beguiled |
|||
|
|||
Why did ye skedaddle from me and the child |
|||
|
|||
Oh Johnny, I hardly knew ye. |
|||
|
|||
\bigskip |
|||
|
|||
Where are the legs with which ye run, Hurroo ! Hurroo ! (bis) |
|||
|
|||
Where are the legs with which ye run |
|||
|
|||
When ye went for to carry a gun |
|||
|
|||
Indeed your dancing days are done |
|||
|
|||
Oh Johnny, I hardly knew ye. |
|||
|
|||
\bigskip |
|||
|
|||
Ye haven't an arm, Ye haven't a leg, Hurroo ! Hurroo ! (bis) |
|||
|
|||
Ye haven't an arm, ye haven't a leg |
|||
|
|||
Ye're an armless, boneless, chickenless egg |
|||
|
|||
Ye'll have to be put in a bowl to beg |
|||
|
|||
Oh Johnny I hardly knew ye. |
|||
|
|||
\bigskip |
|||
|
|||
I'm happy for to see ye home, Hurroo ! Hurroo ! (bis) |
|||
|
|||
I'm happy for to see ye home |
|||
|
|||
All from the island of Sulloon |
|||
|
|||
So low in flesh, so high in bone |
|||
|
|||
Oh Johnny I hardly knew ye. |
|||
|
|||
\selectlanguage{english} |
|||
\songcolumns{2} |
|||
\beginsong{Johnny, I Harldy Knew Ye !}[by=Traditional] |
|||
|
|||
\beginverse |
|||
While \[Mim]goin' the road to sweet Athy, \[Sol]Hurroo! Hurroo ! |
|||
While \[Mim]goin' the road to sweet Athy, \[Sol]Hurroo! \[Si7]Hurroo ! |
|||
While \[Mim]goin' the road to \[Lam]sweet Athy, |
|||
A \[Sol]stick in the hand and a \[Si7]drop in the eye |
|||
A \[Mim]doleful \[Lam]damsel \[Sol]I heard \[Si7]cry, |
|||
\[Mim]Johnny I \[Ré]hardly \[Mim]knew ye ! |
|||
\endverse |
|||
|
|||
\beginchorus |
|||
With your drums and guns and drums and guns, Hurroo ! Hurroo ! (bis) |
|||
With your drums and guns and drums and guns, |
|||
The enemy nearly slew ye |
|||
Oh me darling dear, Ye look so queer |
|||
Johnny I hardly knew ye |
|||
\endchorus |
|||
|
|||
\beginverse |
|||
Where are the eyes that look so mild, Hurroo ! Hurroo ! (bis) |
|||
Where are the eyes that look so mild |
|||
When my poor heart you so beguiled |
|||
Why did ye skedaddle from me and the child |
|||
Oh Johnny, I hardly knew ye. |
|||
\endverse |
|||
|
|||
\beginverse |
|||
Where are the legs with which ye run, Hurroo ! Hurroo ! (bis) |
|||
Where are the legs with which ye run |
|||
When ye went for to carry a gun |
|||
Indeed your dancing days are done |
|||
Oh Johnny, I hardly knew ye. |
|||
\endverse |
|||
|
|||
\beginverse |
|||
Ye haven't an arm, Ye haven't a leg, Hurroo ! Hurroo ! (bis) |
|||
Ye haven't an arm, ye haven't a leg |
|||
Ye're an armless, boneless, chickenless egg |
|||
Ye'll have to be put in a bowl to beg |
|||
Oh Johnny I hardly knew ye. |
|||
\endverse |
|||
|
|||
\beginverse |
|||
I'm happy for to see ye home, Hurroo ! Hurroo ! (bis) |
|||
I'm happy for to see ye home |
|||
All from the island of Sulloon |
|||
So low in flesh, so high in bone |
|||
Oh Johnny I hardly knew ye. |
|||
\endverse |
|||
|
|||
\endsong |
@ -1,117 +1,68 @@ |
|||
In the merry month of May, From my home I started, |
|||
|
|||
Left the girls of Tuam, Nearly broken hearted, |
|||
|
|||
Saluted father dear, Kissed my darlin' mother, |
|||
|
|||
Drank a pint of beer, My grief and tears to smother, |
|||
|
|||
Then off to reap the corn, And leave where I was born, |
|||
|
|||
I cut a stout blackthorn, To banish ghost and goblin, |
|||
|
|||
In a brand new pair of brogues, I rattled o'er the bogs, |
|||
|
|||
And frightened all the dogs,On the rocky road to Dublin. |
|||
|
|||
\bigskip |
|||
|
|||
\textbf{One, two, three, four five,} |
|||
|
|||
\textbf{Hunt the hare and turn her} |
|||
|
|||
\textbf{Down the rocky road} |
|||
|
|||
\textbf{And all the ways to Dublin,} |
|||
|
|||
\textbf{Whack-fol-lol-de-ra.} |
|||
|
|||
\bigskip |
|||
|
|||
In Mullingar that night, I rested limbs so weary, |
|||
|
|||
Started by daylight, Next mornin' light and airy, |
|||
|
|||
Took a drop of the pure, To keep my heart from sinkin', |
|||
|
|||
That's an Irishman's cure, Whene'er he's on for drinking. |
|||
|
|||
To see the lasses smile, Laughing all the while, |
|||
|
|||
At my curious style, 'Twould set your heart a-bubblin'. |
|||
|
|||
They ax'd if I was hired, The wages I required, |
|||
|
|||
Till I was almost tired, Of the rocky road to Dublin. |
|||
|
|||
\bigskip |
|||
|
|||
In Dublin next arrived, I thought it such a pity, |
|||
|
|||
To be so soon deprived, A view of that fine city. |
|||
|
|||
Then I took a stroll, All among the quality, |
|||
|
|||
My bundle it was stole, In a neat locality; |
|||
|
|||
Something crossed my mind, Then I looked behind; |
|||
|
|||
No bundle could I find, Upon my stick a wobblin'. |
|||
|
|||
Enquirin' for the rogue, They said my Connacht brogue, |
|||
|
|||
Wasn't much in vogue, On the rocky road to Dublin. |
|||
|
|||
\bigskip |
|||
|
|||
From there I got away, My spirits never failin' |
|||
|
|||
Landed on the quay As the ship was sailin'; |
|||
|
|||
Captain at me roared, Said that no room had he, |
|||
|
|||
When I jumped aboard, A cabin found for Paddy, |
|||
|
|||
Down among the pigs I played some funny rigs, |
|||
|
|||
Danced some hearty jigs, The water round me bubblin', |
|||
|
|||
When off Holyhead, I wished myself was dead, |
|||
|
|||
Or better far instead, On the rocky road to Dublin. |
|||
|
|||
\bigskip |
|||
|
|||
The boys of Liverpool, When we safely landed, |
|||
|
|||
Called myself a fool; I could no longer stand it; |
|||
|
|||
Blood began to boil, Temper I was losin', |
|||
|
|||
Poor ould Erin's isle They began abusin', |
|||
|
|||
\og Hurrah my soul \fg , sez I, My shillelagh I let fly; |
|||
|
|||
Some Galway boys were by, Saw I was a hobble in, |
|||
|
|||
Then with a loud hurray, They joined in the affray. |
|||
|
|||
We quickly cleared the way, For the rocky road to Dublin. |
|||
|
|||
%KEY Dm \\ |
|||
|
|||
%verse:\\ |
|||
%Dm C \\ |
|||
%Dm C\\ |
|||
%Dm C\\ |
|||
%Dm C\\ |
|||
%Dm F Dm F\\ |
|||
%Dm F Dm \\ |
|||
%Dm F Dm F\\ |
|||
%Dm C \\ |
|||
|
|||
%chorus: C Dm\\ |
|||
%Dm \\ |
|||
%Dm\\ |
|||
%C\\ |
|||
%Dm \\ |
|||
\selectlanguage{english} |
|||
\songcolumns{2} |
|||
\beginsong{Rocky Road To Dublin}[by=Traditional] |
|||
|
|||
\beginverse |
|||
In the \[Rém]merry \[Do]month of \[Rém]May, From my home I started, |
|||
Left the \[Do]girls of \[Rém]Tuam, Nearly \[Do]broken hearted, |
|||
\[Rém]Saluted \[Do]father \[Rém]dear, Kissed my darlin' mother, |
|||
Drank a \[Do]pint of \[Rém]beer, My grief and \[Do]tears to smother, |
|||
Then \[Rém]off to reap the \[Do]corn, And \[Rém]leave where I was \[Do]born, |
|||
I \[Rém]cut a stout \[Do]blackthorn, To banish ghost and goblin, |
|||
In a \[Rém]brand new pair of \[Do]brogues, I \[Rém]rattled o'er the \[Do]bogs, |
|||
And \[Rém]frightened all the \[Do]dogs, On the rocky road to Dublin. |
|||
\endverse |
|||
|
|||
\beginchorus |
|||
\[Lam]One, two, \[Do]three, four \[Rém]five, |
|||
Hunt the hare and turn her |
|||
Down the rocky road |
|||
And all the \[Do]ways to Dublin, |
|||
\[Am]Whack-fol-\[Do]lol-de-\[Rém]ra. |
|||
\endchorus |
|||
|
|||
\beginverse |
|||
In Mullingar that night, I rested limbs so weary, |
|||
Started by daylight, Next mornin' light and airy, |
|||
Took a drop of the pure, To keep my heart from sinkin', |
|||
That's an Irishman's cure, Whene'er he's on for drinking. |
|||
To see the lasses smile, Laughing all the while, |
|||
At my curious style, 'Twould set your heart a-bubblin'. |
|||
They ax'd if I was hired, The wages I required, |
|||
Till I was almost tired, Of the rocky road to Dublin. |
|||
\endverse |
|||
|
|||
\beginverse |
|||
In Dublin next arrived, I thought it such a pity, |
|||
To be so soon deprived, A view of that fine city. |
|||
Then I took a stroll, All among the quality, |
|||
My bundle it was stole, In a neat locality; |
|||
Something crossed my mind, Then I looked behind; |
|||
No bundle could I find, Upon my stick a wobblin'. |
|||
Enquirin' for the rogue, They said my Connacht brogue, |
|||
Wasn't much in vogue, On the rocky road to Dublin. |
|||
\endverse |
|||
|
|||
\beginverse |
|||
From there I got away, My spirits never failin' |
|||
Landed on the quay As the ship was sailin'; |
|||
Captain at me roared, Said that no room had he, |
|||
When I jumped aboard, A cabin found for Paddy, |
|||
Down among the pigs I played some funny rigs, |
|||
Danced some hearty jigs, The water round me bubblin', |
|||
When off Holyhead, I wished myself was dead, |
|||
Or better far instead, On the rocky road to Dublin. |
|||
\endverse |
|||
|
|||
\beginverse |
|||
The boys of Liverpool, When we safely landed, |
|||
Called myself a fool; I could no longer stand it; |
|||
Blood began to boil, Temper I was losin', |
|||
Poor ould Erin's isle They began abusin', |
|||
\og Hurrah my soul \fg , sez I, My shillelagh I let fly; |
|||
Some Galway boys were by, Saw I was a hobble in, |
|||
Then with a loud hurray, They joined in the affray. |
|||
We quickly cleared the way, For the rocky road to Dublin. |
|||
\endverse |
|||
|
|||
\endsong |
@ -0,0 +1,7 @@ |
|||
\selectlanguage{english} |
|||
\songcolumns{2} |
|||
\beginsong{The Furze in Bloom (jig)}[by=Traditional] |
|||
|
|||
\lilypond{The_furze_in_bloom} |
|||
|
|||
\endsong |
@ -1,87 +1,65 @@ |
|||
One pleasent evening in the month of June, |
|||
|
|||
As I was sleeping in my room, |
|||
|
|||
A small bird sat on an ivy bunch, |
|||
|
|||
And the song he sang was The Jug Of Punch. |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{A small bird sang on an ivy bunch,} |
|||
|
|||
\textbf{And the song he sang was the jug of punch.} |
|||
|
|||
\bigskip |
|||
|
|||
What more diveration can a man desire, |
|||
|
|||
Than to sit him by an alehouse fire, |
|||
|
|||
Upon his knee a pritty wench, |
|||
|
|||
And on the table a jug of punch. |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Upon his knee a pritty wench,} |
|||
|
|||
\textbf{And on the table a jug of punch.} |
|||
|
|||
\bigskip |
|||
|
|||
Let the doctors come with all their art |
|||
|
|||
They'll make no impression upon me heart |
|||
|
|||
Even the cripple forgets his hunch |
|||
|
|||
When he's snug outside of a jug of punch |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Even the cripple forgets his hunch} |
|||
|
|||
\textbf{When he's snug outside of a jug of punch.} |
|||
|
|||
\bigskip |
|||
|
|||
If I get drunk, well, me money's me own, |
|||
|
|||
And them don't like me, they can leave me alone; |
|||
|
|||
I'll tune me fiddle and I'll rosin me bow |
|||
|
|||
And I'll be welcome wherever I go. |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{I'll tune me fiddle and I'll rosin me bow} |
|||
|
|||
\textbf{And I'll be welcome wherever I go.} |
|||
|
|||
\bigskip |
|||
|
|||
And when I'm dead and I'm in me grave |
|||
|
|||
No costly tombstone will I crave. |
|||
|
|||
Lay me down by me native peat, |
|||
|
|||
With a jug of punch at me head and feet. |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
|
|||
\textbf{Lay me down by me native peat,} |
|||
|
|||
\textbf{With a jug of punch at me head and feet.} |
|||
\selectlanguage{english} |
|||
\songcolumns{2} |
|||
\beginsong{The Jug of Punch}[by=Traditional] |
|||
|
|||
\beginverse |
|||
One \[Ré]pleasent evening in the month of June, |
|||
As \[La]I was sleeping \[Ré]in my room, |
|||
A small bird sat on an \[Sol]ivy \[La]bunch, |
|||
And the \[Ré]song he \[Sol]sang was The \[La7]Jug Of \[Ré]Punch. |
|||
|
|||
\textbf{Too-ra \[Ré]loo-ra loo, too-ra \[Mim]loo-ra lay,} |
|||
\textbf{Too-ra \[La]loo-ra loo, too-ra \[Ré]loo-ra lay,} |
|||
\textbf{A small bird sat on an \[Sol]ivy \[La]bunch,} |
|||
\textbf{And the \[Ré]song he \[Sol]sang was the \[La7]jug of \[Ré]punch.} |
|||
\endverse |
|||
|
|||
\beginverse |
|||
What more diveration can a man desire, |
|||
Than to sit him by an alehouse fire, |
|||
Upon his knee a pritty wench, |
|||
And on the table a jug of punch. |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{Upon his knee a pritty wench,} |
|||
\textbf{And on the table a jug of punch.} |
|||
\endverse |
|||
|
|||
\beginverse |
|||
Let the doctors come with all their art |
|||
They'll make no impression upon me heart |
|||
Even the cripple forgets his hunch |
|||
When he's snug outside of a jug of punch |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{Even the cripple forgets his hunch} |
|||
\textbf{When he's snug outside of a jug of punch.} |
|||
\endverse |
|||
|
|||
\beginverse |
|||
If I get drunk, well, me money's me own, |
|||
And them don't like me, they can leave me alone; |
|||
I'll tune me fiddle and I'll rosin me bow |
|||
And I'll be welcome wherever I go. |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{I'll tune me fiddle and I'll rosin me bow} |
|||
\textbf{And I'll be welcome wherever I go.} |
|||
\endverse |
|||
|
|||
\beginverse |
|||
And when I'm dead and I'm in me grave |
|||
No costly tombstone will I crave. |
|||
Lay me down by me native peat, |
|||
With a jug of punch at me head and feet. |
|||
|
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{Too-ra loo-ra loo, too-ra loo-ra lay,} |
|||
\textbf{Lay me down by me native peat,} |
|||
\textbf{With a jug of punch at me head and feet.} |
|||
\endverse |
|||
|
|||
\endsong |
@ -1,55 +1,47 @@ |
|||
As I was a goin' over the far famed Kerry mountains |
|||
|
|||
I met with captain Farrell and his money he was counting |
|||
|
|||
I first produced me pistol and then produced me rapier |
|||
|
|||
Saying "Stand and deliver" for I am a bold deceiver |
|||
|
|||
\bigskip |
|||
|
|||
\textbf{Musha ring dumma do damma da} |
|||
|
|||
\textbf{whack fol' the daddy 'ol (bis)} |
|||
|
|||
\textbf{there's whiskey in the jar} |
|||
|
|||
\bigskip |
|||
|
|||
I counted out his money and it made a pretty penny |
|||
|
|||
I put it in me pocket and I took it home to Jenny |
|||
|
|||
She said and she swore that she never would deceive me |
|||
|
|||
But the devil take the women for they never can be easy |
|||
|
|||
\bigskip |
|||
|
|||
I went up in my chamber, all for to take a slumber |
|||
|
|||
I dreamt of gold and jewels and for sure 't was no wonder |
|||
|
|||
But Jenny drew my charges and she filled them up with water |
|||
|
|||
And sent for captain Farrell to be ready for the slaughter |
|||
|
|||
\bigskip |
|||
|
|||
't was early in the morning, as I rose to travel |
|||
|
|||
The guards were all around me likewise captain Farrell |
|||
|
|||
I first produced me pistol for she stole away me rapier |
|||
|
|||
I couldn't shoot the water, so a prisoner I was taken |
|||
|
|||
\bigskip |
|||
|
|||
If anyone can aid me it's my brother in the army |
|||
|
|||
If I knew his station down in Cork or in Killarney |
|||
|
|||
And if he'll come and join me, we'll go rovin' near Killkenny |
|||
|
|||
And sure he'll treat me better than this fuckin' cunt of Jenny |
|||
\selectlanguage{english} |
|||
\songcolumns{2} |
|||
\beginsong{Whiskey In The Jar}[by=Traditional] |
|||
|
|||
\beginverse |
|||
As \[Sol]I was a goin' over the \[Mim]far famed Kerry mountains |
|||
I \[Do]met with captain Farrell and his \[Sol]money he was counting |
|||
I first produced me pistol and \[Mim]then produced me rapier |
|||
Saying \[Do]"Stand and deliver" for I \[Sol]am a bold deceiver |
|||
\endverse |
|||
|
|||
\beginchorus |
|||
Musha \[Ré]ring dumma do damma da |
|||
\[Sol] whack fol' the daddy 'ol |
|||
\[Do] whack fol' the daddy 'ol |
|||
there's \[Ré]whiskey \[Sol]in the \[Ré]jar |
|||
\endchorus |
|||
|
|||
\beginverse |
|||
I counted out his money and it made a pretty penny |
|||
I put it in me pocket and I took it home to Jenny |
|||
She said and she swore that she never would deceive me |
|||
But the devil take the women for they never can be easy |
|||
\endverse |
|||
|
|||
\beginverse |
|||
I went up in my chamber, all for to take a slumber |
|||
I dreamt of gold and jewels and for sure 't was no wonder |
|||
But Jenny drew my charges and she filled them up with water |
|||
And sent for captain Farrell to be ready for the slaughter |
|||
\endverse |
|||
|
|||
\beginverse |
|||
't was early in the morning, as I rose to travel |
|||
The guards were all around me likewise captain Farrell |
|||
I first produced me pistol for she stole away me rapier |
|||
I couldn't shoot the water, so a prisoner I was taken |
|||
\endverse |
|||
|
|||
\beginverse |
|||
If anyone can aid me it's my brother in the army |
|||
If I knew his station down in Cork or in Killarney |
|||
And if he'll come and join me, we'll go rovin' near Killkenny |
|||
And sure he'll treat me better than this fuckin' cunt of Jenny |
|||
\endverse |
|||
|
|||
\endsong |
@ -0,0 +1,45 @@ |
|||
\selectlanguage{english} |
|||
\songcolumns{2} |
|||
\beginsong{Whiskey, You're the Devil}[by=Traditional] |
|||
|
|||
\beginchorus |
|||
Oh, \[Sol]whiskey you're the devil, You're \[Do]leading me \[Sol]astray |
|||
O'er hills and mountains and to \[Ré]Americae |
|||
You're \[Sol]sweeter, stronger, decenter, You're \[Do]spunkier than \[Sol]tea |
|||
Oh, \[Sol]whiskey you're me darling drunk or \[Ré]so\[Sol]ber |
|||
\endchorus |
|||
|
|||
\beginverse |
|||
Now \[Sol]brave boys, we're on the march |
|||
\[Ré]Off to Portu\[Do]gal and Spain |
|||
\[Sol]Drums a'beating, banners a'waving |
|||
\[Do]Devil a'home will \[Ré]come tonight |
|||
Lo' fare thee well With me thitery doodelum the \[Ré]da |
|||
Me \[Lam]thitery doodelum the \[Do]da |
|||
Me \[Sol]right fol' tur-a laddie-o |
|||
There's \[Ré]whiskey in the \[Sol]jar |
|||
\endverse |
|||
|
|||
\beginverse |
|||
The French are fighting boldly |
|||
Men are dying hot and coldly |
|||
Give every man his flask of powder |
|||
His firelock on his shoulder |
|||
Lo' fare thee well With me thitery doodelum the da |
|||
Me thitery doodelum the da |
|||
Me right fol' tur-a laddie-o |
|||
There's whiskey in the jar |
|||
\endverse |
|||
|
|||
\beginverse |
|||
Says the mother : \og Do not wrong me |
|||
Don't take me daughter from me |
|||
For if you do I will torment you |
|||
And after death me ghost will haunt you \fg |
|||
We're off, fare thee well With me thitery doodelum the da |
|||
Me thitery doodelum the da |
|||
Me right fol' tur-a laddie-o |
|||
There's whiskey in the jar |
|||
\endverse |
|||
|
|||
\endsong |
@ -0,0 +1,96 @@ |
|||
% Copyright (C) 2011 Benjamin Coudrin |
|||
% Copyright (C) 2009-2010 Romain Goffe, Alexandre Dupas |
|||
% Copyright (C) 2008 Kevin W. Hamlen |
|||
% |
|||
% This program is free software; you can redistribute it and/or |
|||
% modify it under the terms of the GNU General Public License |
|||
% as published by the Free Software Foundation; either version 2 |
|||
% of the License, or (at your option) any later version. |
|||
% |
|||
% This program is distributed in the hope that it will be useful, |
|||
% but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
% GNU General Public License for more details. |
|||
% |
|||
% You should have received a copy of the GNU General Public License |
|||
% along with this program; if not, write to the Free Software |
|||
% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|||
% MA 02110-1301, USA. |
|||
% |
|||
% The latest version of this program can be obtained from |
|||
% http://songs.sourceforge.net. |
|||
% |
|||
% Modified to serve personnal purposes. Newer versions can be |
|||
% obtained from http://www.lohrun.net. |
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|||
% Template parameters |
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|||
%%:[ |
|||
%%: {"name":"title", "description":"Title", "default":"Shiver Me Timbers", "mandatory":true}, |
|||
%%: {"name":"author", "description":"Author", "default":"Benjamin Coudrin", "mandatory":true}, |
|||
%%: {"name":"booktype", "description":"Type", "type":"enum", "values":["chorded","lyric"], "default":"chorded", "mandatory":true}, |
|||
%%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","lilypond","pictures","tabs"], "join":",", "mandatory":true, "default":["lilypond"]}, |
|||
%%: {"name":"version", "description":"Version", "default":"1.0.0"}, |
|||
%%: {"name":"subtitle", "description":"Songs from the Book"}, |
|||
%%: {"name":"web", "description":"Web", "default":"http://www.myspace.com/shivermetimbersofficial"}, |
|||
%%: {"name":"mail", "description":"Email", "default":"benjamin.coudrin@gmail.com"}, |
|||
%%: {"name":"picture", "description":"Picture", "type":"file", "default":"shiver"}, |
|||
%%: {"name":"picturecopyright", "description":"Copyright", "default":"WTFPL - Do What The Fuck You Want Public License"}, |
|||
%%: {"name":"footer", "description":"Footer", "default":"\\begin{flushleft}Shiver Me Timbers\\end{flushleft}"}, |
|||
%%: {"name":"license", "description":"License", "default":"\\input{license.tex}"}, |
|||
%%: {"name":"mainfontsize", "description":"Font Size", "type":"font", "default":"10"}, |
|||
%%: {"name":"songnumberbgcolor", "description":"Number Shade", "type":"color", "default":"#D1E4AE"}, |
|||
%%: {"name":"notebgcolor", "description":"Note Shade", "type":"color", "default":"#FFFDB3"}, |
|||
%%: {"name":"indexbgcolor", "description":"Index Shade", "type":"color", "default":"#D1E4AE"} |
|||
%%:] |
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|||
% begin document |
|||
\documentclass[\getbooktype,\getbookoptions,\getmainfontsize]{crepbook} |
|||
\usepackage[utf8]{inputenc} |
|||
\usepackage[english,spanish,french]{babel} |
|||
\usepackage[T1]{fontenc} |
|||
\usepackage{tex/venturisold} |
|||
|
|||
\title{\gettitle} |
|||
\author{\getauthor} |
|||
\subtitle{\getsubtitle} |
|||
\version{\getversion} |
|||
\mail{\getmail} |
|||
\web{\getweb} |
|||
\picture{\getpicture} |
|||
\picturecopyright{\getpicturecopyright} |
|||
\footer{\getfooter} |
|||
\licence{\getlicense} |
|||
|
|||
\newindex{titleidx}{\getname_title} |
|||
\newauthorindex{authidx}{\getname_auth} |
|||
|
|||
\graphicspath{ |
|||
{img/}, |
|||
} |
|||
|
|||
\definecolor{SongNumberBgColor}{HTML}{\getsongnumberbgcolor} |
|||
\definecolor{NoteBgColor}{HTML}{\getnotebgcolor} |
|||
\definecolor{IndexBgColor}{HTML}{\getindexbgcolor} |
|||
|
|||
\renewcommand{\snumbgcolor}{SongNumberBgColor} |
|||
\renewcommand{\notebgcolor}{NoteBgColor} |
|||
\renewcommand{\idxbgcolor}{IndexBgColor} |
|||
|
|||
\renewcommand{\printchord}[1]{\mdseries\ttfamily\upshape#1} |
|||
\pagestyle{empty} |
|||
|
|||
\begin{document} |
|||
|
|||
\maketitle |
|||
|
|||
\showindex{Index des chansons}{titleidx} |
|||
|
|||
\songsection{Liste des chansons} |
|||
\begin{songs}{titleidx,authidx} |
|||
\getsongslist |
|||
\end{songs} |
|||
|
|||
\end{document} |
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|||
% end document |
@ -0,0 +1,47 @@ |
|||
\RequirePackage{graphicx} |
|||
\RequirePackage{calc} |
|||
|
|||
\newlength{\largeurnota} |
|||
\newlength{\largeurlignenota} |
|||
\newlength{\indentationnota} |
|||
\newlength{\paddingnota} |
|||
\setlength{\largeurnota}{0.8cm} |
|||
\setlength{\paddingnota}{5pt} |
|||
|
|||
\newenvironment{pictonote}[1]{% |
|||
\begin{list}{}{% |
|||
\setlength{\labelsep}{5pt}% |
|||
\setlength{\leftmargin}{20pt}% |
|||
\setlength{\rightmargin}{25pt}} |
|||
\item% |
|||
\setlength{\indentationnota}{\@totalleftmargin+\largeurnota+\paddingnota}% |
|||
\setlength{\largeurlignenota}{\linewidth-\largeurnota-\paddingnota}% |
|||
\parshape=3% |
|||
\indentationnota\largeurlignenota% |
|||
\indentationnota\largeurlignenota% |
|||
\@totalleftmargin\linewidth% |
|||
\raisebox{-\largeurnota+2.2ex}[0pt][0pt]{% |
|||
\makebox[0pt][r]{% |
|||
\includegraphics[width=\largeurnota]{#1}% |
|||
\hspace{\paddingnota}}}% |
|||
\ignorespaces}{% |
|||
\end{list}% |
|||
\vspace{0.2cm}% |
|||
} |
|||
|
|||
\newcommand{\@lheader}[1]{% |
|||
\textbf{\large #1}% |
|||
\vspace{0.2cm}% |
|||
} |
|||
|
|||
\newcommand{\lcondition}[1]{% |
|||
\textbf{#1~--~}% |
|||
} |
|||
|
|||
\newenvironment{lblock}[1]{% |
|||
\@lheader{#1}}{% |
|||
\vspace{0.6cm}% |
|||
} |
|||
|
|||
|
|||
\endinput |
@ -0,0 +1,30 @@ |
|||
%% Copyright 2010 Clea F. Rees |
|||
% |
|||
% This work may be distributed and/or modified under the |
|||
% conditions of the LaTeX Project Public License, either version 1.3 |
|||
% 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 |
|||
% and version 1.3 or later is part of all distributions of LaTeX |
|||
% version 2005/12/01 or later. |
|||
% |
|||
% This work has the LPPL maintenance status `maintained'. |
|||
% |
|||
% The Current Maintainer of this work is Clea F. Rees. |
|||
% |
|||
% This work consists of all files listed in manifest.txt. |
|||
\NeedsTeXFormat{LaTeX2e} |
|||
\ProvidesPackage{venturisold}[2010/07/03 v1.005 VenturisOldADF PS] |
|||
\RequirePackage[T1]{fontenc} |
|||
\RequirePackage{textcomp} |
|||
\RequirePackage{nfssext-cfr} |
|||
%:Make Venturis Old default for roman text |
|||
\renewcommand{\rmdefault}{yvo} |
|||
%:introduce special titling commands |
|||
\DeclareRobustCommand{\vtstyle}[1][]{% allow an optional argument for consistency with venturis.sty |
|||
\not@math@alphabet\vtstyle\relax |
|||
\fontfamily{yvod}\selectfont} |
|||
\DeclareTextFontCommand{\textvt}{\vtstyle} |
|||
\DeclareTextFontCommand{\textvtl}{\vtstyle} |
|||
\endinput |
|||
%% end venturisold.sty |
@ -1,67 +0,0 @@ |
|||
\begin{SBVerse*} |
|||
\Ch{Am}{Dans} les prisons de Nantes \Ch{G}{~} (bis) |
|||
|
|||
Y avait un \Ch{G}{prison}\Ch{Am}{nier} |
|||
\end{SBVerse*} |
|||
|
|||
\bigskip |
|||
|
|||
Personne ne vint le \og vou\`ere \fg |
|||
|
|||
Que la fille du ge\^olier |
|||
|
|||
\bigskip |
|||
|
|||
Un jour il lui demande |
|||
|
|||
Et que dit-on de \og mou\'e \fg ? |
|||
|
|||
\bigskip |
|||
|
|||
On dit de vous en ville |
|||
|
|||
Que vous serez pendu |
|||
|
|||
\bigskip |
|||
|
|||
Mais s'il faut qu'on me pende |
|||
|
|||
D\'eliez-moi les pieds |
|||
|
|||
\bigskip |
|||
|
|||
La fille \'etait jeunette |
|||
|
|||
Les pieds lui a d\'eli\'e |
|||
|
|||
\bigskip |
|||
|
|||
Le prisonnier alerte |
|||
|
|||
Dans la Loire s'est jet\'e |
|||
|
|||
\bigskip |
|||
|
|||
D\`es qu'il f\^ut sur les rives |
|||
|
|||
Il se prit \`a chanter |
|||
|
|||
\bigskip |
|||
|
|||
Je chante pour les belles |
|||
|
|||
Surtout celle du ge\^olier |
|||
|
|||
\bigskip |
|||
|
|||
Si je reviens \`a Nantes |
|||
|
|||
Oui je l'\'epouserai |
|||
|
|||
\bigskip |
|||
|
|||
Dans les prisons de Nantes |
|||
|
|||
Y avait un prisonnier |
|||
|
|||
\bigskip |
@ -1,49 +0,0 @@ |
|||
\begin{SBVerse*} |
|||
I met my \Ch{G}{love}, by the gas yard wall |
|||
|
|||
Dreamed a \Ch{C}{dream}, by the old \Ch{G}{canal} |
|||
|
|||
Kissed my \Ch{Em}{girl}, by the factory \Ch{G}{wall} |
|||
|
|||
Dirty old \Ch{D}{town}, dirty old \Ch{Em}{town} |
|||
\end{SBVerse*} |
|||
|
|||
\bigskip |
|||
|
|||
I heard a siren from the dock |
|||
|
|||
Saw a train cut the night on fire |
|||
|
|||
Smelled the breeze on the smokey wind |
|||
|
|||
Dirty old town, dirty old town |
|||
|
|||
\bigskip |
|||
|
|||
I'm going to make a big sharp ax |
|||
|
|||
Shining steel tempered in the fire |
|||
|
|||
I'll cut ye down like an old dead tree |
|||
|
|||
Dirty old town, dirty old town |
|||
|
|||
\bigskip |
|||
|
|||
Clouds are drifting on the street |
|||
|
|||
Cats are prowling on their beats |
|||
|
|||
Springs a girl on the streets at night |
|||
|
|||
Dirty old town, dirty old town |
|||
|
|||
\bigskip |
|||
|
|||
I Met my love, by the gas yard wall |
|||
|
|||
Dreamed a dream, by the old canal |
|||
|
|||
Kissed my girl, by the factory wall |
|||
|
|||
Dirty old town, dirty old town |
@ -1,67 +0,0 @@ |
|||
\begin{SBVerse*} |
|||
\Ch{Am}{Eileen} Oge, and \Ch{E7}{that} the darlin's \Ch{Am}{name} is, \Ch{G}{through} the barony her \Ch{D}{features} they were \Ch{G}{famous} |
|||
|
|||
\Ch{Am}{If} we loved her, \Ch{E7}{who} is there to \Ch{Am}{blame} us, for wasn't she the \Ch{E7}{pride} of Petra\Ch{Am}{vore} ? |
|||
|
|||
\Ch{F}{But} her \Ch{G7}{beauty} \Ch{C}{made} us all so shy, \Ch{Dm}{not} a \Ch{E7}{man} could \Ch{Am}{look} her in the eye |
|||
|
|||
\Ch{F}{Boys}, O \Ch{G7}{boys}, sure \Ch{C}{that's} reason why we're in \Ch{Am}{mourning} for the \Ch{E7}{pride} of Petra\Ch{Am}{vore} |
|||
\end{SBVerse*} |
|||
\bigskip |
|||
\begin{SBChorus} |
|||
\Ch{F}{Eileen} \Ch{G7}{Og}, me \Ch{C}{heart} is growing grey \Ch{Dm}{ever} since the \Ch{E7}{day}, you \Ch{Am}{wandered} far away |
|||
|
|||
\Ch{F}{Eileen} \Ch{G7}{Og}, there's \Ch{C}{good} fish in the sea but there's \Ch{Am}{none} of them like the \Ch{E7}{pride} of Petra\Ch{Am}{vore} |
|||
\end{SBChorus} |
|||
\bigskip |
|||
Friday at the fair of Ballintubber |
|||
|
|||
Eileen met McGrath the cattle jobber |
|||
|
|||
I'd like to set me mark upon the robber |
|||
|
|||
For he stole away the Pride of Petravore |
|||
|
|||
He never seemed to see the girl at all |
|||
|
|||
Even when she ogled him underneath her shawl |
|||
|
|||
Looking big and masterful when she was looking small |
|||
|
|||
Most provoking for the Pride of Petravore |
|||
|
|||
\bigskip |
|||
|
|||
So it went as it was in the beginning |
|||
|
|||
Eileen Og was bent upon the winning |
|||
|
|||
Big McGrath contentedly was grinning |
|||
|
|||
Being courted by the Pride of Petravore |
|||
|
|||
Says he, \og I know a girl who'd knock you into fits \fg |
|||
|
|||
At that Eileen nearly lost her wits |
|||
|
|||
The upshot of the ruction was that now the robber sits |
|||
|
|||
With his arm around the Pride of Petravore |
|||
|
|||
\bigskip |
|||
|
|||
Boys, O boys, with fate 'tis hard to grapple |
|||
|
|||
Of my eye 'cause Eileen was the apple |
|||
|
|||
And to see her walkin' to the chapel |
|||
|
|||
Wid the hardest featured man in Petravore |
|||
|
|||
Now me boys, this is all I have to say |
|||
|
|||
When you do your courting make no display |
|||
|
|||
If you want them to run after you just walk the other way |
|||
|
|||
For they're mostly like the Pride of Petravore |
@ -1,13 +0,0 @@ |
|||
\begin{song}{Dirty Old Town}{G}{~}{Ewan MacColl}{}{} |
|||
\input{town/dirty_old_town.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Dans les prisons de Nantes}{Am}{~}{traditionnel breton}{}{} |
|||
\input{town/dans_les_prisons_de_nantes.tex} |
|||
\end{song} |
|||
|
|||
\begin{song}{Eileen Og}{Am}{~}{Percy French}{}{} |
|||
\input{town/eileen_og.tex} |
|||
\end{song} |
|||
|
|||
\input{town/forges.tex} |
@ -0,0 +1,35 @@ |
|||
#!/bin/sh |
|||
for directory in songs/*; do |
|||
images=`ls $directory/*.{jpg,png} 2> /dev/null` |
|||
val=`echo $images | wc -w` |
|||
for song in $directory/*.sg; do |
|||
sg=`basename $song` |
|||
sed -i '0,/\\gtab/s//\\cover\n\\gtab/' $song |
|||
if [ $val -gt 1 ] |
|||
then |
|||
i=1 |
|||
for image in $images; do |
|||
img=`basename $image .jpg` |
|||
img=`echo $img | sed 's/.png$//'` |
|||
echo "Apply $img to $song ? ($i/$val)" |
|||
i=$(($i+1)) |
|||
read answer |
|||
case "$answer" in |
|||
"y") |
|||
sed -i 's/beginsong{\([^}]*\)}\[\([^]]*\)\]/beginsong{\1}[\2,cov='$img']/' $song |
|||
break; |
|||
;; |
|||
"n") |
|||
true |
|||
;; |
|||
esac |
|||
done; |
|||
elif [ $val -eq 1 ] |
|||
then |
|||
img=`basename $images .jpg` |
|||
img=`echo $img | sed 's/.png$//'` |
|||
echo "Applying $img to $sg" |
|||
sed -i 's/beginsong{\([^}]*\)}\[\([^]]*\)\]/beginsong{\1}[\2,cov='$img']/' $song |
|||
fi; |
|||
done; |
|||
done; |
@ -0,0 +1,45 @@ |
|||
;;; File: emacs-format-file.el |
|||
;;; Description: use this for batch indentation with emacs (see indent.sh) |
|||
;;; Author: Romain Goffe |
|||
;;; Date: 27/10/2010 |
|||
;;; Commentary: based on the work of Stan Warford (emacs-format-mode) and Scott Andrew Borton (indent-mode) |
|||
|
|||
(defun songbook-indent-line () |
|||
"Indent current line as SONGBOOK code." |
|||
(interactive) |
|||
(beginning-of-line) |
|||
(if (bobp) |
|||
(indent-line-to 0) ; First line is always non-indented |
|||
(let ((not-indented t) cur-indent) |
|||
(if (looking-at "^[ \t]*\\(\\\\end\\(song\\|verse\\|chorus\\)\\)") ; If the line we are looking at is the end of a block, then decrease the indentation |
|||
(progn |
|||
(save-excursion |
|||
(forward-line -1) |
|||
(setq cur-indent (- (current-indentation) 2))) |
|||
(if (< cur-indent 0) ; We can't indent past the left margin |
|||
(setq cur-indent 0))) |
|||
(save-excursion |
|||
(while not-indented ; Iterate backwards until we find an indentation hint |
|||
(forward-line -1) |
|||
(if (looking-at "^[ \t]*\\(\\\\end\\(song\\|verse\\|chorus\\)\\)") ; This hint indicates that we need to indent at the level of the END_ token |
|||
(progn |
|||
(setq cur-indent (current-indentation)) |
|||
(setq not-indented nil)) |
|||
(if (looking-at "^[ \t]*\\(\\\\begin\\(song\\|verse\\|chorus\\)\\)") ; This hint indicates that we need to indent an extra level |
|||
(progn |
|||
(setq cur-indent (+ (current-indentation) 2)) ; Do the actual indenting |
|||
(setq not-indented nil)) |
|||
(if (bobp) |
|||
(setq not-indented nil))))))) |
|||
(if cur-indent |
|||
(indent-line-to cur-indent) |
|||
(indent-line-to 0)))) ; If we didn't see an indentation hint, then allow no indentation |
|||
) |
|||
|
|||
(defun emacs-format-function () |
|||
"Format the whole buffer." |
|||
(set (make-local-variable 'indent-line-function) 'songbook-indent-line) |
|||
(indent-region (point-min) (point-max) nil) |
|||
(untabify (point-min) (point-max)) |
|||
(save-buffer) |
|||
) |
@ -0,0 +1,11 @@ |
|||
{ |
|||
"template" : "patacrep-en.tmpl", |
|||
"bookoptions" : [ |
|||
"diagram", |
|||
"lilypond", |
|||
"pictures" |
|||
], |
|||
"booktype" : "chorded", |
|||
"subtitle" : "english songs", |
|||
"title" : "Guitar Songbook", |
|||
"songs" : [ |
@ -0,0 +1,9 @@ |
|||
{ |
|||
"template" : "patacrep.tmpl", |
|||
"subtitle" : "chanson francaise", |
|||
"bookoptions" : [ |
|||
"diagram", |
|||
"lilypond", |
|||
"pictures" |
|||
], |
|||
"songs" : [ |
@ -0,0 +1,12 @@ |
|||
{ |
|||
"template" : "patacrep.tmpl", |
|||
"bookoptions" : [ |
|||
"diagram", |
|||
"lilypond", |
|||
"pictures" |
|||
], |
|||
"booktype" : "chorded", |
|||
"picture" : "Mousey_Band_by_Duffzilla", |
|||
"picturecopyright" : "duffzilla @ deviantart.com", |
|||
"subtitle" : "Tome 3", |
|||
"songs" : [ |
@ -0,0 +1,11 @@ |
|||
#!/bin/sh |
|||
|
|||
#Author: Romain Goffe |
|||
#Date: 27/10/2010 |
|||
#Descritpion: correctly indent all songs with emacs |
|||
#Commentary: can't manage to use a relative path to emacs-format-file.el |
|||
# so be sure to indicate the right path |
|||
|
|||
for song in songs/*/*.sg ; do |
|||
emacs -batch $song -l ~/songbook/utils/emacs-format-file.el -f emacs-format-function ; |
|||
done; |
@ -0,0 +1,22 @@ |
|||
#!/bin/sh |
|||
|
|||
#Author: Romain Goffe |
|||
#Date: 14/11/2010 |
|||
#Description: Generate an sb file containing all the songs in a given language |
|||
|
|||
if [ $# -ne 1 ]; |
|||
then |
|||
echo "Usage: $0 LANG" |
|||
exit 1 |
|||
fi; |
|||
|
|||
LANG=$1 |
|||
|
|||
if [ $LANG="english" -o $LANG="french" ]; |
|||
then |
|||
cp "./utils/header-$LANG" "$LANG.sb" |
|||
grep "selectlanguage{$LANG}" songs/*/*.sg | sed 's|songs/\(.*\):.*| \"\1\",|; $ s|,$|\n ]\n}\n|' >> "$LANG.sb" |
|||
else |
|||
echo "Error: $LANG is not a supported language" |
|||
exit 2 |
|||
fi; |
@ -0,0 +1,17 @@ |
|||
#!/bin/sh |
|||
echo "Choose langage: 1 (english), 2 (french), 3 (spanish)" |
|||
for song in songs/*/*.sg; do |
|||
echo "Apply language to $song ?" |
|||
read answer |
|||
case "$answer" in |
|||
1) |
|||
sed -i '1i\\\\selectlanguage{english}' $song |
|||
;; |
|||
2) |
|||
sed -i '1i\\\\selectlanguage{french}' $song |
|||
;; |
|||
3) |
|||
sed -i '1i\\\\selectlanguage{spanish}' $song |
|||
;; |
|||
esac |
|||
done; |
@ -0,0 +1,75 @@ |
|||
#!/usr/bin/python |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
# warning: lines beginning with ## are parsed by |
|||
# the songbook-client as rules categories |
|||
|
|||
|
|||
import glob |
|||
|
|||
# the dictionary has target_word:replacement_word pairs |
|||
word_dic = { |
|||
##: oe inclusion |
|||
"coeur": "cœur", |
|||
"boeuf": "bœuf", |
|||
"oeuvre": "œuvre", |
|||
"soeur": "sœur", |
|||
"noeud": "nœud", |
|||
"oeil": "œil", |
|||
"voeu": "vœu", |
|||
"oeuf": "œuf", |
|||
"oe{}": "œ", |
|||
##: Contractions |
|||
"ptit": "p'tit", |
|||
##: Punctuation |
|||
"’": "'", |
|||
"Ca ": "Ça ", |
|||
"\\musicnote{Intro": "\\musicnote{intro", |
|||
"\\musicnote{Outro": "\\musicnote{outro", |
|||
"...": "\\dots ", |
|||
"…": "\\dots", |
|||
#replace tabs with two spaces |
|||
" ": " ", |
|||
##: Typo |
|||
"New-York": "New York", |
|||
" i ": " I ", |
|||
"avant hier": "avant-hier", |
|||
##: Conversion from anglo-saxon conventions |
|||
"\\[A": "\\[La", |
|||
"\\[B": "\\[Si", |
|||
"\\[C": "\\[Do", |
|||
"\\[D]": "\\[Ré]", |
|||
"\\[E": "\\[Mi", |
|||
"\\[F]": "\\[Fa]", |
|||
"\\[G": "\\[Sol", |
|||
##: Guitar tabs |
|||
"\\[Re]": "\\[Ré]", |
|||
"b]": "&]", |
|||
#Do |
|||
"032010": "X32010", |
|||
#La |
|||
"002220": "X02220", |
|||
"002020": "X02020", |
|||
"002210": "X02210", |
|||
#Ré |
|||
"000232": "XX0232", |
|||
"X00232": "XX0232", |
|||
"000212": "XX0212", |
|||
"000231": "XX0231", |
|||
"X00231": "XX0231", |
|||
#Si |
|||
"021202": "X21202", |
|||
### end of rules |
|||
} |
|||
|
|||
# Process song files |
|||
songfiles = glob.glob('songs/*/*.sg') |
|||
for filename in songfiles: |
|||
with open(filename, 'r+') as songfile: |
|||
data = songfile.read() |
|||
for search, replace in word_dic.items(): |
|||
data = data.replace(search, replace) |
|||
songfile.seek(0) |
|||
songfile.write(data) |
|||
songfile.truncate() |
|||
|
@ -0,0 +1,119 @@ |
|||
#!/usr/bin/perl -w |
|||
# |
|||
# Generate html index for the Crep's chorbook. |
|||
# |
|||
# Usage: make-html [options] source |
|||
# source should be an .sg or .sbd file |
|||
# |
|||
|
|||
use warnings; |
|||
use strict; |
|||
use utf8; |
|||
|
|||
sub uppercase($) |
|||
{ |
|||
my $letter = shift; |
|||
$letter =~ tr/a-zàéèëê/A-ZAEEEE/; |
|||
return $letter; |
|||
} |
|||
|
|||
# Create the latex-proof function |
|||
sub latex2utf8($) |
|||
{ |
|||
my $result = shift; |
|||
|
|||
$result =~ s/\\'e/é/g; |
|||
$result =~ s/\\¨e/ë/g; |
|||
$result =~ s/\\`e/è/g; |
|||
$result =~ s/\\\^e/ê/g; |
|||
$result =~ s/\\\^o/ô/g; |
|||
$result =~ s/\\\^a/â/g; |
|||
$result =~ s/\\\^i/î/g; |
|||
$result =~ s/\\`a/à/g; |
|||
$result =~ s/\\`u/ù/g; |
|||
$result =~ s/\\&/&/g; |
|||
$result =~ s/\\oe\s*{}/oe/g; |
|||
|
|||
return ($result); |
|||
} |
|||
#' |
|||
|
|||
sub usage () |
|||
{ |
|||
die "usage: make-html [options] source", "\n"; |
|||
} |
|||
|
|||
sub defaultoptions() |
|||
{ |
|||
return ( |
|||
titleprefix => "", |
|||
); |
|||
} |
|||
|
|||
my %options; |
|||
sub getoptions () |
|||
{ |
|||
%options = defaultoptions(); |
|||
eval q{use Getopt::Long}; |
|||
Getopt::Long::Configure('pass_through'); |
|||
GetOptions( |
|||
# "verbose|v!" => \$options{verbose}, |
|||
"titleprefix|p=s" => \$options{titleprefix}, |
|||
) || usage(); |
|||
} |
|||
|
|||
getoptions(); |
|||
|
|||
my $prefix = '(('.$options{titleprefix}.')[\s\'])'; |
|||
|
|||
# Filter function |
|||
sub process_titleprefix($) |
|||
{ |
|||
my $string = shift; |
|||
if( $string =~ /^$prefix\W*(\w)/ ) |
|||
{ |
|||
my $letter = uppercase $3; |
|||
$string =~ s/^$prefix\W*\w(.*)/$letter$3, $1/; |
|||
} |
|||
return $string; |
|||
} |
|||
|
|||
# Process command line |
|||
usage() unless @ARGV; |
|||
my $file = shift; |
|||
|
|||
# Open file and store date before closing the file |
|||
open( FILE, $file ) or die("unable to open $file"); |
|||
|
|||
# Process data |
|||
my %table; |
|||
my $author; |
|||
my $title; |
|||
|
|||
while( <FILE> ) |
|||
{ |
|||
if( $_ =~ /\\beginsong{(.*)}\[.*by=(.*),.*\]/ ) |
|||
{ |
|||
$author = latex2utf8 $2; |
|||
$title = latex2utf8 $1; |
|||
$title = process_titleprefix $title unless $options{titleprefix} eq ""; |
|||
# Create empty data index if needed |
|||
$table{$author} = [] unless exists $table{$author}; |
|||
push @{$table{$author}}, $title; |
|||
} |
|||
} |
|||
|
|||
close( FILE ); |
|||
|
|||
# Format output |
|||
print '<ul>'; |
|||
foreach my $author ( sort keys %table ) |
|||
{ |
|||
print '<li><strong>', $author, '</strong><ul>'; |
|||
foreach my $title ( sort @{$table{$author}} ) |
|||
{ |
|||
print '<li>',$title,'</li>' |
|||
} |
|||
print '</ul></li>'; |
|||
} |
|||
print '</ul>'; |
@ -0,0 +1,15 @@ |
|||
#!/bin/sh |
|||
# |
|||
# Helper script to get the list of new songs added since the last version |
|||
# The output is supposed to be copy/pasted into the NEWS item. |
|||
|
|||
if [ $# -eq 1 ] |
|||
then |
|||
VERSION=$1 |
|||
else |
|||
# Get current version |
|||
VERSION=`git tag | tail -n1` |
|||
fi |
|||
|
|||
# Make new songs list by authors |
|||
git shortlog $VERSION..master | egrep '^([^ ].*|.*Add song.*)' | sed 's/Add song.*://' | sed 's/\.$//' | sed 's/ (.*)//' | sed 's/\s\s\s*/ /' |
@ -0,0 +1,17 @@ |
|||
#!/bin/sh |
|||
# Resize image if needed |
|||
|
|||
for image in songs/*/*.jpg songs/*/*.png ; |
|||
do |
|||
SIZE=`identify $image | awk '{ print $3}' | sed 's/x/ /'`; |
|||
XSIZE=`echo $SIZE | awk '{ print $1}'`; |
|||
YSIZE=`echo $SIZE | awk '{ print $2}'`; |
|||
|
|||
if [ $((XSIZE)) -gt 128 ] |
|||
then |
|||
convert $image -resize 128x128 $image; |
|||
elif [ $((YSIZE)) -gt 128 ] |
|||
then |
|||
convert $image -resize 128x128 $image; |
|||
fi |
|||
done; |
@ -0,0 +1,83 @@ |
|||
#!/usr/bin/python |
|||
# |
|||
|
|||
import sys |
|||
import glob |
|||
import re |
|||
from optparse import OptionParser |
|||
|
|||
# Pattern set to ignore latex command in title prefix |
|||
gtabPattern = re.compile(r"\\gtab\{(.*)\}\{(.*)\}"); |
|||
|
|||
def main(): |
|||
usage = "usage: %prog [options]" |
|||
parser = OptionParser(usage) |
|||
parser.add_option("-o", "--output", dest="filename", |
|||
help="write result into FILE", metavar="FILE") |
|||
(options, args) = parser.parse_args() |
|||
|
|||
# Options processing |
|||
if options.filename: |
|||
output = open(options.filename,"w") |
|||
else: |
|||
output = sys.stdout |
|||
|
|||
# Actual processing |
|||
chords = dict() |
|||
positions = dict() |
|||
|
|||
songfiles = glob.glob('songs/*/*.sg') |
|||
|
|||
for file in songfiles: |
|||
for line in open(file): |
|||
result = gtabPattern.match(line) |
|||
if result: |
|||
(chord,position) = result.groups() |
|||
if not chords.has_key(chord): |
|||
chords[chord] = set() |
|||
chords[chord].add(position) |
|||
if not positions.has_key(position): |
|||
positions[position] = set() |
|||
positions[position].add(chord) |
|||
|
|||
document = [ |
|||
'\\documentclass{article}', |
|||
'\\usepackage[chorded]{songs}', |
|||
'\\usepackage[utf8]{inputenc}', |
|||
'\\title{Accords}', |
|||
'\\author{Romain Goffe \\and Alexandre Dupas}', |
|||
'\\date{}', |
|||
'\\begin{document}', |
|||
'\\maketitle', |
|||
'\\begin{songs}{}', |
|||
] |
|||
|
|||
document.append('\\section{Chords names}') |
|||
|
|||
chordskeys = chords.keys() |
|||
chordskeys.sort() |
|||
|
|||
for k in chordskeys: |
|||
document.append('\\subsection{'+k.replace('#','\\#').replace('&','\\&')+'}') |
|||
for p in chords[k]: |
|||
document.append('\\gtab{'+k+'}{'+p+'}') |
|||
|
|||
document.append('\\section{Chords names}') |
|||
|
|||
positionskeys = positions.keys() |
|||
positionskeys.sort() |
|||
|
|||
for k in positionskeys: |
|||
document.append('\\subsection{'+k+'}') |
|||
for p in positions[k]: |
|||
document.append('\\gtab{'+p+'}{'+k+'}') |
|||
|
|||
document.extend([ |
|||
'\\end{songs}', |
|||
'\\end{document}', |
|||
]) |
|||
|
|||
output.write('\n'.join(document)) |
|||
|
|||
if __name__ == '__main__': |
|||
main() |
@ -0,0 +1,41 @@ |
|||
#!/bin/sh |
|||
# |
|||
#Author: Romain Goffe and Alexandre Dupas |
|||
#Date: 27/10/2010 |
|||
#Description: fix typographic mistakes, some depending on language |
|||
|
|||
FILES=songs/*/*.sg |
|||
|
|||
if [ $# -gt 0 ] ; then |
|||
FILES=$@ |
|||
fi |
|||
|
|||
# remove trailing space and double space |
|||
sed -i \ |
|||
-e 's/\s*$//g' \ |
|||
-e 's/[,\.]$//g' \ |
|||
-e '/\s*%/! s/\([^ ]\)\s\+/\1 /g' \ |
|||
$FILES |
|||
|
|||
# formating rules depending on language |
|||
for song in $FILES; |
|||
do |
|||
if grep -q "selectlanguage{english}" $song |
|||
then |
|||
sed -i \ |
|||
-e 's/\s*?/?/g' \ |
|||
-e 's/\s*!/!/g' \ |
|||
-e 's/\s*:/:/g' \ |
|||
$song |
|||
elif grep -q "selectlanguage{french}" $song |
|||
then |
|||
sed -i \ |
|||
-e 's/\([^ ]\)?/\1 ?/g' \ |
|||
-e 's/\([^ ]\)!/\1 !/g' \ |
|||
-e 's/\([^ ]\)!/\1 !/g' \ |
|||
-e 's/``/{\\og}/g' \ |
|||
-e "s/''/{\\\\fg}/g" \ |
|||
-e '/\\gtab.*/ ! s/\([^ ]\):/\1 :/g' \ |
|||
$song |
|||
fi |
|||
done |
@ -0,0 +1,40 @@ |
|||
#!/bin/sh |
|||
#Author: Romain Goffe |
|||
#Date: 07/05/2011 |
|||
#Description: Generate an sb file containing all the songs that are not |
|||
# already in volume-1 and volume-2 |
|||
|
|||
#all songs |
|||
cd songs |
|||
ls -1 */*.sg > ../res1 |
|||
cd .. |
|||
|
|||
#get volume 1 list |
|||
tail -n +12 volume-1.sb > tmp1 |
|||
head -n -2 tmp1 > list1 |
|||
sed -i -e "s/\",//g" -e "s/ \"//g" -e "s/\"//g" list1 |
|||
|
|||
#remove volume 1 songs |
|||
grep -vf list1 res1 > res2 |
|||
|
|||
#get volume 2 list |
|||
tail -n +13 volume-2.sb > tmp2 |
|||
head -n -2 tmp2 > list2 |
|||
sed -i -e "s/\",//g" -e "s/ \"//g" -e "s/\"//g" list2 |
|||
|
|||
#remove volume 2 songs |
|||
grep -vf list2 res2 > res3 |
|||
|
|||
#format song list |
|||
sed -i -e "s/^/ \"/g" -e "s/$/\",/g" res3 |
|||
head -c -2 res3 > res |
|||
|
|||
|
|||
#make volume 3 sb file |
|||
cat utils/header-volume-3 > volume-3.sb |
|||
cat res >> volume-3.sb |
|||
echo "]" >> volume-3.sb |
|||
echo "}" >> volume-3.sb |
|||
|
|||
#remove tmp files |
|||
rm -f res res1 res2 res3 list1 list2 tmp1 tmp2 |
@ -1,72 +0,0 @@ |
|||
There's a Leprechaun in me head, and I wish that I were dead |
|||
|
|||
For I don't think he'll e'er let me be. |
|||
|
|||
Oh, he tempts me with his gold, and if I were e'er so bold, |
|||
|
|||
I'd strangle him and leave him in the street. |
|||
|
|||
\bigskip |
|||
|
|||
\textbf{Well, he says to me, "Ah, you're no Irish Laddie!} |
|||
|
|||
\textbf{And ye call that thing a harp?"} |
|||
|
|||
\textbf{But each time I share the lore that I am learning.} |
|||
|
|||
\textbf{He hides in shame while my friends they chant. } |
|||
|
|||
\textbf{La ta tee, da diddley dee, la ta tee ta tee da} |
|||
|
|||
\textbf{La ta tee, da diddley diddley dai} |
|||
|
|||
\textbf{La ta tee, da diddley dee, la ta tee ta tee da} |
|||
|
|||
\textbf{La ta tee, da diddley diddley dai} |
|||
|
|||
\bigskip |
|||
|
|||
There's a leprechaun in my room. He swats me with a broom. |
|||
|
|||
That's the reason I forget the words of this song. |
|||
|
|||
Well, he shows me a four-leaf clover, and before me song is over, |
|||
|
|||
It's buried in a bowl of Lucky Charms. |
|||
|
|||
\bigskip |
|||
|
|||
Ther'es a leprechaun on the floor, and he says that I'm a bore. |
|||
|
|||
He yawns aloud as I sing my song. |
|||
|
|||
He feigns one last breathe stolen, but I see his eyes are open. |
|||
|
|||
And he's watching me with envy deep inside. |
|||
|
|||
\bigskip |
|||
|
|||
There's a leprechaun on a hill, and his gold is buried there. |
|||
|
|||
So I grab him by the neck 'fore he gets away. |
|||
|
|||
The pot's too heavy, he giggles, so I pinch me just a little, |
|||
|
|||
And he thinks he's fooled me as I run away. |
|||
|
|||
%%%%%%%%%%%%%%%%%%%%%% A AJOUTER %%%%%%%%%%%%%%%%%%%%%% |
|||
|
|||
%KEY F |
|||
|
|||
%verse: |
|||
%D D G D |
|||
%D D D A |
|||
%D D G D |
|||
%D D D-A-D |
|||
|
|||
%chorus: |
|||
%G G G D |
|||
%G G G A |
|||
%D D G D |
|||
%D D D-A-D |
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
@ -1,6 +0,0 @@ |
|||
\begin{song}{The Leprechaun}{?}{St Patrick's Day song}{Marc Gunn}{}{} |
|||
TODO : Chords |
|||
\input{woods/leprechaun.tex} |
|||
\end{song} |
|||
|
|||
\input{woods/weile.tex} |