From 0e34686d3174c70c26095b0db0cb8dc7dc4eccc3 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Mon, 7 Jun 2010 22:20:51 +0200 Subject: [PATCH 01/24] WIP for the new songbook format. --- makefile | 11 ++++++++++- template.tex | 44 ++++++++++++++++++++++++++++++++++++++++++++ test.sb | 10 ++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 template.tex create mode 100644 test.sb diff --git a/makefile b/makefile index 1de319f5..df3928f4 100644 --- a/makefile +++ b/makefile @@ -17,9 +17,11 @@ SRC := $(wildcard *.tex) +SONGBOOKS := $(wildcard *.sb) + SOURCES := $(shell egrep -l '^[^%]*\\begin\{document\}' *.tex) -CIBLE = $(SOURCES:%.tex=%) +CIBLE = $(SOURCES:%.tex=%) $(SONGBOOKS:%.sb=%) PDF = $(CIBLE:%=%.pdf) PSF = $(CIBLE:%=%.ps.gz) @@ -90,6 +92,7 @@ clean: cleandoc @rm -f *.sbd @rm -f *.sbx *.sxd @rm -f ./lilypond/*.ps + @rm -f $(SONGBOOKS:%.sb=%.tex) cleanall: clean @rm -f $(PDF) $(PSF) @@ -151,6 +154,12 @@ $(SONGS): $(SONGS_SRC) $(CHORDS): $(CHORDS_SRC) $(MAKE_CHORDS) -o $@ +%.tex: %.sb + $(PRINT) "\newcommand{\template}{" > $@ + cat $< >> $@ + $(PRINT) "}" >> $@ + $(PRINT) "\input{template.tex}" >> $@ + # Create an empty mybook.sgl file if it does not exist mybook.sgl: touch $@ diff --git a/template.tex b/template.tex new file mode 100644 index 00000000..1be2ea25 --- /dev/null +++ b/template.tex @@ -0,0 +1,44 @@ +\providecommand{\defaulttemplate}{ + \title{Recueil de chansons pour guitare} + \author{Romain Goffe \and Alexandre Dupas} + \subtitle{} + \version{3.1} + \mail{crep@team-on-fire.com} + \picture{feel-the-music} + \picturecopyright{©foxygamergirl @ deviantart.com} + \footer{ + \begin{flushleft} + \includegraphics[width=3cm]{on-fire} + \end{flushleft} + } + \licence{\input{license.tex}} +} +\providecommand{\template}{\defaulttemplate} +\providecommand{\songslist}{} +\providecommand{\booktype}{chorded} + +\documentclass[\booktype]{crepbook} +\usepackage[utf8]{inputenc} +\usepackage[english,french]{babel} + +\newindex{titleidx}{templatetitle} +\newauthorindex{authidx}{templateauth} + +\graphicspath{ + {img/}, +} + +\template +\begin{document} + +\maketitle + +\showindex{Index des chansons}{titleidx} +\showindex{Index des auteurs}{authidx} + +\songsection{Chansons} +\begin{songs}{titleidx,authidx} + \songslist +\end{songs} + +\end{document} diff --git a/test.sb b/test.sb new file mode 100644 index 00000000..ba529213 --- /dev/null +++ b/test.sb @@ -0,0 +1,10 @@ +\defaulttemplate +\title{Ceci est un test du template} +\renewcommand{\songslist}{ + \graphicspath{ + {img/}, + {songs/Le_Donjon_de_Naheulbeuk/}, + } + \input{songs/Le_Donjon_de_Naheulbeuk/Geste_heroique.sg} + \input{songs/Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg} +} From 99657d6c86f4739a0c1dd15ff648729751e137dc Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Tue, 8 Jun 2010 20:03:58 +0200 Subject: [PATCH 02/24] Introduce the new songbook format. This release now uses JSON coded data to represent a songbook. Songbook are stored in .sb files. The generation of the corresponding .tex file is done by the songbook.py program and uses templates stored in templates/. The default template is songbook.tmpl. It produces songbooks similar to the previous version of the songbook software suite. --- makefile | 106 +++++------------------ naheulbeuk.sb | 34 ++++++++ songbook.py | 138 ++++++++++++++++++++++++++++++ songbook.sb | 12 +++ templates/songbook.tmpl | 73 ++++++++++++++++ test.sb | 17 ++-- volume-1.sb | 185 ++++++++++++++++++++++++++++++++++++++++ volume-2.sb | 93 ++++++++++++++++++++ 8 files changed, 566 insertions(+), 92 deletions(-) create mode 100644 naheulbeuk.sb create mode 100755 songbook.py create mode 100644 songbook.sb create mode 100644 templates/songbook.tmpl create mode 100644 volume-1.sb create mode 100644 volume-2.sb diff --git a/makefile b/makefile index df3928f4..c0eaafeb 100644 --- a/makefile +++ b/makefile @@ -1,4 +1,4 @@ -# Copyright (c) 2008 Alexandre Dupas +# Copyright (c) 2008-2010 Alexandre Dupas # # 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 @@ -15,62 +15,35 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # -SRC := $(wildcard *.tex) - SONGBOOKS := $(wildcard *.sb) +TARGETS = $(SONGBOOKS:%.sb=%) -SOURCES := $(shell egrep -l '^[^%]*\\begin\{document\}' *.tex) - -CIBLE = $(SOURCES:%.tex=%) $(SONGBOOKS:%.sb=%) - -PDF = $(CIBLE:%=%.pdf) -PSF = $(CIBLE:%=%.ps.gz) - -SONGS = songs.sbd -SONGS_SRC = $(shell ls songs/*/*.sg) +PDF = $(TARGETS:%=%.pdf) +PSF = $(TARGETS:%=%.ps.gz) CHORDS = chords.tex CHORDS_SRC = $(shell ls songs/*/*.sg) -MAKE_INDEX=./songbook-makeindex.py -MAKE_SONGDB=./songbook-volume.py -MAKE_CHORDS=./utils/songbook-gtab.py PRINT=printf "%s\n" PRINTTAB=printf "\t%s\n" -ifeq ($(shell which ikiwiki),) -IKIWIKI=$(ECHO) "** ikiwiki not found" >&2 ; $(ECHO) ikiwiki -else -IKIWIKI=ikiwiki -endif +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='' + LILYPOND=$(ECHO) "** lilypond not found" >&2 ; $(ECHO) lilypond + LILYFILE='' else -LILYPOND=lilypond -LILYSRC=$(wildcard lilypond/*.ly) -LILYFILE=$(LILYSRC:%.ly=%.pdf) + LILYPOND=lilypond + LILY_SRC=$(wildcard lilypond/*.ly) + LILYFILE=$(LILY_SRC:%.ly=%.pdf) endif -# Get dependencies (that can also have dependencies) -define get_dependencies - deps=`perl -ne '($$_)=/^[^%]*\\\(?:include|input)\{(.*?)\}/;@_=split /,/; foreach $$t (@_) { print "$$t "}' $<` -endef - -# Get inclusion only files (that can not have dependencies) -define get_inclusions - incl=`perl -ne '($$_)=/^[^%]*\\\(?:newauthorindex|newindex)\{.*\}\{(.*?)\}/;@_=split /,/; foreach $$t (@_) { print "$$t.sbx "}' $<` -endef - -define get_prereq - prep=`perl -ne '($$_)=/^[^%]*\\\(?:newauthorindex|newindex)\{.*\}\{(.*?)\}/;@_=split /,/; foreach $$t (@_) { print "$$t.sxd "}' $<` -endef - ############################################################ -### Cibles +### Targets -default: chordbook.pdf +default: songbook.pdf all: $(PDF) @@ -82,17 +55,11 @@ pdf: $(PDF) lilypond: $(LILYFILE) -clean: cleandoc - @rm -f $(SRC:%.tex=%.d) - @rm -f $(CIBLE:%=%.aux) - @rm -f $(CIBLE:%=%.toc) - @rm -f $(CIBLE:%=%.out) $(CIBLE:%=%.log) $(CIBLE:%=%.nav) $(CIBLE:%=%.snm) - @rm -f $(CIBLE:%=%.dvi) - @rm -f $(SONGS) - @rm -f *.sbd +clean: + @rm -f $(TARGETS:%=%.d) $(TARGETS:%=%.tex) $(TARGETS:%=%.aux) \ + $(TARGETS:%=%.toc) $(TARGETS:%=%.out) $(TARGETS:%=%.log) \ + $(TARGETS:%=%.nav) $(TARGETS:%=%.snm) $(TARGETS:%=%.dvi) @rm -f *.sbx *.sxd - @rm -f ./lilypond/*.ps - @rm -f $(SONGBOOKS:%.sb=%.tex) cleanall: clean @rm -f $(PDF) $(PSF) @@ -100,14 +67,6 @@ cleanall: clean depend: -doc : documentation - -documentation: - $(IKIWIKI) doc html -v --wikiname "Songbook Documentation" --plugin=goodstuff --set usedirs=0 - -cleandoc: - @rm -rf "doc/.ikiwiki" html - ############################################################ $(PSF): LATEX = latex @@ -129,23 +88,13 @@ $(PDF): %.pdf: %.tex %.aux %.sbx: %.sxd $(MAKE_INDEX) $< > $@ -%.d: %.tex - @$(get_dependencies) ; $(PRINT) "$< $@: $$deps" > $@ - @$(get_inclusions) ; $(PRINT) "$(patsubst %.tex,%.pdf,$<) : $$incl" >> $@ ; $(PRINTTAB) "\$$(LATEX) $<" >> $@ ; - @$(get_prereq) ; $(PRINT) "$$prep : $(patsubst %.tex,%.aux,$<)" >> $@ ; - -include $(SOURCES:%.tex=%.d) - -# songbook related rules -%.aux: $(SONGS) +%.tex: %.sb + $(MAKE_SONGBOOK) -s $< -o $@ -COMMA=, -$(SONGS): $(SONGS_SRC) - @$(PRINT) "\graphicspath{{img/},$(patsubst %,{%}$(COMMA),$(dir $(SONGS_SRC)))}" > $@ - @cat $(SONGS_SRC) >> $@ +%.d: %.sb + $(MAKE_SONGBOOK) -s $< -d -o $@ -%.sbd: %.sgl - @$(MAKE_SONGDB) --songs=$< --output=$@ +include $(SONGBOOKS:%.sb=%.d) %.pdf: %.ly @$(LILYPOND) --output=$(@:%.pdf=%) $< @@ -154,12 +103,3 @@ $(SONGS): $(SONGS_SRC) $(CHORDS): $(CHORDS_SRC) $(MAKE_CHORDS) -o $@ -%.tex: %.sb - $(PRINT) "\newcommand{\template}{" > $@ - cat $< >> $@ - $(PRINT) "}" >> $@ - $(PRINT) "\input{template.tex}" >> $@ - -# Create an empty mybook.sgl file if it does not exist -mybook.sgl: - touch $@ diff --git a/naheulbeuk.sb b/naheulbeuk.sb new file mode 100644 index 00000000..dba229a7 --- /dev/null +++ b/naheulbeuk.sb @@ -0,0 +1,34 @@ +{ +"template" : "songbook.tmpl", +"title" : "Le Donjon de Naheulbeuk", +"author" : "Crep (R.Goffe) \\and Lohrun (A.Dupas)", +"subtitle" : "Recueil de chansons non-officiel", +"version" : "0.4", +"mail" : "crep@team-on-fire.com", +"picture" : "naheulbeuk01", +"picturecopyrigth" : "©PenOfChaos", +"footer" : "", +"licence" : "\\input{license.tex}", +"songs" : [ + "Belyscendre/Mon_pere_veut_me_marier.sg", + "Belyscendre/Prends_garde_au_loup.sg", + "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg", + "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", + "Le_Donjon_de_Naheulbeuk/Bugger_off.sg", + "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", + "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", + "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", + "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg", + "Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg", + "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", + "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", + "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", + "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", + "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", + "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", + "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", + "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", + "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", + "Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg" + ] +} diff --git a/songbook.py b/songbook.py new file mode 100755 index 00000000..690f2379 --- /dev/null +++ b/songbook.py @@ -0,0 +1,138 @@ +#!/usr/bin/python +# + +import getopt, sys +import os.path +import glob +import re +import json + +def makeTexFile(songbook, output): + name = output[:-4] + + # default value + dir = ['img'] + template = "songbook.tmpl" + songs = [] + booktype = ["chorded"] + + # parse the songbook data + if "template" in songbook: + template = songbook["template"] + if "songs" in songbook: + songs = songbook["songs"] + if "booktype" in songbook: + booktype = songbook["booktype"] + + # output relevant fields + out = open(output, 'w') + + # output \template + out.write('\\newcommand{\\template}{\n') + for key in ["title", "author", "subtitle", "version", "mail", "picture", "picturecopyright", "footer", "licence"]: + if key in songbook: + out.write(' \\'+key+'{{{data}}}\n'.format(data=songbook[key])) + out.write('}\n') + # output \booktype + out.write('\\newcommand{{\\booktype}}{{{data}}}'.format(data=','.join(booktype))) + # output \songlist + if not type(songs) is list: + if songs == "all": + songs = map(lambda x: x[6:], glob.glob('songs/*/*.sg')) + if len(songs) > 0: + out.write('\\newcommand{\\songslist}{\n') + dir += map(os.path.dirname, map(lambda x:"songs/"+x, songs)) + dir = set(dir) + out.write(' \\graphicspath{\n') + for dirname in dir: + out.write(' {{{imagedir}/}},\n'.format(imagedir=dirname)) + out.write(' }\n') + for song in songs: + out.write(' \\input{{songs/{songfile}}}\n'.format(songfile=song.strip())) + out.write('}\n') + tmpl = open("templates/"+template, 'r') + out.write(tmpl.read().replace("SONGBOOKNAME", name+"_index")) + tmpl.close() + out.close() + +def makeDepend(sb, output): + name = output[:-2] + + # pattern that get dependencies + dependsPattern = re.compile(r"^[^%]*(?:include|input)\{(.*?)\}") + indexPattern = re.compile(r"^[^%]*\\(?:newauthor|new)index\{.*\}\{(.*?)\}") + + # check for deps (in sb data) + deps = [] + if type(sb["songs"]) is list: + deps += map(lambda x: "songs/"+x, sb["songs"]) + for k in sb.keys(): + if not type(sb[k]) is list: + match = dependsPattern.match(sb[k]) + if match: + deps += [match.group(1)] + + # check for index (in template file) + if "template" in sb: + filename = "templates/"+sb["template"] + else: + filename = "templates/songbook.tmpl" + idx = [] + tmpl = open(filename) + for l in tmpl: + match = indexPattern.match(l) + if match: + idx.append(match.group(1).replace("SONGBOOKNAME", name+"_index")) + 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)))) + 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() diff --git a/songbook.sb b/songbook.sb new file mode 100644 index 00000000..cd8bd400 --- /dev/null +++ b/songbook.sb @@ -0,0 +1,12 @@ +{ +"template" : "songbook.tmpl", +"title" : "Recueil de chansons pour guitare", +"author" : "Romain Goffe \\and Alexandre Dupas", +"version" : "3.1", +"mail" : "crep@team-on-fire.com", +"picture" : "feel-the-music", +"picturecopyrigth" : "©foxygamergirl @ deviantart.com", +"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", +"licence" : "\\input{license.tex}", +"songs" : "all" +} diff --git a/templates/songbook.tmpl b/templates/songbook.tmpl new file mode 100644 index 00000000..ed96d1a6 --- /dev/null +++ b/templates/songbook.tmpl @@ -0,0 +1,73 @@ +% 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 variables +\providecommand{\template}{} +\providecommand{\songslist}{} +\providecommand{\booktype}{chorded} +% default template +\newcommand{\defaulttemplate}{ + \title{Recueil de chansons pour guitare} + \author{Romain Goffe \and Alexandre Dupas} + \subtitle{} + \version{3.1} + \mail{crep@team-on-fire.com} + \picture{feel-the-music} + \picturecopyright{©foxygamergirl @ deviantart.com} + \footer{ + \begin{flushleft} + \includegraphics[width=3cm]{on-fire} + \end{flushleft} + } + \licence{\input{license.tex}} +} +% begin document +\documentclass[\booktype]{crepbook} +\usepackage[utf8]{inputenc} +\usepackage[english,french]{babel} + +\defaulttemplate +\template + +\newindex{titleidx}{SONGBOOKNAME_title} +\newauthorindex{authidx}{SONGBOOKNAME_auth} + +\graphicspath{ + {img/}, +} + +\begin{document} + +\maketitle + +\showindex{Index des chansons}{titleidx} +\showindex{Index des auteurs}{authidx} + +\songsection{Chansons} +\begin{songs}{titleidx,authidx} + \songslist +\end{songs} + +\end{document} +% end document diff --git a/test.sb b/test.sb index ba529213..4c666bb2 100644 --- a/test.sb +++ b/test.sb @@ -1,10 +1,9 @@ -\defaulttemplate -\title{Ceci est un test du template} -\renewcommand{\songslist}{ - \graphicspath{ - {img/}, - {songs/Le_Donjon_de_Naheulbeuk/}, - } - \input{songs/Le_Donjon_de_Naheulbeuk/Geste_heroique.sg} - \input{songs/Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg} +{ +"template" : "songbook.tmpl", +"booktype" : ["lyric"], +"title" : "Ceci est un test du template", +"songs" : [ + "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", + "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg" + ] } diff --git a/volume-1.sb b/volume-1.sb new file mode 100644 index 00000000..54b26f09 --- /dev/null +++ b/volume-1.sb @@ -0,0 +1,185 @@ +{ +"template" : "songbook.tmpl", +"title" : "Recueil de chansons pour guitare", +"author" : "Romain Goffe \\and Alexandre Dupas", +"subtitle" : "Tome 1", +"version" : "3.1", +"mail" : "crep@team-on-fire.com", +"picture" : "feel-the-music", +"picturecopyrigth" : "©foxygamergirl @ deviantart.com", +"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", +"licence" : "\\input{license.tex}", +"songs" : [ + "Alain_Bashung/Gaby_oh_gaby.sg", + "Amy_MacDonald/Mr._Rock_n_Roll.sg", + "Amy_MacDonald/This_is_the_life.sg", + "Anais/Mon_coeur_mon_amour.sg", + "Avril_Lavigne/Things_I_ll_never_say.sg", + "Barry_Louis_Polisar/All_I_Want_Is_You.sg", + "Belle_Sebastian/Piazza_New-York_catcher.sg", + "Benabar/Le_diner.sg", + "Benabar/Quatre_murs_et_un_toit.sg", + "Benabar/Y_a_une_fille_qu_habite_chez_moi.sg", + "Bob_Dylan/Blowin_in_the_wind.sg", + "Bob_Dylan/Knocking_on_heavens_door.sg", + "Bruce_Springsteen/Bring_em_home.sg", + "Bruce_Springsteen/Buffalo_gals.sg", + "Bruce_Springsteen/O_Mary_don_t_you_weep.sg", + "Carter_Family/In_the_highways.sg", + "Carter_Family/Keep_on_the_sunny_side.sg", + "Cat_Stevens/My_Lady_d_Arbanville.sg", + "Cat_Stevens/Sad_Lisa.sg", + "Cat_Stevens/The_wind.sg", + "Charles_Aznavour/Emmenez-moi.sg", + "Dessins_Animes/Les_mysterieuses_cites_d_or.sg", + "Dessins_Animes/L_histoire_d_Actarus.sg", + "Dessins_Animes/Nicky_Larson.sg", + "Dessins_Animes/Tom_Sawyer_debut.sg", + "Dessins_Animes/Tom_Sawyer_fin.sg", + "Eels/Dirty_girl.sg", + "Eels/Hey_man.sg", + "Eels/I_like_birds.sg", + "Eels/Packing_blankets.sg", + "Francis_Cabrel/Je_l_aime_a_mourir.sg", + "Francis_Cabrel/Petite_Marie.sg", + "Garfunkel_and_Oates/Fuck_you.sg", + "Georges_Brassens/Cupidon_s_en_fout.sg", + "Georges_Brassens/Grand_pere.sg", + "Georges_Brassens/La_chanson_du_herisson.sg", + "Georges_Brassens/La_mauvaise_reputation.sg", + "Georges_Brassens/Le_gorille.sg", + "Georges_Brassens/Les_copains_d_abord.sg", + "Graeme_Allwright/Ca_je_l_ai_jamais_vu.sg", + "Graeme_Allwright/Il_faut_que_je_m_en_aille.sg", + "Graeme_Allwright/Johnny.sg", + "Graeme_Allwright/Jolie_Bouteille.sg", + "Graeme_Allwright/Jusqu_a_la_ceinture.sg", + "Graeme_Allwright/La_mouche_bleue.sg", + "Graeme_Allwright/Petites_boites.sg", + "Graeme_Allwright/Petit_garcon.sg", + "Green_Day/Boulevard_of_broken_dreams.sg", + "Herman_Dune/I_wish_I_could_see_you_soon.sg", + "Howie_Day/Collide.sg", + "Hugues_Aufray/Je_reviens.sg", + "Hugues_Aufray/Le_Bon_Dieu_s_enervait.sg", + "Hugues_Aufray/Le_petit_ane_gris.sg", + "Hugues_Aufray/N_y_pense_plus_tout_est_bien.sg", + "Hugues_Aufray/Santiano.sg", + "Hugues_Aufray/Tu_sens_bon_la_terre.sg", + "Jacques_Brel/Vesoul.sg", + "Jeff_Buckley/Hallelujah.sg", + "Joe_Dassin/Le_chemin_de_Papa.sg", + "Joe_Dassin/Siffler_sur_la_colline.sg", + "Kana/Plantation.sg", + "Karpatt/Le_magicien.sg", + "Karpatt/Les_ptits_cailloux.sg", + "Karpatt/Melisande.sg", + "Kimya_Dawson/Tree_hugger.sg", + "La_Rue_Ketanou/Impossible.sg", + "La_Rue_Ketanou/La_rue_ketanou.sg", + "La_Rue_Ketanou/Les_cigales.sg", + "La_Rue_Ketanou/Les_mots.sg", + "La_Rue_Ketanou/Ma_faute_a_toi.sg", + "La_Rue_Ketanou/Tu_parles_trop.sg", + "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg", + "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", + "Le_Donjon_de_Naheulbeuk/Bugger_off.sg", + "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", + "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", + "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", + "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", + "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", + "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", + "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", + "Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg", + "Les_Amis_D_Ta_Femme/Cayenne.sg", + "Les_Amis_D_Ta_Femme/Maree_Basse.sg", + "Les_Cowboys_Fringants/Droit_devant.sg", + "Les_Cowboys_Fringants/Etoiles_filantes.sg", + "Les_Cowboys_Fringants/Histoire_de_peche.sg", + "Les_Cowboys_Fringants/La_manifestation.sg", + "Les_Cowboys_Fringants/Les_hirondelles.sg", + "Les_Cowboys_Fringants/Toune_d_automne.sg", + "Les_Fatals_Picards/Chasse_peche_et_nature.sg", + "Les_Hurlements_d_Leo/Poemes.sg", + "Les_Momes_du_CE2/Mamadou_avait_mal_aux_dents.sg", + "Les_Ogres_de_Barback/3_-_0.sg", + "Les_Ogres_de_Barback/Accordeon_pour_les_cons.sg", + "Les_Ogres_de_Barback/Contes_vents_et_marees.sg", + "Les_Ogres_de_Barback/Grand-mere.sg", + "Les_Ogres_de_Barback/L_air_bete.sg", + "Les_Ogres_de_Barback/La_premiere_fois.sg", + "Les_Ogres_de_Barback/Petite_societe.sg", + "Les_Ogres_de_Barback/Pour_me_rendre_a_mon_bureau.sg", + "Les_Ogres_de_Barback/Rue_de_Panam.sg", + "Les_Tetes_Raides/L_iditente.sg", + "Les_Tetes_Raides/Patalo.sg", + "Les_Tit_s_Nassels/Les_tit_s_ballades.sg", + "Les_VRP/Leo.sg", + "Les_Wriggles/Julie_la_petite_olive.sg", + "Les_Wriggles/Monolithe.sg", + "Les_Wriggles/Poupine_et_Thierry.sg", + "Linkin_Park/Numb.sg", + "Louise_Attaque/Depuis_toujours.sg", + "Louise_Attaque/Lea.sg", + "Mano_Negra/Out_of_time_man.sg", + "Manu_Chao/Bienvenida_a_Tijuana.sg", + "Manu_Chao/Clandestino.sg", + "Manu_Chao/Desaparecido.sg", + "Maurice_Dulac/Dis_a_ton_fils.sg", + "Mes_souliers_sont_rouges/Les_souliers_rouges.sg", + "Mes_souliers_sont_rouges/Sainte-Cecile.sg", + "Mes_souliers_sont_rouges/The_rooster.sg", + "Moriarty/Jimmy.sg", + "Noir_Desir/Aux_sombres_heros_de_l_amer.sg", + "Norah_Jones/Somewhere_over_the_rainbow.sg", + "Oasis/Wonderwall.sg", + "Oldelaf_et_Monsieur_D/Cafe.sg", + "Oldelaf_et_Monsieur_D/Nathalie.sg", + "Oldelaf_et_Monsieur_D/Petit_Pierrot.sg", + "Oldelaf_et_Monsieur_D/Raoul_le_pitbull.sg", + "Oldelaf_et_Monsieur_D/Rue_de_Nantes.sg", + "Oldelaf_et_Monsieur_D/Trahis.sg", + "Patrick_Bouchitey/Jesus_reviens.sg", + "Pierre_Perret/Lily.sg", + "Pixies/Where_Is_My_Mind.sg", + "Pow_Wow/Le_lion_est_mort_ce_soir.sg", + "Radiohead/Creep.sg", + "Renaud/Des_que_le_vent_soufflera.sg", + "Renaud/Hexagone.sg", + "Renaud/Laisse_Beton.sg", + "Renaud/Manu.sg", + "Renaud/Marche_a_l_ombre.sg", + "Renaud/Mistral_Gagnant.sg", + "Renaud/Petite_fillle_des_sombres_rues.sg", + "Simon_Garfunkel/Cecilia.sg", + "Simon_Garfunkel/El_condor_pasa.sg", + "Simon_Garfunkel/Feeling_groovy.sg", + "Simon_Garfunkel/Scarborough_Fair.sg", + "Simon_Garfunkel/The_boxer.sg", + "Simon_Garfunkel/The_leaves_that_are_green.sg", + "Simon_Garfunkel/The_sounds_of_silence.sg", + "Simon_Garfunkel/Wednesday_morning_3a.m.sg", + "Sinsemilia/J_prefere_100_fois.sg", + "Steve_Waring/Le_matou.sg", + "Terra_Naomi/Say_It_s_Possible.sg", + "The_Beatles/Hey_Jude.sg", + "The_Beatles/Ob-la-di_ob-la-da.sg", + "The_Beatles/Yellow_submarine.sg", + "The_Beatles/Yesterday.sg", + "The_Eagles/Hotel_California.sg", + "The_Moldy_Peaches/Anyone_Else_But_You.sg", + "The_Pogues/Dirty_Old_Town.sg", + "The_Pogues/Fairytale_of_New-York.sg", + "Tri_Yann/La_jument_de_Michao.sg", + "Tri_Yann/La_ville_que_j_ai_tant_aimee.sg", + "Tri_Yann/Les_prisons_de_Nantes.sg", + "Tri_Yann/Si_mort_a_mors.sg", + "Tryo/Ce_que_l_on_s_aime.sg", + "Tryo/Le_petit_chose.sg", + "Tryo/L_hymne_de_nos_campagnes.sg", + "Yves_Jamait/Et_je_bois.sg", + "Yvon_Etienne/Chemise_rouge.sg", + "Yvon_Etienne/Y_a_des_nouilles_et_du_nougat.sg" + ] +} diff --git a/volume-2.sb b/volume-2.sb new file mode 100644 index 00000000..4eb77ed0 --- /dev/null +++ b/volume-2.sb @@ -0,0 +1,93 @@ +{ +"template" : "songbook.tmpl", +"title" : "Recueil de chansons pour guitare", +"author" : "Crep (R. Goffe) \\and Lohrun (A. Dupas)", +"subtitle" : "Tome 2", +"version" : "3.1", +"mail" : "crep@team-on-fire.com", +"picture" : "Sound__by_Ellesh", +"picturecopyrigth" : "©foxygamergirl @ deviantart.com", +"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", +"licence" : "\\input{license.tex}", +"songs" : [ + "Aaron/U_turn_lili.sg", + "Alexis_HK/Gaspard.sg", + "Anny_Et_Jean-Marc_Versini/La_danse_des_esquimaux.sg", + "Beau_Dommage/La_complainte_du_phoque_en_alaska.sg", + "Belyscendre/Mon_pere_veut_me_marier.sg", + "Belyscendre/Prends_garde_au_loup.sg", + "Ben_Harper/Waiting_on_an_angel.sg", + "Ben_Harper/Widow_of_a_living_man.sg", + "Bob_Dylan/Mr_tambourine_man.sg", + "Boby_Lapointe/La_maman_des_poissons.sg", + "Britney_Spears/Baby_one_more_time.sg", + "Bruce_Springsteen/Pay_me_my_money_down.sg", + "Cat_Stevens/Father_and_son.sg", + "Cat_Stevens/Here_comes_my_baby.sg", + "Claude_Nougaro/Armstrong.sg", + "Cranberries/Animal_instinct.sg", + "Cranberries/Zombie.sg", + "Debout_Sur_Le_Zinc/Poil_aux_yeux.sg", + "Dessins_Animes/Themis_et_Nono.sg", + "Georges_Brassens/Le_petit_cheval.sg", + "Green_Day/American_idiot.sg", + "Henri_Des/Les_betises_a_l_ecole.sg", + "Henri_Des/Mon_cheval_gris.sg", + "Joe_Dassin/La_fleur_aux_dents.sg", + "Jonathan_Coulton/Still_alive.sg", + "Karpatt/Des_gnons_pour_des_pelles.sg", + "Karpatt/Des_idees.sg", + "Karpatt/Leon.sg", + "Karpatt/Les_canards_en_plastique.sg", + "La_Famille_Maestro/Le_rat_de_l_opera.sg", + "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", + "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", + "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg", + "Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg", + "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", + "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", + "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", + "Les_Cowboys_Fringants/1994.sg", + "Les_Cowboys_Fringants/La_reine.sg", + "Les_Cowboys_Fringants/Ti-Cul.sg", + "Les_Fatals_Picards/La_ferme.sg", + "Les_Naufrages/L_harmonica.sg", + "Les_Ogres_de_Barback/Jojo.sg", + "Les_Ogres_de_Barback/Le_temps.sg", + "Les_Ogres_de_Barback/Ptit_chat.sg", + "Los_Lobos/Cancion_del_Mariachi.sg", + "Maxime_Le_Forestier/San_Fransico.sg", + "MC_Solaar/Caroline.sg", + "Mes_souliers_sont_rouges/Le_cycle_du_vin.sg", + "Mes_souliers_sont_rouges/Nuit_humide.sg", + "Michel_Sardou/Les_lacs_du_Connemara.sg", + "Negro_Spiritual/Lord_I_want.sg", + "Oldelaf_et_Monsieur_D/Davy_Crockett.sg", + "Oldelaf_et_Monsieur_D/J_veux_etre_muscle.sg", + "Oldelaf_et_Monsieur_D/Mon_ange.sg", + "Pornophonique/Sad_robot.sg", + "Renaud/Amoureux_de_paname.sg", + "Renaud/Societe_tu_m_auras_pas.sg", + "Rise_Against/Hero_of_war.sg", + "Ritchie_Valens/Come_on_let_s_go.sg", + "Ritchie_Valens/La_bamba.sg", + "Sheepbox/Devil_s_way.sg", + "Simon_Garfunkel/April_come_she_will.sg", + "Simon_Garfunkel/Kathy_s_song.sg", + "Simon_Garfunkel/Mrs_Robinson.sg", + "Steve_Waring/La_baleine_bleue.sg", + "System_of_a_Down/Roulette.sg", + "The_Animals/The_house_of_rising_sun.sg", + "The_Beatles/Let_it_be.sg", + "The_Beatles/Octopus_garden.sg", + "The_Calling/Wherever_you_will_go.sg", + "The_Carpenters/Breaking_up_is_hard_to_do.sg", + "The_Dubliners/Whiskey_in_the_jar.sg", + "The_Nightwatchman/Let_freedom_ring.sg", + "The_White_Stripes/Well_it_s_true_that_we_love_one_another.sg", + "U2/Sunday_bloody_sunday.sg", + "Vincent_Malone/L_escargot_malheureux.sg", + "Yodelice/Sunday_with_a_flu.sg", + "Yuki_Kajiura/Fake_wings.sg" + ] +} From cbb5c8f4c533813756514b93c649ac410cce055c Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Tue, 8 Jun 2010 20:08:10 +0200 Subject: [PATCH 03/24] Remove old file that are no longer used by the new songbook version. --- chordbook.tex | 65 ----------------- doc/.gitignore | 1 - lilypondbook.tex | 65 ----------------- lyricbook.tex | 68 ------------------ mybook.tex | 65 ----------------- naheulbeuk-cb.tex | 59 ---------------- naheulbeuk-lb.tex | 59 ---------------- naheulbeuk-ll.tex | 59 ---------------- naheulbeuk.sgl | 20 ------ songbook-volume.py | 90 ------------------------ template.tex | 44 ------------ volume-1-cb.tex | 65 ----------------- volume-1-lb.tex | 65 ----------------- volume-1-ll.tex | 65 ----------------- volume-1.sgl | 171 --------------------------------------------- volume-2-cb.tex | 65 ----------------- volume-2-lb.tex | 65 ----------------- volume-2-ll.tex | 65 ----------------- volume-2.sgl | 79 --------------------- 19 files changed, 1235 deletions(-) delete mode 100644 chordbook.tex delete mode 100644 doc/.gitignore delete mode 100644 lilypondbook.tex delete mode 100644 lyricbook.tex delete mode 100644 mybook.tex delete mode 100644 naheulbeuk-cb.tex delete mode 100644 naheulbeuk-lb.tex delete mode 100644 naheulbeuk-ll.tex delete mode 100644 naheulbeuk.sgl delete mode 100755 songbook-volume.py delete mode 100644 template.tex delete mode 100644 volume-1-cb.tex delete mode 100644 volume-1-lb.tex delete mode 100644 volume-1-ll.tex delete mode 100644 volume-1.sgl delete mode 100644 volume-2-cb.tex delete mode 100644 volume-2-lb.tex delete mode 100644 volume-2-ll.tex delete mode 100644 volume-2.sgl diff --git a/chordbook.tex b/chordbook.tex deleted file mode 100644 index 39f5841f..00000000 --- a/chordbook.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{cbtitle} -\newauthorindex{authidx}{cbauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Romain Goffe \and Alexandre Dupas} -%\subtitle{} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{feel-the-music} -\picturecopyright{©foxygamergirl @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{songs.sbd} -\end{songs} - -\end{document} diff --git a/doc/.gitignore b/doc/.gitignore deleted file mode 100644 index e3a8c5db..00000000 --- a/doc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.pot diff --git a/lilypondbook.tex b/lilypondbook.tex deleted file mode 100644 index 088425cf..00000000 --- a/lilypondbook.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded,lilypond]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{lltitle} -\newauthorindex{authidx}{llauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Romain Goffe \and Alexandre Dupas} -%\subtitle{} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{feel-the-music} -\picturecopyright{©foxygamergirl @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{songs.sbd} -\end{songs} - -\end{document} diff --git a/lyricbook.tex b/lyricbook.tex deleted file mode 100644 index c2f38544..00000000 --- a/lyricbook.tex +++ /dev/null @@ -1,68 +0,0 @@ -% Copyright (C) 2008 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. - -\documentclass[lyric]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{lbtitle} -\newauthorindex{authidx}{lbauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Romain Goffe \and Alexandre Dupas} -\subtitle{Tome 1} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{feel-the-music} -\picturecopyright{©foxygamergirl @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index par titre des chansons}{titleidx} -\showindex{Index par titre des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{songs.sbd} -\end{songs} - -\end{document} - - - diff --git a/mybook.tex b/mybook.tex deleted file mode 100644 index d5b235e3..00000000 --- a/mybook.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded,lilypond,tabs]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{mybooktitle} -\newauthorindex{authidx}{mybookauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Crep (R. Goffe) \and Lohrun (A. Dupas)} -\subtitle{Tome 2} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{feel-the-music} -\picturecopyright{©foxygamergirl @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{mybook.sbd} -\end{songs} - -\end{document} diff --git a/naheulbeuk-cb.tex b/naheulbeuk-cb.tex deleted file mode 100644 index 8f72b652..00000000 --- a/naheulbeuk-cb.tex +++ /dev/null @@ -1,59 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{naheulbeukcbtitle} - -\graphicspath{ - {img/}, -} - -\title{Le Donjon de Naheulbeuk} -\author{Crep (R.Goffe) \and Lohrun (A.Dupas)} -\subtitle{Recueil de chansons non-officiel} -\version{0.4} -\mail{crep@team-on-fire.com} - -\picture{naheulbeuk01} -\picturecopyright{©PenOfChaos} - -\footer{} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} - -\songsection{Chansons} -\begin{songs}{titleidx} - \input{naheulbeuk.sbd} -\end{songs} - -\end{document} diff --git a/naheulbeuk-lb.tex b/naheulbeuk-lb.tex deleted file mode 100644 index 6d57d6ad..00000000 --- a/naheulbeuk-lb.tex +++ /dev/null @@ -1,59 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[lyric]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{naheulbeuklbtitle} - -\graphicspath{ - {img/}, -} - -\title{Le Donjon de Naheulbeuk} -\author{Crep (R.Goffe) \and Lohrun (A.Dupas)} -\subtitle{Recueil de chansons non-officiel} -\version{0.4} -\mail{crep@team-on-fire.com} - -\picture{naheulbeuk01} -\picturecopyright{©PenOfChaos} - -\footer{} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} - -\songsection{Chansons} -\begin{songs}{titleidx} - \input{naheulbeuk.sbd} -\end{songs} - -\end{document} diff --git a/naheulbeuk-ll.tex b/naheulbeuk-ll.tex deleted file mode 100644 index 1c8f44fe..00000000 --- a/naheulbeuk-ll.tex +++ /dev/null @@ -1,59 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded,lilypond]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{naheulbeuklltitle} - -\graphicspath{ - {img/}, -} - -\title{Le Donjon de Naheulbeuk} -\author{Crep (R.Goffe) \and Lohrun (A.Dupas)} -\subtitle{Recueil de chansons non-officiel} -\version{0.4} -\mail{crep@team-on-fire.com} - -\picture{naheulbeuk01} -\picturecopyright{©PenOfChaos} - -\footer{} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} - -\songsection{Chansons} -\begin{songs}{titleidx} - \input{naheulbeuk.sbd} -\end{songs} - -\end{document} diff --git a/naheulbeuk.sgl b/naheulbeuk.sgl deleted file mode 100644 index 0a6d306e..00000000 --- a/naheulbeuk.sgl +++ /dev/null @@ -1,20 +0,0 @@ -songs/Belyscendre/Mon_pere_veut_me_marier.sg -songs/Belyscendre/Prends_garde_au_loup.sg -songs/Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg -songs/Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg -songs/Le_Donjon_de_Naheulbeuk/Bugger_off.sg -songs/Le_Donjon_de_Naheulbeuk/Geste_heroique.sg -songs/Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg -songs/Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg -songs/Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg -songs/Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg -songs/Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg -songs/Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg -songs/Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg -songs/Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg -songs/Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg -songs/Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg -songs/Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg -songs/Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg -songs/Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg -songs/Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg diff --git a/songbook-volume.py b/songbook-volume.py deleted file mode 100755 index abaa4c14..00000000 --- a/songbook-volume.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/python -# - -import getopt, sys -import os.path -import glob - -def formatSongsDatabase( file, songs ): - sdb = open( file, 'w' ) - - dir = ['img']+map(os.path.dirname, songs) - dir = set( dir ) - sdb.write('\graphicspath{\n') - if sys.hexversion >= 0x20600000: - # use string format introduced in python 2.6 - for dirname in dir: - sdb.write(' {{{imagedir}/}},\n'.format(imagedir=dirname)) - sdb.write('}\n') - for song in songs: - sdb.write('\input{{{songfile}}}\n'.format(songfile=song.strip())) - else: - # use old formating strategy - for dirname in dir: - sdb.write(' {%(imagedir)s/},\n' % {'imagedir':dirname}) - sdb.write('}\n') - for song in songs: - sdb.write('\input{%(songfile)s}\n' % {'songfile':song.strip()}) - sdb.close(); - - -def oldmain(): - songfiles = glob.glob('songs/*/*.sg') - - songvolumes = glob.glob('songs-volume-*') - - for volume in songvolumes: - songs = [] - vol = open( volume ) - for song in vol: - s = song.strip() - songs.append( s ) - songfiles.remove( s ) - vol.close() - formatSongsDatabase( 'db_'+volume+'.sdb', songs ) - - formatSongsDatabase( 'songs.sdb', songfiles ) - -def processSongFile( file, songfile ): - songs = [] - vol = open( songfile ) - for song in vol: - s = song.strip() - songs.append( s ) - vol.close() - formatSongsDatabase( file, songs ) - - -def usage(): - print "erf" - -def main(): - try: - opts, args = getopt.getopt(sys.argv[1:], - "hs:o:", - ["help","songs=","output="]) - except getopt.GetoptError, err: - # print help and exit - print str(err) - usage() - sys.exit(2) - - songFile = None - output = None - - for o, a in opts: - if o in ("-h", "--help"): - usage() - sys.exit() - elif o in ("-s", "--songs"): - songFile = a - elif o in ("-o", "--output"): - output = a - else: - assert False, "unhandled option" - - if songFile and output: - processSongFile( output, songFile) - -if __name__ == '__main__': - main() diff --git a/template.tex b/template.tex deleted file mode 100644 index 1be2ea25..00000000 --- a/template.tex +++ /dev/null @@ -1,44 +0,0 @@ -\providecommand{\defaulttemplate}{ - \title{Recueil de chansons pour guitare} - \author{Romain Goffe \and Alexandre Dupas} - \subtitle{} - \version{3.1} - \mail{crep@team-on-fire.com} - \picture{feel-the-music} - \picturecopyright{©foxygamergirl @ deviantart.com} - \footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} - } - \licence{\input{license.tex}} -} -\providecommand{\template}{\defaulttemplate} -\providecommand{\songslist}{} -\providecommand{\booktype}{chorded} - -\documentclass[\booktype]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{templatetitle} -\newauthorindex{authidx}{templateauth} - -\graphicspath{ - {img/}, -} - -\template -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \songslist -\end{songs} - -\end{document} diff --git a/volume-1-cb.tex b/volume-1-cb.tex deleted file mode 100644 index d6e75009..00000000 --- a/volume-1-cb.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{volume1cbtitle} -\newauthorindex{authidx}{volume1cbauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Romain Goffe \and Alexandre Dupas} -\subtitle{Tome 1} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{feel-the-music} -\picturecopyright{©foxygamergirl @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{volume-1.sbd} -\end{songs} - -\end{document} diff --git a/volume-1-lb.tex b/volume-1-lb.tex deleted file mode 100644 index 2b67fc45..00000000 --- a/volume-1-lb.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[lyric]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{volume1lbtitle} -\newauthorindex{authidx}{volume1lbauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Romain Goffe \and Alexandre Dupas} -\subtitle{Tome 1} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{feel-the-music} -\picturecopyright{©foxygamergirl @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{volume-1.sbd} -\end{songs} - -\end{document} diff --git a/volume-1-ll.tex b/volume-1-ll.tex deleted file mode 100644 index b9e2b96a..00000000 --- a/volume-1-ll.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded,lilypond]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{volume1lltitle} -\newauthorindex{authidx}{volume1llauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Romain Goffe \and Alexandre Dupas} -\subtitle{Tome 1} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{feel-the-music} -\picturecopyright{©foxygamergirl @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{volume-1.sbd} -\end{songs} - -\end{document} diff --git a/volume-1.sgl b/volume-1.sgl deleted file mode 100644 index 7ce56e3e..00000000 --- a/volume-1.sgl +++ /dev/null @@ -1,171 +0,0 @@ -songs/Alain_Bashung/Gaby_oh_gaby.sg -songs/Amy_MacDonald/Mr._Rock_n_Roll.sg -songs/Amy_MacDonald/This_is_the_life.sg -songs/Anais/Mon_coeur_mon_amour.sg -songs/Avril_Lavigne/Things_I_ll_never_say.sg -songs/Barry_Louis_Polisar/All_I_Want_Is_You.sg -songs/Belle_Sebastian/Piazza_New-York_catcher.sg -songs/Benabar/Le_diner.sg -songs/Benabar/Quatre_murs_et_un_toit.sg -songs/Benabar/Y_a_une_fille_qu_habite_chez_moi.sg -songs/Bob_Dylan/Blowin_in_the_wind.sg -songs/Bob_Dylan/Knocking_on_heavens_door.sg -songs/Bruce_Springsteen/Bring_em_home.sg -songs/Bruce_Springsteen/Buffalo_gals.sg -songs/Bruce_Springsteen/O_Mary_don_t_you_weep.sg -songs/Carter_Family/In_the_highways.sg -songs/Carter_Family/Keep_on_the_sunny_side.sg -songs/Cat_Stevens/My_Lady_d_Arbanville.sg -songs/Cat_Stevens/Sad_Lisa.sg -songs/Cat_Stevens/The_wind.sg -songs/Charles_Aznavour/Emmenez-moi.sg -songs/Dessins_Animes/Les_mysterieuses_cites_d_or.sg -songs/Dessins_Animes/L_histoire_d_Actarus.sg -songs/Dessins_Animes/Nicky_Larson.sg -songs/Dessins_Animes/Tom_Sawyer_debut.sg -songs/Dessins_Animes/Tom_Sawyer_fin.sg -songs/Eels/Dirty_girl.sg -songs/Eels/Hey_man.sg -songs/Eels/I_like_birds.sg -songs/Eels/Packing_blankets.sg -songs/Francis_Cabrel/Je_l_aime_a_mourir.sg -songs/Francis_Cabrel/Petite_Marie.sg -songs/Garfunkel_and_Oates/Fuck_you.sg -songs/Georges_Brassens/Cupidon_s_en_fout.sg -songs/Georges_Brassens/Grand_pere.sg -songs/Georges_Brassens/La_chanson_du_herisson.sg -songs/Georges_Brassens/La_mauvaise_reputation.sg -songs/Georges_Brassens/Le_gorille.sg -songs/Georges_Brassens/Les_copains_d_abord.sg -songs/Graeme_Allwright/Ca_je_l_ai_jamais_vu.sg -songs/Graeme_Allwright/Il_faut_que_je_m_en_aille.sg -songs/Graeme_Allwright/Johnny.sg -songs/Graeme_Allwright/Jolie_Bouteille.sg -songs/Graeme_Allwright/Jusqu_a_la_ceinture.sg -songs/Graeme_Allwright/La_mouche_bleue.sg -songs/Graeme_Allwright/Petites_boites.sg -songs/Graeme_Allwright/Petit_garcon.sg -songs/Green_Day/Boulevard_of_broken_dreams.sg -songs/Herman_Dune/I_wish_I_could_see_you_soon.sg -songs/Howie_Day/Collide.sg -songs/Hugues_Aufray/Je_reviens.sg -songs/Hugues_Aufray/Le_Bon_Dieu_s_enervait.sg -songs/Hugues_Aufray/Le_petit_ane_gris.sg -songs/Hugues_Aufray/N_y_pense_plus_tout_est_bien.sg -songs/Hugues_Aufray/Santiano.sg -songs/Hugues_Aufray/Tu_sens_bon_la_terre.sg -songs/Jacques_Brel/Vesoul.sg -songs/Jeff_Buckley/Hallelujah.sg -songs/Joe_Dassin/Le_chemin_de_Papa.sg -songs/Joe_Dassin/Siffler_sur_la_colline.sg -songs/Kana/Plantation.sg -songs/Karpatt/Le_magicien.sg -songs/Karpatt/Les_ptits_cailloux.sg -songs/Karpatt/Melisande.sg -songs/Kimya_Dawson/Tree_hugger.sg -songs/La_Rue_Ketanou/Impossible.sg -songs/La_Rue_Ketanou/La_rue_ketanou.sg -songs/La_Rue_Ketanou/Les_cigales.sg -songs/La_Rue_Ketanou/Les_mots.sg -songs/La_Rue_Ketanou/Ma_faute_a_toi.sg -songs/La_Rue_Ketanou/Tu_parles_trop.sg -songs/Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg -songs/Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg -songs/Le_Donjon_de_Naheulbeuk/Bugger_off.sg -songs/Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg -songs/Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg -songs/Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg -songs/Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg -songs/Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg -songs/Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg -songs/Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg -songs/Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg -songs/Les_Amis_D_Ta_Femme/Cayenne.sg -songs/Les_Amis_D_Ta_Femme/Maree_Basse.sg -songs/Les_Cowboys_Fringants/Droit_devant.sg -songs/Les_Cowboys_Fringants/Etoiles_filantes.sg -songs/Les_Cowboys_Fringants/Histoire_de_peche.sg -songs/Les_Cowboys_Fringants/La_manifestation.sg -songs/Les_Cowboys_Fringants/Les_hirondelles.sg -songs/Les_Cowboys_Fringants/Toune_d_automne.sg -songs/Les_Fatals_Picards/Chasse_peche_et_nature.sg -songs/Les_Hurlements_d_Leo/Poemes.sg -songs/Les_Momes_du_CE2/Mamadou_avait_mal_aux_dents.sg -songs/Les_Ogres_de_Barback/3_-_0.sg -songs/Les_Ogres_de_Barback/Accordeon_pour_les_cons.sg -songs/Les_Ogres_de_Barback/Contes_vents_et_marees.sg -songs/Les_Ogres_de_Barback/Grand-mere.sg -songs/Les_Ogres_de_Barback/L_air_bete.sg -songs/Les_Ogres_de_Barback/La_premiere_fois.sg -songs/Les_Ogres_de_Barback/Petite_societe.sg -songs/Les_Ogres_de_Barback/Pour_me_rendre_a_mon_bureau.sg -songs/Les_Ogres_de_Barback/Rue_de_Panam.sg -songs/Les_Tetes_Raides/L_iditente.sg -songs/Les_Tetes_Raides/Patalo.sg -songs/Les_Tit_s_Nassels/Les_tit_s_ballades.sg -songs/Les_VRP/Leo.sg -songs/Les_Wriggles/Julie_la_petite_olive.sg -songs/Les_Wriggles/Monolithe.sg -songs/Les_Wriggles/Poupine_et_Thierry.sg -songs/Linkin_Park/Numb.sg -songs/Louise_Attaque/Depuis_toujours.sg -songs/Louise_Attaque/Lea.sg -songs/Mano_Negra/Out_of_time_man.sg -songs/Manu_Chao/Bienvenida_a_Tijuana.sg -songs/Manu_Chao/Clandestino.sg -songs/Manu_Chao/Desaparecido.sg -songs/Maurice_Dulac/Dis_a_ton_fils.sg -songs/Mes_souliers_sont_rouges/Les_souliers_rouges.sg -songs/Mes_souliers_sont_rouges/Sainte-Cecile.sg -songs/Mes_souliers_sont_rouges/The_rooster.sg -songs/Moriarty/Jimmy.sg -songs/Noir_Desir/Aux_sombres_heros_de_l_amer.sg -songs/Norah_Jones/Somewhere_over_the_rainbow.sg -songs/Oasis/Wonderwall.sg -songs/Oldelaf_et_Monsieur_D/Cafe.sg -songs/Oldelaf_et_Monsieur_D/Nathalie.sg -songs/Oldelaf_et_Monsieur_D/Petit_Pierrot.sg -songs/Oldelaf_et_Monsieur_D/Raoul_le_pitbull.sg -songs/Oldelaf_et_Monsieur_D/Rue_de_Nantes.sg -songs/Oldelaf_et_Monsieur_D/Trahis.sg -songs/Patrick_Bouchitey/Jesus_reviens.sg -songs/Pierre_Perret/Lily.sg -songs/Pixies/Where_Is_My_Mind.sg -songs/Pow_Wow/Le_lion_est_mort_ce_soir.sg -songs/Radiohead/Creep.sg -songs/Renaud/Des_que_le_vent_soufflera.sg -songs/Renaud/Hexagone.sg -songs/Renaud/Laisse_Beton.sg -songs/Renaud/Manu.sg -songs/Renaud/Marche_a_l_ombre.sg -songs/Renaud/Mistral_Gagnant.sg -songs/Renaud/Petite_fillle_des_sombres_rues.sg -songs/Simon_Garfunkel/Cecilia.sg -songs/Simon_Garfunkel/El_condor_pasa.sg -songs/Simon_Garfunkel/Feeling_groovy.sg -songs/Simon_Garfunkel/Scarborough_Fair.sg -songs/Simon_Garfunkel/The_boxer.sg -songs/Simon_Garfunkel/The_leaves_that_are_green.sg -songs/Simon_Garfunkel/The_sounds_of_silence.sg -songs/Simon_Garfunkel/Wednesday_morning_3a.m.sg -songs/Sinsemilia/J_prefere_100_fois.sg -songs/Steve_Waring/Le_matou.sg -songs/Terra_Naomi/Say_It_s_Possible.sg -songs/The_Beatles/Hey_Jude.sg -songs/The_Beatles/Ob-la-di_ob-la-da.sg -songs/The_Beatles/Yellow_submarine.sg -songs/The_Beatles/Yesterday.sg -songs/The_Eagles/Hotel_California.sg -songs/The_Moldy_Peaches/Anyone_Else_But_You.sg -songs/The_Pogues/Dirty_Old_Town.sg -songs/The_Pogues/Fairytale_of_New-York.sg -songs/Tri_Yann/La_jument_de_Michao.sg -songs/Tri_Yann/La_ville_que_j_ai_tant_aimee.sg -songs/Tri_Yann/Les_prisons_de_Nantes.sg -songs/Tri_Yann/Si_mort_a_mors.sg -songs/Tryo/Ce_que_l_on_s_aime.sg -songs/Tryo/Le_petit_chose.sg -songs/Tryo/L_hymne_de_nos_campagnes.sg -songs/Yves_Jamait/Et_je_bois.sg -songs/Yvon_Etienne/Chemise_rouge.sg -songs/Yvon_Etienne/Y_a_des_nouilles_et_du_nougat.sg diff --git a/volume-2-cb.tex b/volume-2-cb.tex deleted file mode 100644 index f11ee0cd..00000000 --- a/volume-2-cb.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{volume2cbtitle} -\newauthorindex{authidx}{volume2cbauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Crep (R. Goffe) \and Lohrun (A. Dupas)} -\subtitle{Tome 2} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{Sound__by_Ellesh} -\picturecopyright{©Ellesh @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{volume-2.sbd} -\end{songs} - -\end{document} diff --git a/volume-2-lb.tex b/volume-2-lb.tex deleted file mode 100644 index cb02ceca..00000000 --- a/volume-2-lb.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[lyric]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{volume2lbtitle} -\newauthorindex{authidx}{volume2lbauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Crep (R. Goffe) \and Lohrun (A. Dupas)} -\subtitle{Tome 2} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{Sound__by_Ellesh} -\picturecopyright{©Ellesh @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{volume-2.sbd} -\end{songs} - -\end{document} diff --git a/volume-2-ll.tex b/volume-2-ll.tex deleted file mode 100644 index d0836bf6..00000000 --- a/volume-2-ll.tex +++ /dev/null @@ -1,65 +0,0 @@ -% Copyright (C) 2009 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. - -\documentclass[chorded,lilypond]{crepbook} -\usepackage[utf8]{inputenc} -\usepackage[english,french]{babel} - -\newindex{titleidx}{volume2lltitle} -\newauthorindex{authidx}{volume2llauth} - -\graphicspath{ - {img/}, -} - -\title{Recueil de chansons pour guitare} -\author{Crep (R. Goffe) \and Lohrun (A. Dupas)} -\subtitle{Tome 2} -\version{3.1} -\mail{crep@team-on-fire.com} - -\picture{Sound__by_Ellesh} -\picturecopyright{©Ellesh @ deviantart.com} - -\footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} -} - -\licence{\input{license.tex}} - -\begin{document} - -\maketitle - -\showindex{Index des chansons}{titleidx} -\showindex{Index des auteurs}{authidx} - -\songsection{Chansons} -\begin{songs}{titleidx,authidx} - \input{volume-2.sbd} -\end{songs} - -\end{document} diff --git a/volume-2.sgl b/volume-2.sgl deleted file mode 100644 index 7bb0614f..00000000 --- a/volume-2.sgl +++ /dev/null @@ -1,79 +0,0 @@ -songs/Aaron/U_turn_lili.sg -songs/Alexis_HK/Gaspard.sg -songs/Anny_Et_Jean-Marc_Versini/La_danse_des_esquimaux.sg -songs/Beau_Dommage/La_complainte_du_phoque_en_alaska.sg -songs/Belyscendre/Mon_pere_veut_me_marier.sg -songs/Belyscendre/Prends_garde_au_loup.sg -songs/Ben_Harper/Waiting_on_an_angel.sg -songs/Ben_Harper/Widow_of_a_living_man.sg -songs/Bob_Dylan/Mr_tambourine_man.sg -songs/Boby_Lapointe/La_maman_des_poissons.sg -songs/Britney_Spears/Baby_one_more_time.sg -songs/Bruce_Springsteen/Pay_me_my_money_down.sg -songs/Cat_Stevens/Father_and_son.sg -songs/Cat_Stevens/Here_comes_my_baby.sg -songs/Claude_Nougaro/Armstrong.sg -songs/Cranberries/Animal_instinct.sg -songs/Cranberries/Zombie.sg -songs/Debout_Sur_Le_Zinc/Poil_aux_yeux.sg -songs/Dessins_Animes/Themis_et_Nono.sg -songs/Georges_Brassens/Le_petit_cheval.sg -songs/Green_Day/American_idiot.sg -songs/Henri_Des/Les_betises_a_l_ecole.sg -songs/Henri_Des/Mon_cheval_gris.sg -songs/Joe_Dassin/La_fleur_aux_dents.sg -songs/Jonathan_Coulton/Still_alive.sg -songs/Karpatt/Des_gnons_pour_des_pelles.sg -songs/Karpatt/Des_idees.sg -songs/Karpatt/Leon.sg -songs/Karpatt/Les_canards_en_plastique.sg -songs/La_Famille_Maestro/Le_rat_de_l_opera.sg -songs/Le_Donjon_de_Naheulbeuk/Geste_heroique.sg -songs/Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg -songs/Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg -songs/Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg -songs/Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg -songs/Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg -songs/Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg -songs/Les_Cowboys_Fringants/1994.sg -songs/Les_Cowboys_Fringants/La_reine.sg -songs/Les_Cowboys_Fringants/Ti-Cul.sg -songs/Les_Fatals_Picards/La_ferme.sg -songs/Les_Naufrages/L_harmonica.sg -songs/Les_Ogres_de_Barback/Jojo.sg -songs/Les_Ogres_de_Barback/Le_temps.sg -songs/Les_Ogres_de_Barback/Ptit_chat.sg -songs/Los_Lobos/Cancion_del_Mariachi.sg -songs/Maxime_Le_Forestier/San_Fransico.sg -songs/MC_Solaar/Caroline.sg -songs/Mes_souliers_sont_rouges/Le_cycle_du_vin.sg -songs/Mes_souliers_sont_rouges/Nuit_humide.sg -songs/Michel_Sardou/Les_lacs_du_Connemara.sg -songs/Negro_Spiritual/Lord_I_want.sg -songs/Oldelaf_et_Monsieur_D/Davy_Crockett.sg -songs/Oldelaf_et_Monsieur_D/J_veux_etre_muscle.sg -songs/Oldelaf_et_Monsieur_D/Mon_ange.sg -songs/Pornophonique/Sad_robot.sg -songs/Renaud/Amoureux_de_paname.sg -songs/Renaud/Societe_tu_m_auras_pas.sg -songs/Rise_Against/Hero_of_war.sg -songs/Ritchie_Valens/Come_on_let_s_go.sg -songs/Ritchie_Valens/La_bamba.sg -songs/Sheepbox/Devil_s_way.sg -songs/Simon_Garfunkel/April_come_she_will.sg -songs/Simon_Garfunkel/Kathy_s_song.sg -songs/Simon_Garfunkel/Mrs_Robinson.sg -songs/Steve_Waring/La_baleine_bleue.sg -songs/System_of_a_Down/Roulette.sg -songs/The_Animals/The_house_of_rising_sun.sg -songs/The_Beatles/Let_it_be.sg -songs/The_Beatles/Octopus_garden.sg -songs/The_Calling/Wherever_you_will_go.sg -songs/The_Carpenters/Breaking_up_is_hard_to_do.sg -songs/The_Dubliners/Whiskey_in_the_jar.sg -songs/The_Nightwatchman/Let_freedom_ring.sg -songs/The_White_Stripes/Well_it_s_true_that_we_love_one_another.sg -songs/U2/Sunday_bloody_sunday.sg -songs/Vincent_Malone/L_escargot_malheureux.sg -songs/Yodelice/Sunday_with_a_flu.sg -songs/Yuki_Kajiura/Fake_wings.sg From 7ed7aa4c12c660f2f54d42f5c2a65010a614df05 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Tue, 8 Jun 2010 20:17:04 +0200 Subject: [PATCH 04/24] Update README. --- README | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/README b/README index 641c5d65..44774929 100644 --- a/README +++ b/README @@ -1,15 +1,13 @@ -Chordbook Compilation Chain +Songbook Compilation Chain -This package provides a compilation toolchain for latex -chordbook. Some modifications have been done to the different files in -order to match my desire. The main goal of this package is to have a -simple make that allow to build a good looking chordbook without the -all the c code to compile as provided in the original songs -distribution. +This package provides a compilation toolchain that produce LaTeX +songbook using the LaTeX songs package. A new LaTeX document class is +provided to allow specific customisation and new command like embedded +guitar tabs or lilypond sheets. -Currently this package is distribued with a chordbook written and -desinged by one of my co-worker at the lab. It is provided with -respect to its Creative Commons Licence. +This package is distribued along with a songbook written and designed +by Crep (R. Goffe). This part of the package is provided with respect +to the CC-BY-SA licence. -All other files are subject to the GNU GPLv2 except if another licence -is precised. +Other document are subject to the GNU GPLv2 except if another licence +is precised in the header. From 60878dc3c5205772f883e1fc8ac1fd0d363f4f2a Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Tue, 8 Jun 2010 20:17:58 +0200 Subject: [PATCH 05/24] Update NEWS. --- NEWS | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/NEWS b/NEWS index 690c673f..2c1090d6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +songbook (v0.7) + + (lohrun) Introduction of a new songbook format. The compilation + toolchain have been updated accordingly. + (lohrun) Use LaTeX Songs package v2.10 + + -- Alexandre Dupas Tue, 08 Jun 2010 20:15:39 +0200 + songbook (v0.6) (crep, Jeanne Dupas, lohrun) Add songs From 1c362100289cd3711c0c4b6042c7719893da1bae Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Tue, 8 Jun 2010 20:19:45 +0200 Subject: [PATCH 06/24] Remove staging directory. It would be better to have a staging branch. --- staging/California_s_dark.sg | 80 ------------ staging/La_chanson_du_vieux_Gildas.sg | 37 ------ staging/Ma_fille.sg | 169 -------------------------- staging/Moi_si_un_jour.sg | 60 --------- staging/Touche_pas_a_mon_ecole.sg | 91 -------------- staging/Vanity.sg | 85 ------------- staging/du-simple-au-neant.jpg | Bin 18061 -> 0 bytes 7 files changed, 522 deletions(-) delete mode 100644 staging/California_s_dark.sg delete mode 100644 staging/La_chanson_du_vieux_Gildas.sg delete mode 100644 staging/Ma_fille.sg delete mode 100644 staging/Moi_si_un_jour.sg delete mode 100644 staging/Touche_pas_a_mon_ecole.sg delete mode 100644 staging/Vanity.sg delete mode 100644 staging/du-simple-au-neant.jpg diff --git a/staging/California_s_dark.sg b/staging/California_s_dark.sg deleted file mode 100644 index d19a398a..00000000 --- a/staging/California_s_dark.sg +++ /dev/null @@ -1,80 +0,0 @@ -\songcolumns{2} -\beginsong{California's dark}[by=The Nightwatchman,cov=one-man-revolution] - - \cover - \gtab{Fa#}{2:022100} - \gtab{Si}{2:X02220} - - \beginverse - It started in base\[Fa#]ments - \[Si] And it started in \[Fa#]sheds - It started in back\[Fa#]yards - \[Si] And was hidden under \[Fa#]beds - - \[Mi/Si] I turned on the TV - \[Si] Don't believe a word they \[Fa#]say - \[Mi/Si] We can't stay here now love - \[Si] And we can't get away \[Fa#] - \endverse - - \beginchorus - \[Si] There's a riot on \[Fa#]Sunset - \[Si] And fires burn in the \[Fa#]park - \[Si] The sun has \[Fa#]set my friend - \[Si] And California's dark \[La Fa#] - \endchorus - - - \beginverse - And over the screaming - I heard a clear voice - I looked at my choices - And I made a choice - Smoke and ashes - Tonight hide the stars - The stop lights are red now, love - We've come for what's ours - \endverse - - \musicnote{switch on power chords} - - \beginverse - Come stand among the rattlesnakes - At the side of the desert road - And close your eyes and listen - To the music hard and cold - Tonight the moon is blackened - Tonight the doors are shut - Behind the shuttered windows - We pray the sun will come up - \endverse - - \musicnote{back to standard chords} - - \beginverse - For something walks across these fields - For which there is no name - You might have heard different - But I was there when it came - It will start with a spark - And a great fire will grow - Don't know how I know it - But I just know - \endverse - - - \beginchorus - There's a riot on Sunset - And fires burn in the park - The sun sets everywhere - And the whole damn country's dark - \endchorus - - \beginchorus - There's a riot on Sunset - And fires burn in the park - The sun has set my friend - And California's dark - \endchorus - -\endsong diff --git a/staging/La_chanson_du_vieux_Gildas.sg b/staging/La_chanson_du_vieux_Gildas.sg deleted file mode 100644 index 305b59a4..00000000 --- a/staging/La_chanson_du_vieux_Gildas.sg +++ /dev/null @@ -1,37 +0,0 @@ -\songcolumns{2} -\beginsong{La chanson du vieux Gildas}[by=Le Donjon de Naheulbeuk] - - \capo{3} - \gtab{Do}{X32010} - \gtab{Sol}{320003} - \gtab{Fa}{1:022100} - - - \beginverse - J'avais une cahutte en ruine sur le sentier - Qui relie Chnafon à Valtordu, - La vie en ermite, sans être un super pied, - C'était pas trop pourri non plus. - \endverse - - \beginverse - Pendant des années, j'en ai vu des bourrins - Des nabots, des elfes et des sorciers, - Marcher dans mes tomates en faisant les malins, - Comme font tous les aventuriers - \echo{Allez chauffe!} - \endverse - - \beginverse - Puis vint un soir cette équipe de blaireaux, - Ils avaient l'air paumés, - Mais pas trop maléfiques, - La blonde était stupide et l'ogre un peu craignos, - \endverse - - \beginverse - Puis soudain le barbare a sorti son épée, il a sauté sur moi et PAF - C'est la chanson du vieux Gildas! - \endverse - -\endsong \ No newline at end of file diff --git a/staging/Ma_fille.sg b/staging/Ma_fille.sg deleted file mode 100644 index 02d4c898..00000000 --- a/staging/Ma_fille.sg +++ /dev/null @@ -1,169 +0,0 @@ -\songcolumns{3} -\beginsong{Ma fille}[by=Les Ogres de Barback,cov=du-simple-au-neant] - - - \cover - \gtab{Mi&}{6: X02220} - \gtab{Si&}{6: 022100} - \gtab{Dom}{3: X02210} - \gtab{Solm}{3: 022000} - \gtab{Sol#}{4: 022100} - - - \beginverse - J'ai \[Mim]creusé la terre, - J'ai découpé la lune - Puis gratté le soleil - En marchant sur l'espace \dots - \endverse - - \beginchorus - Sais-\[Sol]tu, ma fille, - Je n'y ai rien \[Ré]trouvé de \[Mim]mieux! - \endchorus - - \beginverse - J'ai \[Mim]foulé les poubelles - Trempé dans les égouts - J'ai fait les catacombes - Pareilles aux \[Do]quatre \[Ré]bouts - De tous les \[Do]coins de \[Ré]terre - Des plaines \[Do]et du dé\[Ré]sert - Des mon\[Do]tagnes ou des \[Ré]mers - Tout près des \[Mim]continents - \endverse - - \beginverse* - J'y ai \[Mim]vu, ma fille, - L'été et \[Ré]le prin\[Mim]temps - L'automne et puis l'hiver - La brume \[Ré]sur l'oc\[Mim]éan - Un orage en colère - Un vol \[Ré]de cormo\[Mim]rans - Des millions éphémères - Des gouttes d'eau, du vent \dots - \endverse - - \beginchorus - Vois-tu, ma fille, - Je n'ai rien vu de mieux! - \endchorus - - \beginverse - Y'a des âmes imbéciles - Qui se battent et pour peu - Et d'autres plus tranquilles - Qui m'ont offert du temps - J'en ai gardé l'odeur - D'une épice qui grille - J'ai goûté la saveur - Lorsque le feu pétille - Lorsque le feu divin, - Sous un ciel qui brille - De mille étoiles filantes - D'une main dans ma main - \endverse - - \beginverse* - Pour une nuit pétante, - Amène prétentieux - L'envie d'une autre vie - La volonté discrète - De se poser enfin - D'oublier les conquêtes - Et fuir le chemin \dots - \endverse - - \beginchorus - Je te le dis, ma fille, - Je n'ai rien fait de mieux! - \endchorus - - \beginverse - Et je suis reparti - Continuer, sans arrêt - A fouiller dans les trains - A retourner la terre - A perdre des matins - A voir dans tous les verres - Si l'alcool s'ennuie - Pour être sûr du goût, - Du goût de mon dégoût - Quand l'ivresse s'enfuit - Je me suis retrouvé - De situations drôles - A d'autres plus violentes - \endverse - - \beginverse* - Prince et puis poète - Clochard et sans issue - Paumé, analphabète - Roi du monde indécis - De rendre le bonheur - A des gens plus petits - Puis dévoiler l'horreur - D'une vie malhonnête - \endverse - - \beginchorus - Entends-tu, ma fille, - Je n'ai rien dit de mieux! - \endchorus - - - \beginverse - J'ai \[Ré]frôlé de mes doigts - Les peaux les plus sen\[Mim]suelles - J'ai \[Ré]tenté au hasard - Pour l'amour éternel - Traî\[Ré]nant dans les quartiers - Où vivent \[Mim]les étoiles - Qui m'ont appris, déçues, - Qu'être superficiel - Qu'on vive pour le cul - Dans un décor de miel - Le savoir dans la soie - Le luxe \[Do]et l'impor\[Ré]tance - Derrière chacun pour soi - Cache encore la souffrance - Je les ai saluées - Et là encore j'ai \[Ré]fui - Je me suis réfugié, - Enfermé pour de bon - Des pensées, des idées, - Délivré des leçons - Le savoir au parfait - La culture à foison - \endverse - - \beginverse - J'en ai \[Mim]veillé des nuits - A pas\[Ré]ser en re\[Mim]vue - Les couleurs de ma vie - Je me suis aperçu - Au terme du bilan - Si c'était réussi - Que je parle dix langues - J'ai sur le bout des doigts - La culture et les lois - Et cette main qui tangue - \endverse - - \beginverse* - À coucher au papier - Tous ces mots inutiles - Où je parle de moi - Pour mieux parler de toi - À coucher au papier - Tous ces mots inutiles - Où je parle de moi - Pour mieux parler de toi - \endverse - - \beginchorus - Où je parle de moi - Pour mieux parler de toi - \endchorus - -\endsong diff --git a/staging/Moi_si_un_jour.sg b/staging/Moi_si_un_jour.sg deleted file mode 100644 index cb741e4c..00000000 --- a/staging/Moi_si_un_jour.sg +++ /dev/null @@ -1,60 +0,0 @@ -\songcolumns{2} -\beginsong{Moi si un jour}[by=La crevette d'acier] - - \beginverse - Moi si un jour je monte au ciel - Je leur dirais comment c'était - Cette pluie qui tombe comme de la grêle - Et pas le temps de s'abriter - \endverse - - \beginverse - Moi si un jour je monte au ciel - Ce s'ra par mes propres moyens - Et sûr'ment pas à tire d'ailes - J'aime trop flâner sur les chemins - \endverse - - \beginverse - Moi si un jour je monte au ciel - J'espère croiser des attardas - Qui croient toujours qu'la vie est belle - Leur offrir un coup et s'marrer - \endverse - - \beginverse - Moi si un jour je monte au ciel - C'jour là p't'être que Dieu aura bu - Il m'expédiera au septième - Sur un nuage peuplé de jolis culs - \endverse - - \beginverse - Moi si un jour je monte au ciel - J'emporterais une guitare - Je chant'rais pour de l'hydromel - Des ailes neuves ou un cigare - \endverse - - \beginverse - Moi si un jour je monte au ciel - J'aurais envie que tu sois là - Comme dans la chambre de cet hôtel - Où on s'est pris la première fois - \endverse - - \beginverse - Moi si un jour je monte au ciel - C'est qu'mon coeur en aura eu marre - De trainer son batt'ment fidèle - Dans la fumée épaisse des bars - \endverse - - \beginverse - Moi si un jour je monte au ciel - J'aurais le trac soyez-en sûrs - Car l'éternité c'est mortel - Un cri qui s'transforme en murmure - \endverse - -\endsong \ No newline at end of file diff --git a/staging/Touche_pas_a_mon_ecole.sg b/staging/Touche_pas_a_mon_ecole.sg deleted file mode 100644 index 0b2c0294..00000000 --- a/staging/Touche_pas_a_mon_ecole.sg +++ /dev/null @@ -1,91 +0,0 @@ -\songcolumns{2} -\beginsong{Touche pas à mon école}[by=Les Ogres de Barback,cov=pitt-ocha-2] - - \cover - - \beginverse - Petite sœur, il est quelle heure ? Je t'écoute - Il est midi, c'est l'heure du casse-croute - \endverse - - \beginverse* - J'ai une envie irrésistible - De manger des araignées - Des puces, des poux bien épicés - Une horde de scarabées - Avec du beurre - Enfin bref, des horreurs ! - \endverse - - \beginchorus - Mais s'il continue à toucher à mon école - Le président: à la casserole ! - \endchorus - - \beginverse - Petite sœur, il est quelle heure ? Dis-le moi vite - Il est midi allume le feu sous la marmite. - \endverse - - \beginverse* - J'ai cuisiné un fricassé - De bras-cassés dorés à souhait - Un plat de trucs dégoulinants - Très délicats à digérer - Des asticots, des raviolis, - Des gros gugus un peu cramés, - Grouillants, bouillants - Enfin bref, dégoutant ! - \endverse - - - \beginverse - Quelle heure est-il ? J'ai le ventre qui m'appelle. - Il est midi et j'ai fait chauffer les gamelles. - \endverse - - \beginverse* - On va goûter un velouté - De vieux ministres avinés, - Et relevé à l'Élysée - Et de quelques lois à la noix, - Un pot-au-feu de députés, - Un patron qui pue les pieds - Et le fromage, - Enfin bref, bon courage ! - \endverse - - \beginverse - Nous on veut pas être tassés au fond des classes - Quelle heure est-il ? J'ai le ventre qui grimace - \endverse - - \beginverse* - Qui gargouille, qui crie fort, - Qui fait la grève et qui se tord - J'ai l'estomac qui crie famine ! - Mon école qui tombe en ruine ! - Mes entrailles qui me tiraillent, - Et mon pays qui déraille. - \endverse - - \beginverse* - On est des marmots qu'ont les crocs. - Des lardons qui ont les ch'tons - Des gamins dans le pétrin. - Des mouflets très inquiets. - \endverse - - \beginverse* - Et c'est la fin des haricots - Et c'est la fin des haricots - C'est la fin des haricots - J'ai les boules, j'ai les glandes - C'est du sel de Guérande - C'est la fin des haricots - J'en ai gros sur la patate - Achète un costard cravate - C'est la fin des haricots \rep{7} - \endverse - -\endsong \ No newline at end of file diff --git a/staging/Vanity.sg b/staging/Vanity.sg deleted file mode 100644 index 059236de..00000000 --- a/staging/Vanity.sg +++ /dev/null @@ -1,85 +0,0 @@ -\songcolumns{3} -\beginsong{Vanity}[by=Yuki Kajiura,cov=fiction] - - -\cover -\gtab{Lam}{X02210} -\gtab{Rém}{XX0231} -\gtab{Sol}{320003} -\gtab{Fa}{1: 022100} -\gtab{Do}{X32010} - -\beginverse -\[Lam]Enter the scenery of love -Lovers are \[Rém]in pain -\[Sol]They blame and \[Fa]pick on each \[Sol]other -\endverse - -\beginverse* -You play melodies of love -Forgotten phrases -Tender and sweet -\endverse - -\beginverse -\[Lam]Come a little bit \[Sol]closer -Don't \[Rém]stay in the \[Sol]shadows my \[Lam]boy -\echo{La la la la la la la} -The melody's fading \dots -Now or never, love will go -\endverse - -\beginchorus -\[Lam]I'll be \[Mim]there -\[Lam]By your \[Mim]side -\[Lam]Share your \[Mim]fears -In the \[Do]silent re\[Mi7]demption -Touch my lips, -Hold me tight -Live in vanity -For a while -\endchorus - -\beginverse -As winter melts in the sun -Boys will be out running and reaching for the light -Oh mother please find me in that place -Before the memories tear us into pieces -\endverse - -\beginverse* -Clinging to affection, we somehow do learn to live -\echo{La la la la la la la} -In endless motion -Never coming back, love will go -\endverse - -\beginchorus -You'll be there by my side -You may never know my devotion -Feel my breath in the quiet night -Live in vanity for ever -\endchorus - -\beginverse -Won't you feel my gentle emotion -Let us live in peace with conviction -If you're here please hold me \dots -\endverse - -\beginchorus -I'll be there by your side -Share your fears in the silent -Redemption -Touch my lips, hold me tight -Live in vanity for a while -\endchorus - -\beginchorus -You'll be there by my side -You may never know my devotion -Feel my breath in the quiet night -Live in vanity for ever -\endchorus - -\endsong diff --git a/staging/du-simple-au-neant.jpg b/staging/du-simple-au-neant.jpg deleted file mode 100644 index f042ddeb8d37810ab4666fe9d40c21da9ad3f345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18061 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 From 27412aee1abdbcec147adb4e77e3f17a81421dd8 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Tue, 8 Jun 2010 20:24:01 +0200 Subject: [PATCH 07/24] Add new songs to the NEWS file. --- NEWS | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/NEWS b/NEWS index 2c1090d6..7238557f 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,85 @@ songbook (v0.7) + (Various authors) Add songs + Alexandre Dupas: + Alexis HK - Gaspard + The White Stripes - Well It's True That We Love One Another + Yodelice - Sunday with a flu + The Calling - Wherever you will go + The Nightwatchman - Let Freedom Ring + MC Solaar - Caroline + System of a Down - Roulette + The Fray - How to save a life + The Beatles - Twist and shout + John Lennon - Working Class Hero + Dominique Goffe: + Mes souliers sont rouges - Le cycle du vin + Michel Sardou - Les lacs du Connemara + Dorian Goffe: + Le Donjon de Naheulbeuk - Geste héroïque + Jeanne Dupas: + AaRON - U-Turn + Ben Harper - Waiting on an angel + Pierre Caserta: + Alicia Keys - If I ain't got you + Jason Marz - I'm yours + Romain Goffe: + The Beatles - Octopus Garden + Bob Dylan - Mr Tambourine Man + Cat Stevens - Here comes my baby + Cat Stevens - Father and Son + Karpatt - Des gnons pour des pelles + Karpatt - Les canards en plastique + Les Cowboys Fringants - 1994 + Les Ogres de Barback - Jojo + Simon & Garfunkel - April come she will + Simon & Garfunkel - Kathy's song + The Carpenters - Breaking up is hard to do + The Dubliners - Whiskey in the jar + Mes souliers sont rouges - Nuit humide + Ritchie Valens - Come on, let's go! + Claude Nougaro - Armstrong + Maxime Le Forestier - San Francisco + Simon & Garfunkel - Mrs. Robinson + Les Fatals Picards - La ferme + Beau Dommage - La complainte du phoque en Alaska + Anny et Jean-Marc Versini - La danse des esquimaux + Debout sur le Zinc - Poil aux yeux + Georges Brassens - Le petit cheval + Les ogres de barback - Le temps + Vincent Malone - L'escargot malheureux + Boby Lapointe - La maman des poissons + La Famille Maestro - Le rat de l'opéra + Jonathan Coulton - Still alive + Los Lobos - Cancion del Mariachi + Renaud - Société tu m'auras pas + Renaud - Amoureux de Paname + Henri Dès - Mon cheval gris + Henri Dès - Les bêtises à l'école + Le Donjon de Naheulbeuk - Noel en Mordor + Joe Dassin - La fleur aux dents + Pierre Bachelet - En l'an 2001 + Pierre Bachelet - Vingt ans + La Rue Kétanou - La chance + La Rue Kétanou - Les hommes que j'aime + Joe Dassin - Le moustique + Graeme Allwright - Henrik + Graeme Allwright - Le clochard américain + Hugues Aufray - Elle descend de la montagne + Traditionnel - Chevaliers de la table ronde + Hugues Aufray - Debout les gars + Indochine - L'aventurier + Indochine - J'ai demandé à la lune + Traditionnel - Vent frais + Traditionnel - La cucaracha + Parabellum - Saturnin + Dessins Animés - Inspecteur Gadget + Dessins Animés - L'oiseau bleu + Alain Souchon - Foule sentimentale + Les Ogres de Barback - Bumbaia + Francine Pohl - La sorcière Grabouilla + Thomas Bellet: + Sheepbox - Devil's way (lohrun) Introduction of a new songbook format. The compilation toolchain have been updated accordingly. (lohrun) Use LaTeX Songs package v2.10 From f692c16128d00ad91f6187c0dbc1bcf2573c9709 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Wed, 9 Jun 2010 17:30:22 +0200 Subject: [PATCH 08/24] Sort the list of all songs to be coherent with the old songbook version. --- songbook.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/songbook.py b/songbook.py index 690f2379..3f1f7a2e 100755 --- a/songbook.py +++ b/songbook.py @@ -38,7 +38,9 @@ def makeTexFile(songbook, output): # output \songlist if not type(songs) is list: if songs == "all": - songs = map(lambda x: x[6:], glob.glob('songs/*/*.sg')) + l = glob.glob('songs/*/*.sg') + l.sort() + songs = map(lambda x: x[6:], l) if len(songs) > 0: out.write('\\newcommand{\\songslist}{\n') dir += map(os.path.dirname, map(lambda x:"songs/"+x, songs)) From 449409f83c88fb22500b5d4cd307ca7221553681 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Wed, 9 Jun 2010 17:31:18 +0200 Subject: [PATCH 09/24] Correct typo. --- naheulbeuk.sb | 2 +- songbook.sb | 2 +- volume-1.sb | 2 +- volume-2.sb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/naheulbeuk.sb b/naheulbeuk.sb index dba229a7..decb7cf8 100644 --- a/naheulbeuk.sb +++ b/naheulbeuk.sb @@ -6,7 +6,7 @@ "version" : "0.4", "mail" : "crep@team-on-fire.com", "picture" : "naheulbeuk01", -"picturecopyrigth" : "©PenOfChaos", +"picturecopyright" : "©PenOfChaos", "footer" : "", "licence" : "\\input{license.tex}", "songs" : [ diff --git a/songbook.sb b/songbook.sb index cd8bd400..3047dcdd 100644 --- a/songbook.sb +++ b/songbook.sb @@ -5,7 +5,7 @@ "version" : "3.1", "mail" : "crep@team-on-fire.com", "picture" : "feel-the-music", -"picturecopyrigth" : "©foxygamergirl @ deviantart.com", +"picturecopyright" : "©foxygamergirl @ deviantart.com", "footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", "licence" : "\\input{license.tex}", "songs" : "all" diff --git a/volume-1.sb b/volume-1.sb index 54b26f09..36f84a38 100644 --- a/volume-1.sb +++ b/volume-1.sb @@ -6,7 +6,7 @@ "version" : "3.1", "mail" : "crep@team-on-fire.com", "picture" : "feel-the-music", -"picturecopyrigth" : "©foxygamergirl @ deviantart.com", +"picturecopyright" : "©foxygamergirl @ deviantart.com", "footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", "licence" : "\\input{license.tex}", "songs" : [ diff --git a/volume-2.sb b/volume-2.sb index 4eb77ed0..b9068b1b 100644 --- a/volume-2.sb +++ b/volume-2.sb @@ -6,7 +6,7 @@ "version" : "3.1", "mail" : "crep@team-on-fire.com", "picture" : "Sound__by_Ellesh", -"picturecopyrigth" : "©foxygamergirl @ deviantart.com", +"picturecopyright" : "©foxygamergirl @ deviantart.com", "footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", "licence" : "\\input{license.tex}", "songs" : [ From 0a15125b07dd6c6f5ab69dcb68a82f721240b2db Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Sat, 12 Jun 2010 10:36:06 +0200 Subject: [PATCH 10/24] Remove open options as it is the default value. --- songbook.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/songbook.py b/songbook.py index 3f1f7a2e..4a394c2f 100755 --- a/songbook.py +++ b/songbook.py @@ -1,4 +1,5 @@ #!/usr/bin/python +# -*- coding: utf-8 -*- # import getopt, sys @@ -52,7 +53,7 @@ def makeTexFile(songbook, output): for song in songs: out.write(' \\input{{songs/{songfile}}}\n'.format(songfile=song.strip())) out.write('}\n') - tmpl = open("templates/"+template, 'r') + tmpl = open("templates/"+template) out.write(tmpl.read().replace("SONGBOOKNAME", name+"_index")) tmpl.close() out.close() From 03b501130cbd4027da26e9e064f17660345f7c39 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Sat, 12 Jun 2010 10:37:36 +0200 Subject: [PATCH 11/24] =?UTF-8?q?Remove=20=C2=A9=20character?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- naheulbeuk.sb | 2 +- volume-1.sb | 2 +- volume-2.sb | 158 ++++++++++++++++++++++++-------------------------- 3 files changed, 78 insertions(+), 84 deletions(-) diff --git a/naheulbeuk.sb b/naheulbeuk.sb index decb7cf8..2bc53a98 100644 --- a/naheulbeuk.sb +++ b/naheulbeuk.sb @@ -6,7 +6,7 @@ "version" : "0.4", "mail" : "crep@team-on-fire.com", "picture" : "naheulbeuk01", -"picturecopyright" : "©PenOfChaos", +"picturecopyright" : "PenOfChaos", "footer" : "", "licence" : "\\input{license.tex}", "songs" : [ diff --git a/volume-1.sb b/volume-1.sb index 36f84a38..45fdc0e8 100644 --- a/volume-1.sb +++ b/volume-1.sb @@ -6,7 +6,7 @@ "version" : "3.1", "mail" : "crep@team-on-fire.com", "picture" : "feel-the-music", -"picturecopyright" : "©foxygamergirl @ deviantart.com", +"picturecopyright" : "foxygamergirl @ deviantart.com", "footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", "licence" : "\\input{license.tex}", "songs" : [ diff --git a/volume-2.sb b/volume-2.sb index b9068b1b..65fcb35b 100644 --- a/volume-2.sb +++ b/volume-2.sb @@ -3,91 +3,85 @@ "title" : "Recueil de chansons pour guitare", "author" : "Crep (R. Goffe) \\and Lohrun (A. Dupas)", "subtitle" : "Tome 2", -"version" : "3.1", "mail" : "crep@team-on-fire.com", +"version" : "3.1", "picture" : "Sound__by_Ellesh", -"picturecopyright" : "©foxygamergirl @ deviantart.com", "footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", "licence" : "\\input{license.tex}", +"picturecopyright" : "Ellesh @ deviantart.com", +"booktype" : [ + "chorded" + ], "songs" : [ - "Aaron/U_turn_lili.sg", - "Alexis_HK/Gaspard.sg", - "Anny_Et_Jean-Marc_Versini/La_danse_des_esquimaux.sg", - "Beau_Dommage/La_complainte_du_phoque_en_alaska.sg", - "Belyscendre/Mon_pere_veut_me_marier.sg", - "Belyscendre/Prends_garde_au_loup.sg", - "Ben_Harper/Waiting_on_an_angel.sg", - "Ben_Harper/Widow_of_a_living_man.sg", - "Bob_Dylan/Mr_tambourine_man.sg", - "Boby_Lapointe/La_maman_des_poissons.sg", - "Britney_Spears/Baby_one_more_time.sg", - "Bruce_Springsteen/Pay_me_my_money_down.sg", - "Cat_Stevens/Father_and_son.sg", - "Cat_Stevens/Here_comes_my_baby.sg", - "Claude_Nougaro/Armstrong.sg", - "Cranberries/Animal_instinct.sg", - "Cranberries/Zombie.sg", - "Debout_Sur_Le_Zinc/Poil_aux_yeux.sg", - "Dessins_Animes/Themis_et_Nono.sg", - "Georges_Brassens/Le_petit_cheval.sg", - "Green_Day/American_idiot.sg", - "Henri_Des/Les_betises_a_l_ecole.sg", - "Henri_Des/Mon_cheval_gris.sg", - "Joe_Dassin/La_fleur_aux_dents.sg", - "Jonathan_Coulton/Still_alive.sg", - "Karpatt/Des_gnons_pour_des_pelles.sg", - "Karpatt/Des_idees.sg", - "Karpatt/Leon.sg", - "Karpatt/Les_canards_en_plastique.sg", - "La_Famille_Maestro/Le_rat_de_l_opera.sg", - "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", - "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", - "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg", - "Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg", - "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", - "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", - "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", - "Les_Cowboys_Fringants/1994.sg", - "Les_Cowboys_Fringants/La_reine.sg", - "Les_Cowboys_Fringants/Ti-Cul.sg", - "Les_Fatals_Picards/La_ferme.sg", - "Les_Naufrages/L_harmonica.sg", - "Les_Ogres_de_Barback/Jojo.sg", - "Les_Ogres_de_Barback/Le_temps.sg", - "Les_Ogres_de_Barback/Ptit_chat.sg", - "Los_Lobos/Cancion_del_Mariachi.sg", - "Maxime_Le_Forestier/San_Fransico.sg", - "MC_Solaar/Caroline.sg", - "Mes_souliers_sont_rouges/Le_cycle_du_vin.sg", - "Mes_souliers_sont_rouges/Nuit_humide.sg", - "Michel_Sardou/Les_lacs_du_Connemara.sg", - "Negro_Spiritual/Lord_I_want.sg", - "Oldelaf_et_Monsieur_D/Davy_Crockett.sg", - "Oldelaf_et_Monsieur_D/J_veux_etre_muscle.sg", - "Oldelaf_et_Monsieur_D/Mon_ange.sg", - "Pornophonique/Sad_robot.sg", - "Renaud/Amoureux_de_paname.sg", - "Renaud/Societe_tu_m_auras_pas.sg", - "Rise_Against/Hero_of_war.sg", - "Ritchie_Valens/Come_on_let_s_go.sg", - "Ritchie_Valens/La_bamba.sg", - "Sheepbox/Devil_s_way.sg", - "Simon_Garfunkel/April_come_she_will.sg", - "Simon_Garfunkel/Kathy_s_song.sg", - "Simon_Garfunkel/Mrs_Robinson.sg", - "Steve_Waring/La_baleine_bleue.sg", - "System_of_a_Down/Roulette.sg", - "The_Animals/The_house_of_rising_sun.sg", - "The_Beatles/Let_it_be.sg", - "The_Beatles/Octopus_garden.sg", - "The_Calling/Wherever_you_will_go.sg", - "The_Carpenters/Breaking_up_is_hard_to_do.sg", - "The_Dubliners/Whiskey_in_the_jar.sg", - "The_Nightwatchman/Let_freedom_ring.sg", - "The_White_Stripes/Well_it_s_true_that_we_love_one_another.sg", - "U2/Sunday_bloody_sunday.sg", - "Vincent_Malone/L_escargot_malheureux.sg", - "Yodelice/Sunday_with_a_flu.sg", - "Yuki_Kajiura/Fake_wings.sg" - ] + "Aaron/U_turn_lili.sg", + "Alexis_HK/Gaspard.sg", + "Anny_Et_Jean-Marc_Versini/La_danse_des_esquimaux.sg", + "Beau_Dommage/La_complainte_du_phoque_en_alaska.sg", + "Belyscendre/Prends_garde_au_loup.sg", + "Belyscendre/Mon_pere_veut_me_marier.sg", + "Ben_Harper/Widow_of_a_living_man.sg", + "Ben_Harper/Waiting_on_an_angel.sg", + "Bob_Dylan/Mr_tambourine_man.sg", + "Boby_Lapointe/La_maman_des_poissons.sg", + "Britney_Spears/Baby_one_more_time.sg", + "Bruce_Springsteen/Pay_me_my_money_down.sg", + "Cat_Stevens/Here_comes_my_baby.sg", + "Cat_Stevens/Father_and_son.sg", + "Claude_Nougaro/Armstrong.sg", + "Cranberries/Animal_instinct.sg", + "Cranberries/Zombie.sg", + "Debout_Sur_Le_Zinc/Poil_aux_yeux.sg", + "Dessins_Animes/Themis_et_Nono.sg", + "Georges_Brassens/Le_petit_cheval.sg", + "Green_Day/American_idiot.sg", + "Henri_Des/Mon_cheval_gris.sg", + "Henri_Des/Les_betises_a_l_ecole.sg", + "Joe_Dassin/La_fleur_aux_dents.sg", + "Jonathan_Coulton/Still_alive.sg", + "Karpatt/Leon.sg", + "Karpatt/Les_canards_en_plastique.sg", + "Karpatt/Des_idees.sg", + "Karpatt/Des_gnons_pour_des_pelles.sg", + "La_Famille_Maestro/Le_rat_de_l_opera.sg", + "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", + "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", + "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg", + "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", + "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", + "Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg", + "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", + "Les_Cowboys_Fringants/La_reine.sg", + "Les_Cowboys_Fringants/Ti-Cul.sg", + "Les_Cowboys_Fringants/1994.sg", + "Les_Fatals_Picards/La_ferme.sg", + "Les_Naufrages/L_harmonica.sg", + "Les_Ogres_de_Barback/Jojo.sg", + "Les_Ogres_de_Barback/Le_temps.sg", + "Les_Ogres_de_Barback/Ptit_chat.sg", + "Los_Lobos/Cancion_del_Mariachi.sg", + "MC_Solaar/Caroline.sg", + "Maxime_Le_Forestier/San_Fransico.sg", + "Mes_souliers_sont_rouges/Le_cycle_du_vin.sg", + "Mes_souliers_sont_rouges/Nuit_humide.sg", + "Michel_Sardou/Les_lacs_du_Connemara.sg", + "Negro_Spiritual/Lord_I_want.sg", + "Oldelaf_et_Monsieur_D/J_veux_etre_muscle.sg", + "Oldelaf_et_Monsieur_D/Davy_Crockett.sg", + "Oldelaf_et_Monsieur_D/Mon_ange.sg", + "Pornophonique/Sad_robot.sg", + "Renaud/Societe_tu_m_auras_pas.sg", + "Renaud/Amoureux_de_paname.sg", + "Rise_Against/Hero_of_war.sg", + "Ritchie_Valens/La_bamba.sg", + "Ritchie_Valens/Come_on_let_s_go.sg", + "Sheepbox/Devil_s_way.sg", + "Simon_Garfunkel/Kathy_s_song.sg", + "Simon_Garfunkel/Mrs_Robinson.sg", + "Simon_Garfunkel/April_come_she_will.sg", + "Steve_Waring/La_baleine_bleue.sg", + "System_of_a_Down/Roulette.sg", + "The_Animals/The_house_of_rising_sun.sg", + "The_Beatles/Octopus_garden.sg", + "The_Beatles/Let_it_be.sg" + ] } From 84d4782b57e840f5083e00ae95886716fc543310 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Sat, 12 Jun 2010 10:38:13 +0200 Subject: [PATCH 12/24] =?UTF-8?q?Remove=20=C2=A9=20character.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- songbook.sb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/songbook.sb b/songbook.sb index 3047dcdd..26e40491 100644 --- a/songbook.sb +++ b/songbook.sb @@ -5,7 +5,7 @@ "version" : "3.1", "mail" : "crep@team-on-fire.com", "picture" : "feel-the-music", -"picturecopyright" : "©foxygamergirl @ deviantart.com", +"picturecopyright" : "foxygamergirl @ deviantart.com", "footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", "licence" : "\\input{license.tex}", "songs" : "all" From 88f5f79ea42f4cc476ae7db3803661199012fbaa Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Sat, 12 Jun 2010 10:38:39 +0200 Subject: [PATCH 13/24] Add template parameters information. --- templates/songbook.tmpl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/templates/songbook.tmpl b/templates/songbook.tmpl index ed96d1a6..7b657e54 100644 --- a/templates/songbook.tmpl +++ b/templates/songbook.tmpl @@ -22,6 +22,22 @@ % Modified to serve personnal purposes. Newer versions can be % obtained from http://www.lohrun.net. +% Template optionnal parameters (to be read by songbook-client) +% template mandatory parameter are currently booktype, template and songs +% the first two have default values but not last one +%%:{"parameters" : [ +%%: {"name":"title", "description":"Title", "type":"string"}, +%%: {"name":"author", "description":"Author", "type":"string", "default":"Alexandre"}, +%%: {"name":"version", "description":"Version", "type":"string", "default":"1"}, +%%: {"name":"subtitle", "description":"Subtitle", "type":"string"}, +%%: {"name":"mail", "description":"Email", "type":"string"}, +%%: {"name":"picture", "description":"Picture", "type":"string"}, +%%: {"name":"picturecopyright", "description":"Copyright", "type":"string"}, +%%: {"name":"footer", "description":"Footer", "type":"string"}, +%%: {"name":"license", "description":"License", "type":"string"} +%%: ] +%%:} + % template variables \providecommand{\template}{} \providecommand{\songslist}{} From ff5d55a2219b207c02cfa96af958d4b84479c096 Mon Sep 17 00:00:00 2001 From: crep Date: Thu, 10 Jun 2010 06:16:12 +0200 Subject: [PATCH 14/24] update songs package --- songs.sty | 854 +++++++++++++++++++++++++++++------------------------- 1 file changed, 466 insertions(+), 388 deletions(-) diff --git a/songs.sty b/songs.sty index a811c071..7367000b 100644 --- a/songs.sty +++ b/songs.sty @@ -22,7 +22,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{songs} - [2010/01/01 v2.10 Songs package] + [2010/06/09 v2.11 Songs package] \newif\ifSB@etex \ifx\eTeXversion\undefined\else \ifx\eTeXversion\relax\else @@ -70,6 +70,9 @@ \shiftdblquotes{-1.1\p@}\z@{-2\p@}\z@% } \newcommand\printscrcite[1]{\sffamily\small#1} +\newcommand\snumbgcolor{SongbookShade} +\newcommand\notebgcolor{SongbookShade} +\newcommand\idxbgcolor{SongbookShade} \newcommand\versejustify{\justifyleft} \newcommand\chorusjustify{\justifyleft} \newcommand\notejustify{% @@ -134,8 +137,11 @@ \newcommand\idxrefsfont{\normalfont\normalsize} \newcommand\idxbook[1]{\small\bfseries#1} \newcommand\idxcont[1]{\small\textbf{#1} (continued)} -\newcommand\colbotglue{\z@skip} -\newcommand\lastcolglue{\@flushglue} +\newcommand\colbotglue{} +\let\colbotglue\z@skip +\newcommand\lastcolglue{} +\let\lastcolglue\@flushglue +\newcount\minfrets\minfrets4 \newdimen\SB@colwidth \DeclareOption{slides}{\slides} \newcommand\slides{% @@ -278,9 +284,7 @@ \renewcommand\songlist{#1}% \fi% } -\newcommand\nosongnumbers{% - \setlength\songnumwidth\z@% -} +\newcommand\nosongnumbers{\setlength\songnumwidth\z@} \newcommand\noversenumbers{% \renewcommand\printversenum[1]{}% \setlength\versenumwidth\z@% @@ -439,7 +443,7 @@ \SB@mkpage\SB@boxiii\SB@cntii\textheight% } \newcommand\SB@spextold{% - \ifodd\count\z@\else% + \ifodd\c@page\else% \SB@cntii\z@% \SB@mkpage\SB@boxii\SB@cntii\textheight% \fi% @@ -452,7 +456,7 @@ \ifnum\SB@cntii<\SB@numcols% \SB@cnt\SB@numcols% \advance\SB@cnt-\SB@colnum% - \if@twoside\ifodd\count\z@\else% + \if@twoside\ifodd\c@page\else% \advance\SB@cnt\SB@numcols% \fi\fi% \fi% @@ -531,59 +535,118 @@ \SB@nextcol\SB@cnt\lastcolglue% \fi% } -\newcommand\SB@dosubmitsong{% - \SB@selectcol% - \global\setbox\SB@colbox\vbox{\SB@putboxes\unvbox}% - \SB@output% +\newcommand\SB@cleardpage{% + \SB@clearpage% + \if@twoside\ifodd\c@page% + \SB@nextcol\SB@numcols\@flushglue% + \fi\fi% } -\newcommand\SB@submitsong{% - \ifSB@songsenv% - \ifpartiallist% - \edef\SB@tempii{\thesongnum}% - \@for\SB@temp:=\songlist\do{% - \ifx\SB@temp\SB@tempii% - \expandafter\newbox\csname songbox@\SB@temp\endcsname% - \global\expandafter\setbox\csname songbox@\SB@temp\endcsname% - \box\SB@songbox% - \ifrepchorus\ifvoid\SB@chorusbox\else% - \expandafter\newbox\csname chbox@\SB@temp\endcsname% - \global\expandafter\setbox\csname chbox@\SB@temp\endcsname% - \box\SB@chorusbox% - \fi\fi% - \fi% - }% - \setbox\SB@songbox\box\voidb@x% - \setbox\SB@chorusbox\box\voidb@x% - \else% - \SB@dosubmitsong% +\newcommand\SB@stype{\SB@stypcol} +\newcommand\SB@stypcol{% + \ifnum\SB@numcols>\z@% + \SB@selectcol% + \global\setbox\SB@colbox\vbox{\SB@putboxes\unvbox}% + \SB@output% + \else% + \unvbox\voidb@x% + \SB@breakpoint\spenalty% + \ifdim\sbarheight>\z@% + \vskip-\sbarheight\relax% \fi% + \unvbox\SB@songbox% + \fi% +} +\newcommand\SB@styppage{% + \ifnum\SB@numcols>\z@% + \SB@clearpage% + \unvbox\SB@songbox% + \null\nointerlineskip% \else% \unvbox\SB@songbox% \fi% } +\newcommand\SB@sgroup{} +\let\SB@sgroup\@empty +\newcount\SB@groupcnt +\newcommand\SB@submitpart{% + \ifx\SB@sgroup\@empty\else% + \@for\SB@temp:=\songlist\do{% + \ifx\SB@temp\SB@sgroup% + \edef\SB@tempii{\SB@sgroup @\the\SB@groupcnt}% + \expandafter\newbox\csname songbox@\SB@tempii\endcsname% + \global\expandafter\setbox + \csname songbox@\SB@tempii\endcsname\box\SB@songbox% + \global\expandafter\let% + \csname stype@\SB@tempii\endcsname\SB@stype% + \ifrepchorus\ifvoid\SB@chorusbox\else% + \expandafter\newbox\csname chbox@\SB@tempii\endcsname% + \global\expandafter\setbox% + \csname chbox@\SB@tempii\endcsname\box\SB@chorusbox% + \fi\fi% + \fi% + }% + \global\advance\SB@groupcnt% + \ifnum\SB@groupcnt<\z@\m@ne\else\@ne\fi% + \fi% + \setbox\SB@songbox\box\voidb@x% + \setbox\SB@chorusbox\box\voidb@x% +} +\newcommand\SB@submitsong{% + \ifpartiallist\SB@submitpart\else\SB@stype\fi% +} \newcommand\SB@songlistbrk{} \def\SB@songlistbrk{brk} \newcommand\SB@songlistnc{} \def\SB@songlistnc{nextcol} -\newcommand\SB@finalizesonglist{% +\newcommand\SB@songlistcp{} +\def\SB@songlistcp{sclearpage} +\newcommand\SB@songlistcdp{} +\def\SB@songlistcdp{scleardpage} +\newcommand\SB@finloop{% + \loop\edef\SB@tempii{\SB@temp @\the\SB@groupcnt}% + \expandafter\ifx% + \csname songbox@\SB@tempii\endcsname\relax\else% + \setbox\SB@songbox\expandafter\box% + \csname songbox@\SB@tempii\endcsname% + \expandafter\ifx\csname chbox@\SB@tempii\endcsname\relax% + \repchorusfalse% + \else% + \repchorustrue% + \setbox\SB@chorusbox\expandafter\box% + \csname chbox@\SB@tempii\endcsname% + \fi% + \csname stype@\SB@tempii\endcsname% + \advance\SB@groupcnt\ifnum\SB@groupcnt<\z@\m@ne\else\@ne\fi% + \repeat% +} +\newcommand\commitsongs{% \ifpartiallist% - \@for\SB@temp:=\songlist\do{% - \ifx\SB@temp\SB@songlistnc\SB@nextcol\@ne\@flushglue\else% - \ifx\SB@temp\SB@songlistbrk\SB@nextcol\@ne\colbotglue\else% - \expandafter\ifx\csname songbox@\SB@temp\endcsname\relax\else% - \setbox\SB@songbox% - \expandafter\box\csname songbox@\SB@temp\endcsname% - \expandafter\ifx\csname chbox@\SB@temp\endcsname\relax% - \repchorusfalse% + \ifnum\SB@numcols>\z@% + \@for\SB@temp:=\songlist\do{% + \ifx\SB@temp\SB@songlistnc\SB@nextcol\@ne\@flushglue\else% + \ifx\SB@temp\SB@songlistbrk\SB@nextcol\@ne\colbotglue\else% + \ifx\SB@temp\SB@songlistcp\SB@clearpage\else% + \ifx\SB@temp\SB@songlistcdp\SB@cleardpage\else% + \SB@groupcnt\m@ne\SB@finloop% + \SB@groupcnt\z@\SB@finloop% + \fi\fi\fi\fi% + }% + \else% + \@for\SB@temp:=\songlist\do{% + \ifx\SB@temp\SB@songlistnc\vfil\break\else% + \ifx\SB@temp\SB@songlistbrk\break\else% + \ifx\SB@temp\SB@songlistcp\clearpage\else% + \ifx\SB@temp\SB@songlistcdp% + \clearpage% + \ifodd\c@page\null\newpage\fi% \else% - \repchorustrue% - \setbox\SB@chorusbox% - \expandafter\box\csname chbox@\SB@temp\endcsname% - \fi% - \SB@dosubmitsong% - \fi\fi\fi% - }% + \SB@groupcnt\m@ne\SB@finloop% + \SB@groupcnt\z@\SB@finloop% + \fi\fi\fi\fi% + }% + \fi% \fi% + \SB@clearpage% } \newcommand\SB@insertchorus[1]{{% \vbadness\@M\vfuzz\maxdimen% @@ -639,7 +702,16 @@ \fi\fi% \fi% }} -\newcommand\nextcol{\ifpartiallist\else\SB@nextcol\@ne\@flushglue\fi} +\newcommand\nextcol{% + \@ifstar{\SB@nextcol\@ne\@flushglue}% + {\ifpartiallist\else\SB@nextcol\@ne\@flushglue\fi}% +} +\newcommand\sclearpage{% + \@ifstar\SB@clearpage{\ifpartiallist\else\SB@clearpage\fi}% +} +\newcommand\scleardpage{% + \@ifstar\SB@cleardpage{\ifpartiallist\else\SB@cleardpage\fi}% +} \newcommand\SB@lop[1]{\expandafter\SB@@lop\the#1\SB@@lop#1} \newcommand\SB@@lop{} \def\SB@@lop\\#1\\#2\SB@@lop#3#4{\global#3{\\#2}\global#4{#1}} @@ -671,9 +743,10 @@ } \newif\ifSB@songsenv\SB@songsenvfalse \newif\ifSB@insong\SB@insongfalse -\newif\ifSB@inscripture\SB@inscripturefalse +\newif\ifSB@intersong\SB@intersongfalse \newif\ifSB@inverse\SB@inversefalse \newif\ifSB@inchorus\SB@inchorusfalse +\newcommand\SB@closeall{} \newcommand\SB@rawrefs{} \newcommand\songauthors{} \newcommand\songcopyright{} @@ -682,7 +755,6 @@ \expandafter\SB@parsesrefs\expandafter{\SB@rawrefs}% } \newcommand\setlicense{\gdef\songlicense} -\newcommand\SB@prevsong{0} \newcommand\SB@clearbskeys{} \newcommand\newsongkey[2]{% \expandafter\gdef\expandafter\SB@clearbskeys\expandafter% @@ -696,16 +768,10 @@ \newsongkey{index}{}{\indexentry{#1}} \newsongkey{ititle}{}{\indextitleentry{#1}} \newcommand\beginsong[1]{% - \ifSB@insong% - \SB@errboo% - \ifSB@inverse\endverse\fi% - \ifSB@inchorus\endchorus\fi% - \endsong% - \fi% - \ifSB@inscripture% - \SB@errbor\endscripture% - \fi% + \ifSB@insong\SB@errboo\SB@closeall\fi% + \ifSB@intersong\SB@errbor\SB@closeall\fi% \SB@insongtrue% + \def\SB@closeall{\endsong}% \SB@parsetitles{#1}% \global\setbox\SB@songwrites\box\voidb@x% \SB@clearbskeys% @@ -726,7 +792,7 @@ \global\SB@stanzafalse% \setbox\SB@chorusbox\box\voidb@x% \SB@gotchorusfalse% - \setbox\SB@songbox\vbox\bgroup% + \setbox\SB@songbox\vbox\bgroup\begingroup% \ifnum\SB@numcols>\z@\hsize\SB@colwidth\fi% \leftskip\z@skip\rightskip\z@skip% \parfillskip\@flushglue\parskip\z@skip% @@ -747,12 +813,8 @@ } \def\endsong{% \ifSB@insong% - \ifSB@inverse% - \SB@erreov\endverse% - \fi% - \ifSB@inchorus% - \SB@erreoc\endchorus% - \fi% + \ifSB@inverse\SB@erreov\endverse\fi% + \ifSB@inchorus\SB@erreoc\endchorus\fi% \global\SB@skip\versesep% \unskip% \ifrepchorus\ifvoid\SB@chorusbox\else% @@ -760,7 +822,7 @@ \marks\SB@cmarkclass{\SB@lastcmark}% \fi\fi% \fi\fi% - \egroup% + \endgroup\egroup% \setbox\SB@songbox\vbox{% \songmark% \unvbox\SB@songwrites% @@ -795,22 +857,21 @@ \fi% }% \SB@insongfalse% + \edef\SB@sgroup{\thesongnum}% + \global\SB@groupcnt\z@% \SB@submitsong% - \edef\SB@prevsong{\thesongnum}% + \ifnum\SB@grouplvl=\z@\let\SB@sgroup\@empty\fi% \stepcounter{songnum}% \else% - \ifSB@inscripture% - \SB@erreor\endscripture% - \else% - \SB@erreot% - \fi% + \ifSB@intersong\SB@erreor\SB@closeall% + \else\SB@erreot\fi% \fi% } \newcommand\SB@setbaselineskip{% \SB@dimen\f@size\p@% \baselineskip\SB@dimen\relax% \ifchorded% - \setbox\SB@box\hbox{\printchord{ABCDEFG\shrp\flt/j7}}% + \setbox\SB@box\hbox{{\printchord{ABCDEFG\shrp\flt/j7}}}% \advance\baselineskip\ht\SB@box% \fi% \ifslides% @@ -830,7 +891,7 @@ \lyricfont% \SB@dimen\f@size\p@% \ifchorded% - \setbox\SB@box\hbox{\printchord{ABCDEFG\shrp\flt/j7}}% + \setbox\SB@box\hbox{{\printchord{ABCDEFG\shrp\flt/j7}}}% \advance\SB@dimen\ht\SB@box% \fi% \ifslides% @@ -846,9 +907,9 @@ \newcommand\makeprelude{% \resettitles% \ifslides% - \hbox to\hsize{% + \hbox to\hsize{{% \hfil\stitlefont\songtitle\hfil% - }% + }}% \vskip5\p@% \hbox to\hsize{% \hfil% @@ -860,11 +921,11 @@ }% \else% \ifdim\songnumwidth>\z@% - \setbox\SB@boxii\hbox{\SB@colorbox{% + \setbox\SB@boxii\hbox{{\SB@colorbox\snumbgcolor{% \hbox to\songnumwidth{% \printsongnum{\thesongnum}\hfil% }% - }}% + }}}% \fi% \setbox\SB@box\vbox{% \ifnum\SB@numcols>\z@\hsize\SB@colwidth\fi% @@ -889,11 +950,11 @@ \kern3\p@% \vtop{\box\SB@box}% \else% - \SB@colorbox{\vbox to\ht\SB@box{% + \SB@colorbox\snumbgcolor{\vbox to\ht\SB@box{{% \hbox to\songnumwidth{% \printsongnum{\thesongnum}\hfil% }\vfil% - }}% + }}}% \kern3\p@% \box\SB@box% \fi% @@ -971,6 +1032,23 @@ \newcommand\SB@endparse{% \SB@Error{Title parsing failed}{This error should not occur.}% } +\newcommand\SB@testdigit[1]{% + \SB@testfalse% + \ifcat1\noexpand#1\SB@@testdigit#1\fi% +} +\newcommand\SB@@testdigit[1]{% + \ifx0#1\SB@testtrue\else% + \ifx1#1\SB@testtrue\else% + \ifx2#1\SB@testtrue\else% + \ifx3#1\SB@testtrue\else% + \ifx4#1\SB@testtrue\else% + \ifx5#1\SB@testtrue\else% + \ifx6#1\SB@testtrue\else% + \ifx7#1\SB@testtrue\else% + \ifx8#1\SB@testtrue\else% + \ifx9#1\SB@testtrue% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% +} \newcommand\SB@parsesrefs[1]{% \begingroup% \let\SB@temp\relax% @@ -980,19 +1058,6 @@ \endgroup% } \newcommand\SB@prloop{\futurelet\SB@next\SB@prstep} -\newcommand\SB@testdigit[1]{% - \SB@testfalse% - \ifx0#1\SB@testtrue\fi% - \ifx1#1\SB@testtrue\fi% - \ifx2#1\SB@testtrue\fi% - \ifx3#1\SB@testtrue\fi% - \ifx4#1\SB@testtrue\fi% - \ifx5#1\SB@testtrue\fi% - \ifx6#1\SB@testtrue\fi% - \ifx7#1\SB@testtrue\fi% - \ifx8#1\SB@testtrue\fi% - \ifx9#1\SB@testtrue\fi% -} \newcommand\SB@prstep{% \ifcat\noexpand\SB@tempii\noexpand\@sptoken% \ifcat\noexpand\SB@tempiii A% @@ -1070,7 +1135,7 @@ \begingroup% \SB@dimen\dp#2% #1#2% - \setbox\SB@box\hbox{\lyricfont p}% + \setbox\SB@box\hbox{{\lyricfont p}}% \ifdim\SB@dimen<\dp\SB@box% \advance\SB@dimen-\dp\SB@box% \vskip-\SB@dimen% @@ -1113,12 +1178,8 @@ \newif\ifSB@prevverse \newcommand\beginverse{% \ifSB@insong% - \ifSB@inverse% - \SB@errbvv\endverse% - \fi% - \ifSB@inchorus% - \SB@errbvc\endchorus% - \fi% + \ifSB@inverse\SB@errbvv\endverse\fi% + \ifSB@inchorus\SB@errbvc\endchorus\fi% \else% \SB@errbvt\beginsong{Unknown Song}% \fi% @@ -1136,23 +1197,24 @@ \newcommand\SB@@beginverse{% \endgroup% \SB@inversetrue% + \def\SB@closeall{\endverse\endsong}% \SB@stanzabreak% \versemark\nobreak% \global\SB@stanzatrue% \SB@ifempty\SB@cr@\memorize{\replay[]}% - \setbox\SB@box\vbox\bgroup% + \setbox\SB@box\vbox\bgroup\begingroup% \ifvnumbered% \protected@edef\@currentlabel{\p@versenum\theversenum}% \def\SB@everypar{% - \setbox\SB@box\hbox{% + \setbox\SB@box\hbox{{% \printversenum{\theversenum}% - }% + }}% \ifdim\wd\SB@box<\versenumwidth% \setbox\SB@box% \hbox to\versenumwidth{\unhbox\SB@box\hfil}% \fi% \ifchorded\vrule\@height\baselineskip\@width\z@\@depth\z@\fi% - \placeversenum\SB@box% + {\placeversenum\SB@box}% \gdef\SB@everypar{}% }% \else% @@ -1172,16 +1234,14 @@ \ifSB@insong% \ifSB@inverse% \unpenalty% - \egroup% + \endgroup\egroup% \SB@putbox\unvbox\SB@box% \SB@inversefalse% + \def\SB@closeall{\endsong}% \ifvnumbered\stepcounter{versenum}\fi% \SB@prevversetrue% - \else\ifSB@inchorus% - \SB@errevc\endchorus% - \else% - \SB@errevo% - \fi\fi% + \else\ifSB@inchorus\SB@errevc\endchorus% + \else\SB@errevo\fi\fi% \else% \SB@errevt% \fi% @@ -1211,16 +1271,13 @@ \def\SB@nocmark{SB@nocmark} \newcommand\beginchorus{% \ifSB@insong - \ifSB@inverse% - \SB@errbcv\endverse% - \fi% - \ifSB@inchorus% - \SB@errbcc\endchorus% - \fi% + \ifSB@inverse\SB@errbcv\endverse\fi% + \ifSB@inchorus\SB@errbcc\endchorus\fi% \else% \SB@errbct\beginsong{Unknown Song}% \fi% \SB@inchorustrue% + \def\SB@closeall{\endchorus\endsong}% \SB@chorustoptrue% \vnumberedfalse% \SB@stanzabreak% @@ -1241,7 +1298,7 @@ } \newcommand\SB@@beginchorus{% \ifrepchorus\marks\SB@cmarkclass{}\fi% - \setbox\SB@box\vbox\bgroup% + \setbox\SB@box\vbox\bgroup\begingroup% \ifchorded% \def\SB@everypar{% \vrule\@height\baselineskip\@width\z@\@depth\z@% @@ -1258,8 +1315,9 @@ \ifSB@insong% \ifSB@inchorus% \unpenalty% - \egroup% + \endgroup\egroup% \SB@inchorusfalse% + \def\SB@closeall{\endsong}% \setbox\SB@box\vbox{% \SB@chorusbar\SB@box% \SB@putbox\unvbox\SB@box% @@ -1272,11 +1330,8 @@ \fi\fi% \unvbox\SB@box% \SB@prevversefalse% - \else\ifSB@inverse% - \SB@errecv\endverse% - \else% - \SB@erreco% - \fi\fi% + \else\ifSB@inverse\SB@errecv\endverse% + \else\SB@erreco\fi\fi% \else% \SB@errect% \fi% @@ -1337,7 +1392,7 @@ \ifrepchorus\marks\SB@cmarkclass{}\fi% \SB@breakpoint\brkpenalty% \else% - \egroup% + \endgroup\egroup% \ifrepchorus\ifSB@gotchorus\else% \global\setbox\SB@chorusbox\vbox{% \unvbox\SB@chorusbox% @@ -1361,20 +1416,20 @@ \fi% } \newcommand\SB@boxup[1]{% - \setbox\SB@box\hbox{\notefont#1}% + \setbox\SB@box\hbox{{\notefont#1}}% \SB@dimen\wd\SB@box% \advance\SB@dimen6\p@% \advance\SB@dimen\leftskip% \advance\SB@dimen\rightskip% \ifdim\SB@dimen>\hsize% - \vbox{% + \vbox{{% \advance\hsize-6\p@% \advance\hsize-\leftskip% \advance\hsize-\rightskip% \notejustify% \unhbox\SB@box\par% \kern\z@% - }% + }}% \else% \vbox{\box\SB@box\kern\z@}% \fi% @@ -1393,7 +1448,7 @@ \begingroup% \everypar{}% \ifchorded\chordedfalse\SB@setbaselineskip\chordedtrue\fi% - \placenote{\SB@colorbox{\SB@boxup{#1}}}% + \placenote{\SB@colorbox\notebgcolor{\SB@boxup{#1}}}% \endgroup% \nobreak% \ifSB@inverse% @@ -1430,38 +1485,94 @@ \fontencoding{OMS}\fontfamily{cmsy}\selectfont\char\tw@% }#1)% } -\newbox\SB@srbox -\newcommand\beginscripture[1]{% - \ifSB@insong% - \SB@errbro% - \ifSB@inverse\endverse\fi% - \ifSB@inchorus\endchorus\fi% - \endsong% +\newenvironment{songgroup}{% + \ifnum\SB@grouplvl=\z@% + \edef\SB@sgroup{\thesongnum}% + \global\SB@groupcnt\m@ne% \fi% - \ifSB@inscripture% - \SB@errbrr\endscripture% + \advance\SB@grouplvl\@ne% +}{% + \advance\SB@grouplvl\m@ne% + \ifnum\SB@grouplvl=\z@\let\SB@sgroup\@empty\fi% +} +\newcount\SB@grouplvl +\newenvironment{intersong}{% + \ifSB@insong\SB@errbro\SB@closeall\fi% + \ifSB@intersong\SB@errbrr\SB@closeall\fi% + \setbox\SB@chorusbox\box\voidb@x% + \SB@intersongtrue% + \def\SB@closeall{\end{intersong}}% + \setbox\SB@songbox\vbox\bgroup\begingroup% + \ifnum\SB@numcols>\z@\hsize\SB@colwidth\fi% + \ifdim\sbarheight>\z@% + \hrule\@height\sbarheight\@width\hsize% + \nobreak% + \fi% +}{% + \ifSB@intersong + \ifdim\sbarheight>\z@% + \ifhmode\par\fi% + \SB@skip\lastskip% + \unskip\nobreak\vskip\SB@skip% + \hbox{\vrule\@height\sbarheight\@width\hsize}% + \fi% + \endgroup\egroup% + \ifSB@omitscrip% + \setbox\SB@songbox\box\voidb@x% + \else% + \SB@submitsong% + \fi% + \SB@intersongfalse% + \else% + \ifSB@insong\SB@errero\SB@closeall\else\SB@errert\fi% \fi% - \SB@inscripturetrue% +} +\newenvironment{intersong*}{% + \ifSB@insong\SB@errbro\SB@closeall\fi% + \ifSB@intersong\SB@errbrr\SB@closeall\fi% \setbox\SB@chorusbox\box\voidb@x% - \ifSB@omitscrip% - \setbox\SB@box\vbox\bgroup% + \SB@intersongtrue% + \def\SB@closeall{\end{intersong*}}% + \setbox\SB@songbox\vbox\bgroup\begingroup% +}{% + \ifSB@intersong% + \endgroup\egroup% + \ifSB@omitscrip% + \setbox\SB@songbox\box\voidb@x% + \else% + \def\SB@stype{\SB@styppage}% + \SB@submitsong% + \def\SB@stype{\SB@stypcol}% + \fi% + \SB@intersongfalse% \else% - \setbox\SB@srbox\hbox{\printscrcite{\SB@parsesrefs{#1}}}% - \setbox\SB@songbox\vbox\bgroup% - \ifnum\SB@numcols>\z@\hsize\SB@colwidth\fi% - \hrule\@height\sbarheight\@width\hsize% - \nobreak\vskip5\p@% - \SB@parindent\parindent\parindent\z@% - \parskip\z@skip\parfillskip\@flushglue% - \leftskip\SB@parindent\rightskip\SB@parindent\relax% - \scripturefont% - \baselineskip\f@size\p@\@plus\p@\relax% - \advance\baselineskip\p@\relax% - \emergencystretch.3em% + \ifSB@insong\SB@errero\SB@closeall\else\SB@errert\fi% + \fi% +} +\newbox\SB@srbox +\newcommand\beginscripture[1]{% + \begin{intersong}% + \setbox\SB@srbox\hbox{{\printscrcite{\SB@parsesrefs{#1}}}}% + \def\SB@closeall{\endscripture}% + \nobreak\vskip5\p@% + \SB@parindent\parindent\parindent\z@% + \parskip\z@skip\parfillskip\@flushglue% + \leftskip\SB@parindent\rightskip\SB@parindent\relax% + \scripturefont% + \baselineskip\f@size\p@\@plus\p@\relax% + \advance\baselineskip\p@\relax% + \emergencystretch.3em% +} +\def\endscripture{% + \ifSB@intersong + \scitehere% + \ifhmode\par\fi% + \vskip-3\p@% + \end{intersong}% TODO: Suppress submission ifpartiallist \fi% } \newcommand\scitehere{% - \ifSB@inscripture% + \ifSB@intersong% \ifvoid\SB@srbox\else% \ifvmode% \setbox\SB@box\lastbox% @@ -1476,37 +1587,10 @@ \SB@errscrip\scitehere% \fi% } -\def\endscripture{% - \ifSB@inscripture - \ifSB@omitscrip% - \egroup% - \setbox\SB@box\box\voidb@x% - \else% - \scitehere% - \ifhmode\par\fi% - \nobreak\vskip-4.5\p@% - \hbox{\vrule\@height\sbarheight\@width\hsize}% - \egroup% - \ifpartiallist\else% - \SB@submitsong% - \fi% - \fi% - \SB@inscripturefalse% - \else% - \ifSB@insong% - \SB@errero% - \ifSB@inverse\endverse\fi% - \ifSB@inchorus\endchorus\fi% - \endsong% - \else% - \SB@errert% - \fi% - \fi% -} \newcommand\Acolon{\SB@colon2\Acolon} \newcommand\Bcolon{\SB@colon1\Bcolon} \newcommand\SB@colon[2]{% - \ifSB@inscripture\else% + \ifSB@intersong\else% \SB@errscrip#2% \beginscripture{Unknown}% \fi% @@ -1519,13 +1603,13 @@ \obeylines% } \newcommand\strophe{% - \ifSB@inscripture\else% + \ifSB@intersong\else% \SB@errscrip\strophe\beginscripture{Unknown}% \fi% \vskip.9ex\@plus.45ex\@minus.68ex\relax% } \newcommand\SB@scripdent[2]{% - \ifSB@inscripture\else% + \ifSB@intersong\else% \SB@errscrip#2\beginscripture{Unknown}% \fi% \ifhmode\par\fi% @@ -2081,6 +2165,7 @@ \gdef\SB@begincname{% \begingroup% \catcode`##\active\catcode`&\active% + \catcode`:12\relax% \catcode`\^^M\active\SB@outer\def^^M{}% \SB@outer\def\[{}% \chordlocals% @@ -2336,7 +2421,7 @@ \newcommand\SB@chlig[5]{% \gdef\SB@ligpre{{#3}}% \gdef\SB@ligpost{\[#2]{#4}}% - \gdef\SB@ligfull{\[\SB@noreplay{\hphantom{#3}}#2]{#5}}% + \gdef\SB@ligfull{\[\SB@noreplay{\hphantom{{\lyricfont#3}}}#2]{#5}}% \SB@chdone% } \newcommand\SB@mchlig[5]{% @@ -2395,7 +2480,7 @@ \unskip\penalty200\hskip\SB@skip% \fi% \ifnum\SB@numhyps>\z@% - \ifnum\SB@numhyps>\@ne\relax% + \ifnum\SB@numhyps>\@ne% \SB@brokenwordfalse% \else% \SB@brokenwordtrue% @@ -2413,9 +2498,7 @@ \unhbox\SB@lyricbox% \SB@ligpre% }% - \ifdim\wd\SB@lyricbox>\SB@dimen% - \SB@dimen\wd\SB@lyricbox% - \fi% + \SB@maxmin\SB@dimen<{\wd\SB@lyricbox}% \advance\SB@dimen.5em% \hbox to\SB@dimen{\unhbox\SB@chordbox\hfil}% \kern-2\p@% @@ -2438,7 +2521,11 @@ \ifSB@wordends% \ifdim\wd\SB@lyricbox>\z@\else\nobreak\fi% \else% - \nobreak\spacefactor\SB@cnt% + \penalty% + \ifnum\SB@numhyps>\z@\exhyphenpenalty% + \else\ifSB@brokenword\hyphenpenalty% + \else\@M\fi\fi% + \spacefactor\SB@cnt% \fi% \fi% \SB@temp% @@ -2575,16 +2662,16 @@ } \newcommand\SB@fretbar{% \nointerlineskip% - \SB@dimen5\SB@fretwidth% - \advance\SB@dimen.4\p@% - \hbox to6\SB@fretwidth{% + \hbox to\SB@dimen{% + \advance\SB@dimen-\SB@fretwidth% + \advance\SB@dimen.4\p@% \hfil% \vrule\@width\SB@dimen\@height.4\p@\@depth\z@% \hfil% }% \nointerlineskip% } -\newcommand\SB@topempty{\SB@atopfret{}} +\newcommand\SB@topempty{\SB@atopfret\relax} \newcommand\SB@topX{\SB@atopfret{% \hbox{% \kern-.2\p@% @@ -2602,7 +2689,7 @@ \fontsize\@xpt\@xpt\selectfont\char14% }% }} -\newcommand\SB@fretempty{\SB@onfret{}} +\newcommand\SB@fretempty{\SB@onfret\relax} \newcommand\SB@frethit{\SB@onfret{% \hbox{% \fontencoding{OMS}\fontfamily{cmsy}% @@ -2618,6 +2705,40 @@ \newcommand\SB@targfret{} \newcommand\SB@targstr{} \newcommand\SB@targfing{} +\newcommand\SB@csify[2]{% + \SB@toks{}% + \SB@cnt\z@% + \SB@@csify#2\SB@@csify% + \edef#1{\the\SB@toks}% +} +\newcommand\SB@@csify[1]{% + \ifx#1\SB@@csify\else% + \advance\SB@cnt\@ne% + \SB@toks\expandafter{\the\SB@toks\csname#1\endcsname}% + \expandafter\SB@@csify% + \fi% +} +\newcommand\SB@gttop{% + \let\X\SB@topX\let\0\SB@topO\let\O\0\let\1\SB@topempty% + \let\2\1\let\3\1\let\4\1\let\5\1% + \let\6\1\let\7\1\let\8\1\let\9\1% +} +\newcommand\SB@gtinit{% + \let\X\SB@fretempty\let\0\X\let\O\X\let\1\SB@frethit% + \let\2\X\let\3\X\let\4\X\let\5\X% + \let\6\X\let\7\X\let\8\X\let\9\X% +} +\newcommand\SB@gtinc{% + \let\9\8\let\8\7\let\7\6\let\6\5\let\5\4% + \let\4\3\let\3\2\let\2\1\let\1\0% +} +\newcommand\SB@gtset[2]{% + \let\X#1\let\0\X\let\O\X% + \def\1{#21}\def\2{#22}\def\3{#23}% + \def\4{#24}\def\5{#25}\def\6{#26}% + \def\7{#27}\def\8{#28}\def\9{#29}% +} +\newcommand\SB@gtmax[1]{\ifnum\SB@cnt<#1\SB@cnt#1\fi} \newcommand\gtab{\SB@begincname\SB@gtab} \newcommand*\SB@gtab[1]{% \SB@endcname% @@ -2627,7 +2748,13 @@ } \newcommand*\SB@@gtab[2]{% \endgroup% - \SB@tabargs#2\relax\relax\relax\relax\relax\relax\relax\fi% + \let\SB@targfret\@empty% + \let\SB@targstr\@empty% + \let\SB@targfing\@empty% + \SB@tabargs#2:::\SB@tabargs% + \ifx\SB@targstr\@empty% + \def\SB@targstr{\0\0\0\0\0\0}% + \fi% \ifvmode\leavevmode\fi% \vbox{% \normalfont\normalsize% @@ -2635,14 +2762,15 @@ \thinspace{\printchord{#1\strut}}\thinspace% }% \setbox\SB@boxii\hbox{\SB@fretnum{\SB@targfret}}% + \setbox\SB@boxiii\hbox{{\SB@gttop\SB@targstr}}% \hsize\wd\SB@box% - \SB@dimen\wd\SB@boxii% \ifSB@gettabind% - \global\SB@tabindent\SB@dimen% + \global\SB@tabindent\wd\SB@boxii% \global\advance\SB@tabindent.5\SB@fretwidth% \global\advance\SB@tabindent-.5\p@% \fi% - \advance\SB@dimen6\SB@fretwidth% + \SB@dimen\wd\SB@boxii% + \advance\SB@dimen\wd\SB@boxiii% \ifdim\hsize<\SB@dimen% \hsize\SB@dimen% \else\ifSB@gettabind% @@ -2652,33 +2780,25 @@ \global\advance\SB@tabindent\SB@dimenii% \fi\fi% \hbox to\hsize{\hfil\unhbox\SB@box\hfil}% - \kern-2\p@% + \kern-\p@\nointerlineskip% \hbox to\hsize{% \hfil% - \vbox{\box\SB@boxii\kern18\p@}% - \vbox{% - \let\X\SB@topX\let\0\SB@topO% - \let\1\SB@topempty\let\2\SB@topempty% - \let\3\SB@topempty\let\4\SB@topempty% - \hbox to6\SB@fretwidth{\SB@targstr}% - \nointerlineskip% - \let\X\SB@fretempty\let\0\SB@fretempty% - \let\1\SB@frethit\let\2\SB@fretempty% - \let\3\SB@fretempty\let\4\SB@fretempty% - \SB@fretbar\hbox{\SB@targstr}% - \let\1\SB@fretempty\let\2\SB@frethit% - \SB@fretbar\hbox{\SB@targstr}% - \let\2\SB@fretempty\let\3\SB@frethit% - \SB@fretbar\hbox{\SB@targstr}% - \let\3\SB@fretempty\let\4\SB@frethit% - \SB@fretbar\hbox{\SB@targstr}% + \vtop{\kern\p@\kern2\p@\box\SB@boxii}% + \vtop{% + \SB@dimen\wd\SB@boxiii% + \box\SB@boxiii% + \SB@cnt\minfrets% + \SB@gtset\relax\SB@gtmax\SB@targstr% + \SB@gtinit% + \loop% + \SB@fretbar\hbox{\SB@targstr}% + \advance\SB@cnt\m@ne% + \ifnum\SB@cnt>\z@\SB@gtinc\repeat% \SB@fretbar% \ifx\SB@targsfing\@empty\else% - \let\X\SB@topempty\let\0\SB@topempty% - \def\1{\SB@finger1}\def\2{\SB@finger2}% - \def\3{\SB@finger3}\def\4{\SB@finger4}% \kern1.5\p@% - \hbox to6\SB@fretwidth{\SB@targfing}% + \SB@gtset\SB@topempty\SB@finger% + \hbox{\SB@targfing}% \fi% }% \hfil% @@ -2688,78 +2808,26 @@ \SB@gettabindfalse% } \newcommand\SB@ctoken{} \def\SB@ctoken{:} -\newcommand\SB@xtoken{} \def\SB@xtoken{X} -\newcommand\SB@otoken{} \def\SB@otoken{O} -\newcommand\SB@tokenz{} \def\SB@tokenz{0} -\newcommand\SB@tokeni{} \def\SB@tokeni{1} -\newcommand\SB@tokenii{} \def\SB@tokenii{2} -\newcommand\SB@tokeniii{} \def\SB@tokeniii{3} -\newcommand\SB@tokeniv{} \def\SB@tokeniv{4} -\newcommand\SB@tdone{} \def\SB@tdone{\relax} - -\newcommand\SB@tabargs[2]{% - \def\SB@targfret{#1}% - \ifx\SB@targfret\SB@ctoken% - \let\SB@targfret\@empty% - \def\SB@donext{\SB@@tabargs{#2}}% - \else% - \def\SB@temp{#2}% - \ifx\SB@temp\SB@ctoken% - \let\SB@donext\SB@@tabargs% +\newcommand\SB@tabargs{} +\def\SB@tabargs#1:#2:#3:#4\SB@tabargs{% + \def\SB@temp{#4}% + \ifx\SB@temp\@empty% + \SB@csify\SB@targstr{#1}% + \else\ifx\SB@temp\SB@ctoken% + \SB@csify\SB@targstr{#1}% + \ifnum\SB@cnt>\@ne% + \SB@cntii\SB@cnt% + \SB@csify\SB@targfing{#2}% + \SB@cnt\SB@cntii% \else% - \let\SB@targfret\@empty% - \def\SB@donext{\SB@@tabargs{#1}{#2}}% + \def\SB@targfret{#1}% + \SB@csify\SB@targstr{#2}% \fi% - \fi% - \SB@donext% -} -\newcommand\SB@@tabargs[7]{% - \let\SB@targstr\@empty% - \let\SB@targfing\@empty% - \SB@tabarg\SB@targstr{#1}% - \SB@tabarg\SB@targstr{#2}% - \SB@tabarg\SB@targstr{#3}% - \SB@tabarg\SB@targstr{#4}% - \SB@tabarg\SB@targstr{#5}% - \SB@tabarg\SB@targstr{#6}% - \def\SB@temp{#7}% - \ifx\SB@temp\SB@ctoken% - \let\SB@donext\SB@@@tabargs% \else% - \ifx\SB@temp\SB@tdone\else\SB@errtabx\fi% - \def\SB@donext{\iffalse}% - \@gobble\fi% - \fi% - \SB@donext% -} -\newcommand\SB@@@tabargs[7]{% - \def\SB@temp{#1}% - \ifx\SB@temp\SB@tdone\else% - \SB@tabarg\SB@targfing{#1}% - \SB@tabarg\SB@targfing{#2}% - \SB@tabarg\SB@targfing{#3}% - \SB@tabarg\SB@targfing{#4}% - \SB@tabarg\SB@targfing{#5}% - \SB@tabarg\SB@targfing{#6}% - \def\SB@temp{#7}% - \ifx\SB@temp\SB@tdone\else\SB@errtabx\fi% - \fi% - \iffalse% -} -\newcommand\SB@tabarg[2]{% - \def\SB@temp{#2}% - \ifx\SB@temp\SB@xtoken\SB@@tabarg#1\X\else% - \ifx\SB@temp\SB@ytoken\SB@@tabarg#1\0\else% - \ifx\SB@temp\SB@tokenz\SB@@tabarg#1\0\else% - \ifx\SB@temp\SB@tokeni\SB@@tabarg#1\1\else% - \ifx\SB@temp\SB@tokenii\SB@@tabarg#1\2\else% - \ifx\SB@temp\SB@tokeniii\SB@@tabarg#1\3\else% - \ifx\SB@temp\SB@tokeniv\SB@@tabarg#1\4\else% - \SB@errtab\SB@@tabarg#1\0% - \fi\fi\fi\fi\fi\fi\fi% -} -\newcommand\SB@@tabarg[2]{% - \expandafter\def\expandafter#1\expandafter{#1#2}% + \def\SB@targfret{#1}% + \SB@csify\SB@targfing{#3}% + \SB@csify\SB@targstr{#2}% + \fi\fi% } \newcommand\songchapter{% \let\SB@temp\@seccntformat% @@ -2783,19 +2851,16 @@ \SB@chkidxlst% \stepcounter{SB@songsnum}% \setcounter{songnum}{1}% + \let\SB@sgroup\@empty% \ifinner\else\ifdim\pagetotal>\z@% \null\nointerlineskip% \fi\fi% \songcolumns\SB@numcols% \SB@songsenvtrue% }{% - \SB@finalizesonglist% - \SB@clearpage% - \ifinner\else% - \clearpage% - \thispagestyle{empty}% - \cleardoublepage% - \fi% + \commitsongs% + \global\let\SB@indexlist\@empty% + \ifinner\else\clearpage\fi% \SB@songsenvfalse% } \newcounter{SB@songsnum} @@ -2905,25 +2970,48 @@ \newcommand\SB@idxlineskip[1]{% \vskip#1\p@\@plus#1\p@\@minus#1\p@% } -\newcommand\SB@multiline[2]{% +\newcommand\SB@ellipspread[2]{% \begingroup% - \SB@dimen-\SB@dimen% - \advance\SB@dimen\hsize% - \SB@dimenii-\SB@dimenii% - \advance\SB@dimenii\SB@dimen% - \leftskip.5cm% - \interlinepenalty\@M% - {\hskip-.5cm\relax#1\unskip\nobreak% - \SB@maxmin\SB@dimenii<{1.5em}% - \leaders\hbox to.5em{\hss.\hss}\hskip\SB@dimenii\@plus1fill% - \nobreak{#2\kern-2em}% - \rightskip2em\@plus1fil\par% - \global\SB@cnt\badness}% + \SB@dimen\z@% + \def\SB@temp{#1}% + \SB@toks{#2}% + \setbox\SB@box\hbox{{% + \SB@temp% + \leaders\hbox to.5em{\hss.\hss}\hskip2em\@plus1fil% + {\the\SB@toks}% + }}% + \ifdim\wd\SB@box>\hsize% + \SB@balancerows% + \else% + \hbox to\hsize{\unhbox\SB@box}\par% + \fi% \endgroup% -}% -\newcommand\SB@balancerows[2]{% +} +\newcommand\SB@balancerows{% + \edef\SB@tempii{\the\SB@toks}% \setbox\SB@box\vbox{% - \SB@multiline{\hbadness\@M\hfuzz\maxdimen#1}{#2}% + \SB@toks\expandafter{\expandafter\\\the\SB@toks\\}% + \SB@lop\SB@toks\SB@toks% + \settowidth\SB@dimen{\the\SB@toks}% + \advance\SB@dimen-.5em% + \leftskip.5cm% + {\hbadness\@M\hfuzz\maxdimen% + \hskip-.5cm\relax\SB@temp\unskip\nobreak% + \hskip\SB@dimen\nobreak% + \rightskip2em\@plus1fil\par}% + \setbox\SB@box\lastbox% + \setbox\SB@box\hbox{% + \unhbox\SB@box% + \unskip\unskip\unpenalty% + \unpenalty\unskip\unpenalty% + }% + \expandafter% + }% + \expandafter\SB@dimenii\the\wd\SB@box\relax% + \SB@dimen\hsize% + \advance\SB@dimen-.5cm% + \setbox\SB@box\vbox{% + \SB@multiline{\hbadness\@M\hfuzz\maxdimen}% }% \SB@dimeniii.5\SB@dimen% \SB@dimeniv\SB@dimeniii% @@ -2931,7 +3019,7 @@ \SB@dimeniv.5\SB@dimeniv% \setbox\SB@boxii\vbox{% \SB@dimen\SB@dimeniii% - \SB@multiline{\hbadness\@M\hfuzz\maxdimen#1}{#2}% + \SB@multiline{\hbadness\@M\hfuzz\maxdimen}% }% \ifnum\SB@cnt<\@M% \ifdim\ht\SB@boxii>\ht\SB@box% @@ -2946,42 +3034,23 @@ \ifdim\SB@dimeniv>2\p@\repeat% \setbox\SB@box\box\voidb@x% \setbox\SB@boxii\box\voidb@x% - \SB@multiline{#1}{#2}% + \SB@multiline\relax% } -\newcommand\SB@ellipspread[2]{% +\newcommand\SB@multiline[1]{% \begingroup% - \SB@dimen\z@% - \setbox\SB@box\hbox{% - {#1\leaders\hbox to.5em{\hss.\hss}\hskip2em\@plus1fil{#2}}% - }% - \ifdim\wd\SB@box>\hsize% - \setbox\SB@box\vbox{% - \SB@toks{\\#2\\}% - \SB@lop\SB@toks\SB@toks% - \settowidth\SB@dimen{\the\SB@toks}% - \advance\SB@dimen-.5em% - \leftskip.5cm% - {\hbadness\@M\hfuzz\maxdimen% - \hskip-.5cm\relax#1\unskip\nobreak% - \hskip\SB@dimen\nobreak% - \rightskip2em\@plus1fil\par}% - \setbox\SB@box\lastbox% - \setbox\SB@box\hbox{% - \unhbox\SB@box% - \unskip\unskip\unpenalty% - \unpenalty\unskip\unpenalty% - }% - \expandafter% - }% - \expandafter\SB@dimenii\the\wd\SB@box\relax% - \SB@dimen\hsize% - \advance\SB@dimen-.5cm% - \SB@balancerows{#1}{#2}% - \else% - \hbox to\hsize{\unhbox\SB@box}\par% - \fi% + \SB@dimen-\SB@dimen% + \advance\SB@dimen\hsize% + \SB@dimenii-\SB@dimenii% + \advance\SB@dimenii\SB@dimen% + {#1\hskip-.5cm\relax\SB@temp\unskip\nobreak% + \SB@maxmin\SB@dimenii<{1.5em}% + \leftskip.5cm\rightskip2em\@plus1fil% + \interlinepenalty\@M% + \leaders\hbox to.5em{\hss.\hss}\hskip\SB@dimenii\@plus1fill% + \nobreak{\SB@tempii\kern-2em}% + \par\global\SB@cnt\badness}% \endgroup% -} +}% \newcommand\SB@idxitemsep{% ,\kern-2em\penalty-8\hskip2.33em\@minus.11em% \hskip-\SB@dimen\@plus-1fill% @@ -3101,7 +3170,8 @@ \global\setbox\SB@boxii\box\voidb@x% \vbadness\SB@cnt\vfuzz\SB@dimenii% \fi% - }{% + }% + {% \vbox to\textheight{% \vfil% \unvbox\SB@idxtitlebox% @@ -3110,7 +3180,7 @@ \vskip\z@\@plus2fil\relax% }% }% - \cleardoublepage% + \clearpage% \endgroup\fi% } \newcommand\showindex[3][0]{% @@ -3128,38 +3198,42 @@ } \newcommand\SB@maketitleindex{% \renewenvironment{SB@lgidx}[1]{ - \hbox{\SB@colorbox{\vbox{% - \hbox to\idxheadwidth{\idxheadfont\relax##1\hfil}% + \hbox{\SB@colorbox\idxbgcolor{\vbox{% + \hbox to\idxheadwidth{{\idxheadfont\relax##1}\hfil}% }}}% \nobreak\vskip3\p@\@plus2\p@\@minus2\p@\nointerlineskip% }{\penalty-50\vskip5\p@\@plus5\p@\@minus4\p@}% \renewenvironment{SB@smidx}[1]{}{}% \renewcommand\idxentry[2]{% \SB@ellipspread{\idxtitlefont\relax\ignorespaces##1\unskip}% - {\idxrefsfont\relax##2}% + {{\idxrefsfont\relax##2}}% }% \renewcommand\idxaltentry[2]{% \SB@ellipspread{\idxlyricfont\relax\ignorespaces##1\unskip}% - {\idxrefsfont\relax##2}% + {{\idxrefsfont\relax##2}}% }% \SB@displayindex% } \newcommand\SB@idxcolhead{} +\newcommand\SB@idxheadsep{{% + \SB@dimen4\p@% + \advance\SB@dimen-\prevdepth% + \SB@maxmin\SB@dimen<\z@% + \SB@dimenii\SB@dimen% + \SB@maxmin\SB@dimenii>\p@% + \vskip\SB@dimen\@plus\p@\@minus\SB@dimenii% +}} \newcommand\SB@idxcont[1]{% - \hbox to\hsize{\idxcont{#1}\hfil}% + \hbox to\hsize{{\idxcont{#1}}\hfil}% \nobreak% - \ifdim\prevdepth>4\p@\prevdepth4\p@\fi% - \vskip-\prevdepth% - \vskip4\p@\@plus\p@\@minus\p@\nointerlineskip% + \SB@idxheadsep\nointerlineskip% } \newcommand\SB@makescripindex{% \renewenvironment{SB@lgidx}[1]{% \gdef\SB@idxcolhead{##1}% - \hbox to\hsize{\idxbook{##1}\hfil}% + \hbox to\hsize{{\idxbook{##1}}\hfil}% \nobreak% - \ifdim\prevdepth>4\p@\prevdepth4\p@\fi% - \vskip-\prevdepth% - \vskip4\p@\@plus\p@\@minus\p@\nointerlineskip% + \SB@idxheadsep\nointerlineskip% }{% \mark{\noexpand\relax}% \penalty-20\vskip3\p@\@plus3\p@\relax% @@ -3168,7 +3242,7 @@ {\begin{SB@lgidx}{##1}}{\end{SB@lgidx}}% \renewcommand\idxentry[2]{% \SB@ellipspread{\hskip.25cm\idxscripfont\relax##1}% - {\idxrefsfont\relax##2}% + {{\idxrefsfont\relax##2}}% \SB@toks\expandafter{\SB@idxcolhead}% \mark{\noexpand\SB@idxcont{\the\SB@toks}}% }% @@ -3179,8 +3253,8 @@ \renewenvironment{SB@lgidx}[1]{}{}% \renewenvironment{SB@smidx}[1]{}{}% \renewcommand\idxentry[2]{% - \SB@ellipspread{\idxauthfont\relax\sfcode`.\@m##1}% - {\idxrefsfont##2}% + \SB@ellipspread{{\idxauthfont\relax\sfcode`.\@m##1}}% + {{\idxrefsfont##2}}% }% \renewcommand\idxaltentry[2]{\SB@erridx{an author}}% \SB@displayindex% @@ -3251,13 +3325,13 @@ \newcommand\SB@erreor{% \SB@Error{Encountered \protect\endsong\space without seein% g an \protect\endscripture for the preceding scripture quot% - e}{A scripture quote appearing after song \SB@prevsong\space% + e}{A scripture quote appearing before song \thesongnum\space% ended with \protect\endsong\space instead of wit% h \protect\endscripture.}% } \newcommand\SB@erreot{% \SB@Error{Encountered \protect\endsong\space with no matchin% - g \protect\beginsong}{After song \SB@prevsong\space there wa% + g \protect\beginsong}{Before song \thesongnum\space there wa% s an \protect\endsong\space with no matchin% g \protect\beginsong.}% } @@ -3275,8 +3349,8 @@ } \newcommand\SB@errbvt{% \SB@Error{Encountered \protect\beginverse\space without firs% - t seeing a \protect\beginsong\space line}{After son% - g \SB@prevsong, there is a \protect\beginverse\space line no% + t seeing a \protect\beginsong\space line}{Before son% + g \thesongnum, there is a \protect\beginverse\space line no% t contained in any song.}% } \newcommand\SB@errevc{% @@ -3293,7 +3367,7 @@ } \newcommand\SB@errevt{% \SB@Error{Encountered an \protect\endverse\space outside o% - f any song}{After song \SB@prevsong, there is a% + f any song}{Before song \thesongnum, there is a% n \protect\endverse\space line not preceded b% y a \protect\beginsong\space line.}% } @@ -3336,20 +3410,20 @@ } \newcommand\SB@errect{% \SB@Error{Encountered an \protect\endchorus\space outside o% - f any song}{After song \SB@prevsong, there is a% + f any song}{Before song \thesongnum, there is a% n \protect\endchorus\space line not preceded b% y a \protect\beginsong\space line.}% } \newcommand\SB@errbro{% - \SB@Error{Encountered a \protect\beginscripture\space insid% - e a song}{Song \thesongnum\space might be missing a% + \SB@Error{Missing \protect\endsong}% + {Nested song and intersong environments are not supported% + . Song \thesongnum\space might be missing a% n \protect\endsong\space line.}% } \newcommand\SB@errbrr{% - \SB@Error{Encountered a \protect\beginscripture\space with% - out seeing an \protect\endscripture\space for the precedin% - g scripture quote}{A scripture quote after song \SB@prevsong% - \space is missing an \protect\endscripture\space line.}% + \SB@Error{Nested intersong environments are not supported}% + {A scripture quote or other intersong environment before s% + ong \thesongnum\space is missing its ending line.}% } \newcommand\SB@errero{% \SB@Error{Encountered an \protect\endscripture\space whil% @@ -3359,8 +3433,8 @@ } \newcommand\SB@errert{% \SB@Error{Encountered an \protect\endscripture\space with% - out first seeing a \protect\beginscripture}{After son% - g \SB@prevsong, there is an \protect\endscripture\space w% + out first seeing a \protect\beginscripture}{Before son% + g \thesongnum, there is an \protect\endscripture\space w% ith no matching \protect\beginscripture.}% } \newcommand\SB@errscrip[1]{% @@ -3403,12 +3477,6 @@ eplacing it with \protect\0.}{Valid arguments consist onl% y of: X, O, 0, 1, 2, 3, or 4.}% } -\newcommand\SB@errtabx{% - \SB@Error{Argument to \protect\gtab\space has extra tokens% - . Ignoring them.}{The strings and fingering portions of t% - he second argument should consist of exactly six symbols e% - ach.}% -} \newcommand\SB@errnoidx[1]{% \SB@Error{Unknown index identifier: #1}{This index identifie% r was never declared using \protect\newindex.}% @@ -3441,11 +3509,21 @@ \ifSB@colorboxes \RequirePackage{color} \definecolor{SongbookShade}{gray}{.80} - \newcommand\SB@colorbox[1]{\colorbox{SongbookShade}{#1}} + \newcommand\SB@colorbox[2]{% + \ifx\@empty#1% + \vbox{% + \kern3\p@% + \hbox{\kern3\p@{#2}\kern3\p@}% + \kern3\p@% + }% + \else% + \colorbox{#1}{#2}% + \fi% + } \else - \newcommand\SB@colorbox[1]{\vbox{% + \newcommand\SB@colorbox[2]{\vbox{% \kern3\p@% - \hbox{\kern3\p@{#1}\kern3\p@}% + \hbox{\kern3\p@{#2}\kern3\p@}% \kern3\p@% }} \fi From 3ba04d56d223b8fbbd717a53e0106aa18af5973d Mon Sep 17 00:00:00 2001 From: crep Date: Thu, 10 Jun 2010 22:44:14 +0200 Subject: [PATCH 15/24] Add song: Les Cowboys Fringants - Plus rien --- songs/Les_Cowboys_Fringants/Plus_rien.sg | 122 +++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 songs/Les_Cowboys_Fringants/Plus_rien.sg diff --git a/songs/Les_Cowboys_Fringants/Plus_rien.sg b/songs/Les_Cowboys_Fringants/Plus_rien.sg new file mode 100644 index 00000000..904efef0 --- /dev/null +++ b/songs/Les_Cowboys_Fringants/Plus_rien.sg @@ -0,0 +1,122 @@ +\songcolumns{2} +\beginsong{Plus rien}[by=Les Cowboys Fringants,cov=la-grand-messe] + + \cover + \gtab{Rém}{XX0231} + \gtab{Fa}{1:022100} + \gtab{Do}{X32010} + \gtab{Solm}{3:022000} + \gtab{Si&}{1:X02220} + \gtab{La7}{X02020} + + \musicnote{Pattern 1: Rém Fa Do Sol} + + \beginverse + Il \[Rém]ne reste que quelques minutes à ma vie + Tout \[Fa]au plus quelques heures je sens que je faiblis + Mon \[Do]frère est mort hier au milieu du désert + Je \[Solm]suis maintenant le dernier hu\[Si&]main \[Do]de la \[Rém]terre + \endverse + + \musicnote{Pattern 2: Rém Sol Do Si\flt} + \beginverse* + On \[Rém]{m'a} décrit jadis, quand j'étais un enfant + Ce \[Solm]{qu'avait} l'air le monde il y a très très longtemps + Quand \[Do]vivaient les parents de mon arrière grand-père + Et \[Si&]{qu'il} tombait encore de la \[La7]neige en hiver + \endverse + + %\musicnote{Pattern 2: Rém Sol Do Si\flt} + \beginverse* + En ces temps on vivait au rythme des saisons + Et la fin des étés apportait la moisson + Une eau pure et limpide coulait dans les ruisseaux + Où venaient s'abreuver chevreuils et orignaux + \endverse + + \musicnote{Pattern 3: Ré Si\flt Fa Do} + \beginverse* + Mais \[Rém]moi je n'ai vu qu'une planète désolante + \[Si&]Paysages lunaires et chaleur suffocante + Et tous \[Fa]mes amis mourir par la soif ou la faim + Co\[Do]mme tombent les mouches + \endverse + + \beginchorus + Jusqu'à c'qu'il n'y ait plus \[Rém]rien + Plus \[Solm]rien, plus \[Do]rien \[Si& Do] + \endchorus + + \musicnote{Pattern 1: Rém Fa Do Sol} + \beginverse + Il ne reste que quelques minutes à ma vie + Tout au plus quelques heures, je sens que je faiblis + Mon frère est mort hier au milieu du désert + Je suis maintenant le dernier humain de la terre + \endverse + + \musicnote{Pattern 2: Rém Sol Do Si\flt} + \beginverse* + Tout ça a commencé il y a plusieurs années + Alors que mes ancêtres étaient obnubilés + Par des bouts de papier que l'on appelait argent + Qui rendaient certains hommes vraiment riches et puissants + \endverse + + %\musicnote{Pattern 2: Rém Sol Do Si\flt} + \beginverse* + Et ces nouveaux dieux ne reculant devant rien + Étaient prêts à tout pour arriver à leurs fins + Pour s'enrichir encore ils ont rasé la terre + Pollué l'air ambiant et tari les rivières + \endverse + + %\musicnote{Pattern 2: Rém Sol Do Si\flt} + \beginverse* + Mais au bout de cent ans des gens se sont levés + Et les ont avertis qu'il fallait tout stopper + Mais ils n'ont pas compris cette sage prophétie + Ces gens-là ne parlaient qu'en termes de profits + \endverse + + \musicnote{Pattern 3: Ré Si\flt Fa Do} + \beginverse* + C'est des années plus tard qu'ils ont vu le non-sens + Dans la panique ont déclaré l'état d'urgence + Quand tous les océans ont englouti les îles + Et que les inondations ont frappé les grandes villes + \endverse + + %\musicnote{Pattern 3: Ré Si\flt Fa Do} + \beginverse* + Et par la suite pendant toute une décennie + Ce fut les ouragans et puis les incendies + Les tremblements de terre et la grande sécheresse + Partout sur les visages on lisait la détresse + \endverse + + %\musicnote{Pattern 3: Ré Si\flt Fa Do} + \beginverse* + Les gens ont dû se battre contre les pandémies + Décimés par millions par d'atroces maladies + Puis les autres sont morts par la soif ou la faim + Comme tombent les mouches + \endverse + + \musicnote{Pattern 2: Rém Sol Do Si\flt} + \beginverse + Mon frère est mort hier au milieu du désert + Je suis maintenant le dernier humain de la terre + Au fond l'intelligence qu'on nous avait donné + N'aura été qu'un beau cadeau empoisonné + \endverse + + \musicnote{Pattern 1: Rém Fa Do Sol} + \beginverse* + Car il ne reste que quelques minutes à la vie + Tout au plus quelques heures, je sens que je faiblis + Je ne peux plus marcher, j'ai peine à respirer + Adieu l'humanité, adieu l'humanité + \endverse + +\endsong \ No newline at end of file From a56a0dfe25f0a49ba05450e0b08d20b8de594387 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Mon, 14 Jun 2010 15:46:02 +0200 Subject: [PATCH 16/24] Correct songs list for volume 1 and 2 --- volume-1.sb | 357 ++++++++++++++++++++++++++-------------------------- volume-2.sb | 21 +++- 2 files changed, 195 insertions(+), 183 deletions(-) diff --git a/volume-1.sb b/volume-1.sb index 45fdc0e8..cb891749 100644 --- a/volume-1.sb +++ b/volume-1.sb @@ -1,185 +1,188 @@ { "template" : "songbook.tmpl", -"title" : "Recueil de chansons pour guitare", "author" : "Romain Goffe \\and Alexandre Dupas", -"subtitle" : "Tome 1", -"version" : "3.1", +"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", +"license" : "\\input{license.tex}", "mail" : "crep@team-on-fire.com", "picture" : "feel-the-music", "picturecopyright" : "foxygamergirl @ deviantart.com", -"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", -"licence" : "\\input{license.tex}", +"subtitle" : "Tome 1", +"title" : "Recueil de chansons pour guitare", +"version" : "3.1", +"booktype" : [ + "chorded" + ], "songs" : [ - "Alain_Bashung/Gaby_oh_gaby.sg", - "Amy_MacDonald/Mr._Rock_n_Roll.sg", - "Amy_MacDonald/This_is_the_life.sg", - "Anais/Mon_coeur_mon_amour.sg", - "Avril_Lavigne/Things_I_ll_never_say.sg", - "Barry_Louis_Polisar/All_I_Want_Is_You.sg", - "Belle_Sebastian/Piazza_New-York_catcher.sg", - "Benabar/Le_diner.sg", - "Benabar/Quatre_murs_et_un_toit.sg", - "Benabar/Y_a_une_fille_qu_habite_chez_moi.sg", - "Bob_Dylan/Blowin_in_the_wind.sg", - "Bob_Dylan/Knocking_on_heavens_door.sg", - "Bruce_Springsteen/Bring_em_home.sg", - "Bruce_Springsteen/Buffalo_gals.sg", - "Bruce_Springsteen/O_Mary_don_t_you_weep.sg", - "Carter_Family/In_the_highways.sg", - "Carter_Family/Keep_on_the_sunny_side.sg", - "Cat_Stevens/My_Lady_d_Arbanville.sg", - "Cat_Stevens/Sad_Lisa.sg", - "Cat_Stevens/The_wind.sg", - "Charles_Aznavour/Emmenez-moi.sg", - "Dessins_Animes/Les_mysterieuses_cites_d_or.sg", - "Dessins_Animes/L_histoire_d_Actarus.sg", - "Dessins_Animes/Nicky_Larson.sg", - "Dessins_Animes/Tom_Sawyer_debut.sg", - "Dessins_Animes/Tom_Sawyer_fin.sg", - "Eels/Dirty_girl.sg", - "Eels/Hey_man.sg", - "Eels/I_like_birds.sg", - "Eels/Packing_blankets.sg", - "Francis_Cabrel/Je_l_aime_a_mourir.sg", - "Francis_Cabrel/Petite_Marie.sg", - "Garfunkel_and_Oates/Fuck_you.sg", - "Georges_Brassens/Cupidon_s_en_fout.sg", - "Georges_Brassens/Grand_pere.sg", - "Georges_Brassens/La_chanson_du_herisson.sg", - "Georges_Brassens/La_mauvaise_reputation.sg", - "Georges_Brassens/Le_gorille.sg", - "Georges_Brassens/Les_copains_d_abord.sg", - "Graeme_Allwright/Ca_je_l_ai_jamais_vu.sg", - "Graeme_Allwright/Il_faut_que_je_m_en_aille.sg", - "Graeme_Allwright/Johnny.sg", - "Graeme_Allwright/Jolie_Bouteille.sg", - "Graeme_Allwright/Jusqu_a_la_ceinture.sg", - "Graeme_Allwright/La_mouche_bleue.sg", - "Graeme_Allwright/Petites_boites.sg", - "Graeme_Allwright/Petit_garcon.sg", - "Green_Day/Boulevard_of_broken_dreams.sg", - "Herman_Dune/I_wish_I_could_see_you_soon.sg", - "Howie_Day/Collide.sg", - "Hugues_Aufray/Je_reviens.sg", - "Hugues_Aufray/Le_Bon_Dieu_s_enervait.sg", - "Hugues_Aufray/Le_petit_ane_gris.sg", - "Hugues_Aufray/N_y_pense_plus_tout_est_bien.sg", - "Hugues_Aufray/Santiano.sg", - "Hugues_Aufray/Tu_sens_bon_la_terre.sg", - "Jacques_Brel/Vesoul.sg", - "Jeff_Buckley/Hallelujah.sg", - "Joe_Dassin/Le_chemin_de_Papa.sg", - "Joe_Dassin/Siffler_sur_la_colline.sg", - "Kana/Plantation.sg", - "Karpatt/Le_magicien.sg", - "Karpatt/Les_ptits_cailloux.sg", - "Karpatt/Melisande.sg", - "Kimya_Dawson/Tree_hugger.sg", - "La_Rue_Ketanou/Impossible.sg", - "La_Rue_Ketanou/La_rue_ketanou.sg", - "La_Rue_Ketanou/Les_cigales.sg", - "La_Rue_Ketanou/Les_mots.sg", - "La_Rue_Ketanou/Ma_faute_a_toi.sg", - "La_Rue_Ketanou/Tu_parles_trop.sg", - "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg", - "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", - "Le_Donjon_de_Naheulbeuk/Bugger_off.sg", - "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", - "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", - "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", - "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", - "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", - "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", - "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", - "Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg", - "Les_Amis_D_Ta_Femme/Cayenne.sg", - "Les_Amis_D_Ta_Femme/Maree_Basse.sg", - "Les_Cowboys_Fringants/Droit_devant.sg", - "Les_Cowboys_Fringants/Etoiles_filantes.sg", - "Les_Cowboys_Fringants/Histoire_de_peche.sg", - "Les_Cowboys_Fringants/La_manifestation.sg", - "Les_Cowboys_Fringants/Les_hirondelles.sg", - "Les_Cowboys_Fringants/Toune_d_automne.sg", - "Les_Fatals_Picards/Chasse_peche_et_nature.sg", - "Les_Hurlements_d_Leo/Poemes.sg", - "Les_Momes_du_CE2/Mamadou_avait_mal_aux_dents.sg", - "Les_Ogres_de_Barback/3_-_0.sg", - "Les_Ogres_de_Barback/Accordeon_pour_les_cons.sg", - "Les_Ogres_de_Barback/Contes_vents_et_marees.sg", - "Les_Ogres_de_Barback/Grand-mere.sg", - "Les_Ogres_de_Barback/L_air_bete.sg", - "Les_Ogres_de_Barback/La_premiere_fois.sg", - "Les_Ogres_de_Barback/Petite_societe.sg", - "Les_Ogres_de_Barback/Pour_me_rendre_a_mon_bureau.sg", - "Les_Ogres_de_Barback/Rue_de_Panam.sg", - "Les_Tetes_Raides/L_iditente.sg", - "Les_Tetes_Raides/Patalo.sg", - "Les_Tit_s_Nassels/Les_tit_s_ballades.sg", - "Les_VRP/Leo.sg", - "Les_Wriggles/Julie_la_petite_olive.sg", - "Les_Wriggles/Monolithe.sg", - "Les_Wriggles/Poupine_et_Thierry.sg", - "Linkin_Park/Numb.sg", - "Louise_Attaque/Depuis_toujours.sg", - "Louise_Attaque/Lea.sg", - "Mano_Negra/Out_of_time_man.sg", - "Manu_Chao/Bienvenida_a_Tijuana.sg", - "Manu_Chao/Clandestino.sg", - "Manu_Chao/Desaparecido.sg", - "Maurice_Dulac/Dis_a_ton_fils.sg", - "Mes_souliers_sont_rouges/Les_souliers_rouges.sg", - "Mes_souliers_sont_rouges/Sainte-Cecile.sg", - "Mes_souliers_sont_rouges/The_rooster.sg", - "Moriarty/Jimmy.sg", - "Noir_Desir/Aux_sombres_heros_de_l_amer.sg", - "Norah_Jones/Somewhere_over_the_rainbow.sg", - "Oasis/Wonderwall.sg", - "Oldelaf_et_Monsieur_D/Cafe.sg", - "Oldelaf_et_Monsieur_D/Nathalie.sg", - "Oldelaf_et_Monsieur_D/Petit_Pierrot.sg", - "Oldelaf_et_Monsieur_D/Raoul_le_pitbull.sg", - "Oldelaf_et_Monsieur_D/Rue_de_Nantes.sg", - "Oldelaf_et_Monsieur_D/Trahis.sg", - "Patrick_Bouchitey/Jesus_reviens.sg", - "Pierre_Perret/Lily.sg", - "Pixies/Where_Is_My_Mind.sg", - "Pow_Wow/Le_lion_est_mort_ce_soir.sg", - "Radiohead/Creep.sg", - "Renaud/Des_que_le_vent_soufflera.sg", - "Renaud/Hexagone.sg", - "Renaud/Laisse_Beton.sg", - "Renaud/Manu.sg", - "Renaud/Marche_a_l_ombre.sg", - "Renaud/Mistral_Gagnant.sg", - "Renaud/Petite_fillle_des_sombres_rues.sg", - "Simon_Garfunkel/Cecilia.sg", - "Simon_Garfunkel/El_condor_pasa.sg", - "Simon_Garfunkel/Feeling_groovy.sg", - "Simon_Garfunkel/Scarborough_Fair.sg", - "Simon_Garfunkel/The_boxer.sg", - "Simon_Garfunkel/The_leaves_that_are_green.sg", - "Simon_Garfunkel/The_sounds_of_silence.sg", - "Simon_Garfunkel/Wednesday_morning_3a.m.sg", - "Sinsemilia/J_prefere_100_fois.sg", - "Steve_Waring/Le_matou.sg", - "Terra_Naomi/Say_It_s_Possible.sg", - "The_Beatles/Hey_Jude.sg", - "The_Beatles/Ob-la-di_ob-la-da.sg", - "The_Beatles/Yellow_submarine.sg", - "The_Beatles/Yesterday.sg", - "The_Eagles/Hotel_California.sg", - "The_Moldy_Peaches/Anyone_Else_But_You.sg", - "The_Pogues/Dirty_Old_Town.sg", - "The_Pogues/Fairytale_of_New-York.sg", - "Tri_Yann/La_jument_de_Michao.sg", - "Tri_Yann/La_ville_que_j_ai_tant_aimee.sg", - "Tri_Yann/Les_prisons_de_Nantes.sg", - "Tri_Yann/Si_mort_a_mors.sg", - "Tryo/Ce_que_l_on_s_aime.sg", - "Tryo/Le_petit_chose.sg", - "Tryo/L_hymne_de_nos_campagnes.sg", - "Yves_Jamait/Et_je_bois.sg", - "Yvon_Etienne/Chemise_rouge.sg", - "Yvon_Etienne/Y_a_des_nouilles_et_du_nougat.sg" - ] + "Alain_Bashung/Gaby_oh_gaby.sg", + "Amy_MacDonald/Mr._Rock_n_Roll.sg", + "Amy_MacDonald/This_is_the_life.sg", + "Anais/Mon_coeur_mon_amour.sg", + "Avril_Lavigne/Things_I_ll_never_say.sg", + "Barry_Louis_Polisar/All_I_Want_Is_You.sg", + "Belle_Sebastian/Piazza_New-York_catcher.sg", + "Bob_Dylan/Knocking_on_heavens_door.sg", + "Bob_Dylan/Blowin_in_the_wind.sg", + "Bruce_Springsteen/Buffalo_gals.sg", + "Bruce_Springsteen/Bring_em_home.sg", + "Bruce_Springsteen/O_Mary_don_t_you_weep.sg", + "Benabar/Quatre_murs_et_un_toit.sg", + "Benabar/Y_a_une_fille_qu_habite_chez_moi.sg", + "Benabar/Le_diner.sg", + "Carter_Family/In_the_highways.sg", + "Carter_Family/Keep_on_the_sunny_side.sg", + "Cat_Stevens/The_wind.sg", + "Cat_Stevens/Sad_Lisa.sg", + "Cat_Stevens/My_Lady_d_Arbanville.sg", + "Charles_Aznavour/Emmenez-moi.sg", + "Dessins_Animes/Tom_Sawyer_debut.sg", + "Dessins_Animes/L_histoire_d_Actarus.sg", + "Dessins_Animes/Tom_Sawyer_fin.sg", + "Dessins_Animes/Nicky_Larson.sg", + "Dessins_Animes/Les_mysterieuses_cites_d_or.sg", + "Eels/Packing_blankets.sg", + "Eels/Hey_man.sg", + "Eels/I_like_birds.sg", + "Eels/Dirty_girl.sg", + "Francis_Cabrel/Je_l_aime_a_mourir.sg", + "Francis_Cabrel/Petite_Marie.sg", + "Garfunkel_and_Oates/Fuck_you.sg", + "Georges_Brassens/Le_gorille.sg", + "Georges_Brassens/Cupidon_s_en_fout.sg", + "Georges_Brassens/Les_copains_d_abord.sg", + "Georges_Brassens/Grand_pere.sg", + "Georges_Brassens/La_mauvaise_reputation.sg", + "Georges_Brassens/La_chanson_du_herisson.sg", + "Graeme_Allwright/Ca_je_l_ai_jamais_vu.sg", + "Graeme_Allwright/Petit_garcon.sg", + "Graeme_Allwright/Il_faut_que_je_m_en_aille.sg", + "Graeme_Allwright/Jolie_Bouteille.sg", + "Graeme_Allwright/Petites_boites.sg", + "Graeme_Allwright/Jusqu_a_la_ceinture.sg", + "Graeme_Allwright/La_mouche_bleue.sg", + "Graeme_Allwright/Johnny.sg", + "Green_Day/Boulevard_of_broken_dreams.sg", + "Herman_Dune/I_wish_I_could_see_you_soon.sg", + "Howie_Day/Collide.sg", + "Hugues_Aufray/Le_Bon_Dieu_s_enervait.sg", + "Hugues_Aufray/N_y_pense_plus_tout_est_bien.sg", + "Hugues_Aufray/Je_reviens.sg", + "Hugues_Aufray/Santiano.sg", + "Hugues_Aufray/Tu_sens_bon_la_terre.sg", + "Hugues_Aufray/Le_petit_ane_gris.sg", + "Jacques_Brel/Vesoul.sg", + "Jeff_Buckley/Hallelujah.sg", + "Joe_Dassin/Siffler_sur_la_colline.sg", + "Joe_Dassin/Le_chemin_de_Papa.sg", + "Kana/Plantation.sg", + "Karpatt/Melisande.sg", + "Karpatt/Les_ptits_cailloux.sg", + "Karpatt/Le_magicien.sg", + "Kimya_Dawson/Tree_hugger.sg", + "La_Rue_Ketanou/Les_cigales.sg", + "La_Rue_Ketanou/La_rue_ketanou.sg", + "La_Rue_Ketanou/Tu_parles_trop.sg", + "La_Rue_Ketanou/Ma_faute_a_toi.sg", + "La_Rue_Ketanou/Les_mots.sg", + "La_Rue_Ketanou/Impossible.sg", + "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", + "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", + "Le_Donjon_de_Naheulbeuk/Bugger_off.sg", + "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", + "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", + "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", + "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", + "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", + "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", + "Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg", + "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg", + "Les_Amis_D_Ta_Femme/Maree_Basse.sg", + "Les_Amis_D_Ta_Femme/Cayenne.sg", + "Les_Cowboys_Fringants/Droit_devant.sg", + "Les_Cowboys_Fringants/Etoiles_filantes.sg", + "Les_Cowboys_Fringants/Les_hirondelles.sg", + "Les_Cowboys_Fringants/La_manifestation.sg", + "Les_Cowboys_Fringants/Histoire_de_peche.sg", + "Les_Cowboys_Fringants/Toune_d_automne.sg", + "Les_Fatals_Picards/Chasse_peche_et_nature.sg", + "Les_Hurlements_d_Leo/Poemes.sg", + "Les_Momes_du_CE2/Mamadou_avait_mal_aux_dents.sg", + "Les_Ogres_de_Barback/3_-_0.sg", + "Les_Ogres_de_Barback/Pour_me_rendre_a_mon_bureau.sg", + "Les_Ogres_de_Barback/Petite_societe.sg", + "Les_Ogres_de_Barback/Rue_de_Panam.sg", + "Les_Ogres_de_Barback/Grand-mere.sg", + "Les_Ogres_de_Barback/L_air_bete.sg", + "Les_Ogres_de_Barback/Contes_vents_et_marees.sg", + "Les_Ogres_de_Barback/Accordeon_pour_les_cons.sg", + "Les_Ogres_de_Barback/La_premiere_fois.sg", + "Les_Tit_s_Nassels/Les_tit_s_ballades.sg", + "Les_Tetes_Raides/L_iditente.sg", + "Les_Tetes_Raides/Patalo.sg", + "Les_VRP/Leo.sg", + "Les_Wriggles/Monolithe.sg", + "Les_Wriggles/Poupine_et_Thierry.sg", + "Les_Wriggles/Julie_la_petite_olive.sg", + "Linkin_Park/Numb.sg", + "Louise_Attaque/Depuis_toujours.sg", + "Louise_Attaque/Lea.sg", + "Mano_Negra/Out_of_time_man.sg", + "Manu_Chao/Desaparecido.sg", + "Manu_Chao/Bienvenida_a_Tijuana.sg", + "Manu_Chao/Clandestino.sg", + "Maurice_Dulac/Dis_a_ton_fils.sg", + "Mes_souliers_sont_rouges/Les_souliers_rouges.sg", + "Mes_souliers_sont_rouges/Sainte-Cecile.sg", + "Mes_souliers_sont_rouges/The_rooster.sg", + "Moriarty/Jimmy.sg", + "Noir_Desir/Aux_sombres_heros_de_l_amer.sg", + "Norah_Jones/Somewhere_over_the_rainbow.sg", + "Oasis/Wonderwall.sg", + "Oldelaf_et_Monsieur_D/Rue_de_Nantes.sg", + "Oldelaf_et_Monsieur_D/Trahis.sg", + "Oldelaf_et_Monsieur_D/Nathalie.sg", + "Oldelaf_et_Monsieur_D/Raoul_le_pitbull.sg", + "Oldelaf_et_Monsieur_D/Petit_Pierrot.sg", + "Oldelaf_et_Monsieur_D/Cafe.sg", + "Patrick_Bouchitey/Jesus_reviens.sg", + "Pierre_Perret/Lily.sg", + "Pixies/Where_Is_My_Mind.sg", + "Pow_Wow/Le_lion_est_mort_ce_soir.sg", + "Radiohead/Creep.sg", + "Renaud/Hexagone.sg", + "Renaud/Des_que_le_vent_soufflera.sg", + "Renaud/Manu.sg", + "Renaud/Petite_fillle_des_sombres_rues.sg", + "Renaud/Marche_a_l_ombre.sg", + "Renaud/Mistral_Gagnant.sg", + "Renaud/Laisse_Beton.sg", + "Simon_Garfunkel/El_condor_pasa.sg", + "Simon_Garfunkel/The_boxer.sg", + "Simon_Garfunkel/Scarborough_Fair.sg", + "Simon_Garfunkel/Cecilia.sg", + "Simon_Garfunkel/The_sounds_of_silence.sg", + "Simon_Garfunkel/Feeling_groovy.sg", + "Simon_Garfunkel/The_leaves_that_are_green.sg", + "Simon_Garfunkel/Wednesday_morning_3a.m.sg", + "Sinsemilia/J_prefere_100_fois.sg", + "Steve_Waring/Le_matou.sg", + "Terra_Naomi/Say_It_s_Possible.sg", + "The_Beatles/Ob-la-di_ob-la-da.sg", + "The_Beatles/Yesterday.sg", + "The_Beatles/Yellow_submarine.sg", + "The_Beatles/Hey_Jude.sg", + "The_Eagles/Hotel_California.sg", + "The_Moldy_Peaches/Anyone_Else_But_You.sg", + "The_Pogues/Dirty_Old_Town.sg", + "The_Pogues/Fairytale_of_New-York.sg", + "Tri_Yann/La_ville_que_j_ai_tant_aimee.sg", + "Tri_Yann/Si_mort_a_mors.sg", + "Tri_Yann/Les_prisons_de_Nantes.sg", + "Tri_Yann/La_jument_de_Michao.sg", + "Tryo/Le_petit_chose.sg", + "Tryo/L_hymne_de_nos_campagnes.sg", + "Tryo/Ce_que_l_on_s_aime.sg", + "Yves_Jamait/Et_je_bois.sg", + "Yvon_Etienne/Chemise_rouge.sg", + "Yvon_Etienne/Y_a_des_nouilles_et_du_nougat.sg" + ] } diff --git a/volume-2.sb b/volume-2.sb index 65fcb35b..68e89113 100644 --- a/volume-2.sb +++ b/volume-2.sb @@ -1,14 +1,14 @@ { "template" : "songbook.tmpl", -"title" : "Recueil de chansons pour guitare", "author" : "Crep (R. Goffe) \\and Lohrun (A. Dupas)", -"subtitle" : "Tome 2", +"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", +"license" : "\\input{license.tex}", "mail" : "crep@team-on-fire.com", -"version" : "3.1", "picture" : "Sound__by_Ellesh", -"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", -"licence" : "\\input{license.tex}", "picturecopyright" : "Ellesh @ deviantart.com", +"subtitle" : "Tome 2", +"title" : "Recueil de chansons pour guitare", +"version" : "3.1", "booktype" : [ "chorded" ], @@ -82,6 +82,15 @@ "System_of_a_Down/Roulette.sg", "The_Animals/The_house_of_rising_sun.sg", "The_Beatles/Octopus_garden.sg", - "The_Beatles/Let_it_be.sg" + "The_Beatles/Let_it_be.sg", + "The_Calling/Wherever_you_will_go.sg", + "The_Carpenters/Breaking_up_is_hard_to_do.sg", + "The_Dubliners/Whiskey_in_the_jar.sg", + "The_Nightwatchman/Let_freedom_ring.sg", + "The_White_Stripes/Well_it_s_true_that_we_love_one_another.sg", + "U2/Sunday_bloody_sunday.sg", + "Vincent_Malone/L_escargot_malheureux.sg", + "Yodelice/Sunday_with_a_flu.sg", + "Yuki_Kajiura/Fake_wings.sg" ] } From 204d47d994e39986ca09e4c1cbe6de50ae0b421c Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Wed, 16 Jun 2010 14:48:40 +0200 Subject: [PATCH 17/24] Changes to the Naheulbeuk songbook store format. --- naheulbeuk.sb | 54 ++++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/naheulbeuk.sb b/naheulbeuk.sb index 2bc53a98..f3646c83 100644 --- a/naheulbeuk.sb +++ b/naheulbeuk.sb @@ -1,34 +1,36 @@ { "template" : "songbook.tmpl", -"title" : "Le Donjon de Naheulbeuk", "author" : "Crep (R.Goffe) \\and Lohrun (A.Dupas)", -"subtitle" : "Recueil de chansons non-officiel", -"version" : "0.4", +"license" : "\\input{license.tex}", "mail" : "crep@team-on-fire.com", "picture" : "naheulbeuk01", "picturecopyright" : "PenOfChaos", -"footer" : "", -"licence" : "\\input{license.tex}", +"subtitle" : "Recueil de chansons non-officiel", +"title" : "Le Donjon de Naheulbeuk", +"version" : "0.4", +"booktype" : [ + "chorded" + ], "songs" : [ - "Belyscendre/Mon_pere_veut_me_marier.sg", - "Belyscendre/Prends_garde_au_loup.sg", - "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg", - "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", - "Le_Donjon_de_Naheulbeuk/Bugger_off.sg", - "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", - "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", - "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", - "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg", - "Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg", - "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", - "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", - "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", - "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", - "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", - "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", - "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", - "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", - "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", - "Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg" - ] + "Belyscendre/Prends_garde_au_loup.sg", + "Belyscendre/Mon_pere_veut_me_marier.sg", + "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", + "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", + "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", + "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", + "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg", + "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", + "Le_Donjon_de_Naheulbeuk/Bugger_off.sg", + "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", + "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", + "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", + "Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg", + "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", + "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", + "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", + "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", + "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", + "Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg", + "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg" + ] } From 247b64100e2008062bfe07225ad703e37159336f Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Wed, 16 Jun 2010 14:50:35 +0200 Subject: [PATCH 18/24] Add lilypond support to the depend computation mechanism. --- songbook.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/songbook.py b/songbook.py index 4a394c2f..5fe664a8 100755 --- a/songbook.py +++ b/songbook.py @@ -64,6 +64,7 @@ def makeDepend(sb, output): # pattern that get dependencies 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 = [] @@ -75,6 +76,17 @@ def makeDepend(sb, output): if match: deps += [match.group(1)] + # check for lilypond deps (in songs data) if necessary + lilypond = [] + if "booktype" in sb.keys() and "lilypond" in sb["booktype"]: + for filename in deps: + tmpl = open(filename) + for l in tmpl: + match = lilypondPattern.match(l) + if match: + lilypond.append(match.group(1)) + tmpl.close() + # check for index (in template file) if "template" in sb: filename = "templates/"+sb["template"] @@ -91,7 +103,7 @@ def makeDepend(sb, output): # 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)))) + 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() From 67ffa41856b574f55c24d09b3c8a07b90211d948 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Thu, 17 Jun 2010 23:11:44 +0200 Subject: [PATCH 19/24] New template parameters mechanism. Improved document generation in songbook.py. Clean up some code to be more pythonic. New format for template parameters. Default template parameter type is now string. --- songbook.py | 141 +++++++++++++++++++++++----------------- songbook.sb | 2 +- templates/songbook.tmpl | 72 +++++++++----------- test.sb | 14 ++-- 4 files changed, 121 insertions(+), 108 deletions(-) diff --git a/songbook.py b/songbook.py index 5fe664a8..97a45095 100755 --- a/songbook.py +++ b/songbook.py @@ -8,96 +8,117 @@ import glob import re import json -def makeTexFile(songbook, output): +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)) + return data["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) + +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 - dir = ['img'] template = "songbook.tmpl" songs = [] - booktype = ["chorded"] # parse the songbook data - if "template" in songbook: - template = songbook["template"] - if "songs" in songbook: - songs = songbook["songs"] - if "booktype" in songbook: - booktype = songbook["booktype"] + 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') - - # output \template - out.write('\\newcommand{\\template}{\n') - for key in ["title", "author", "subtitle", "version", "mail", "picture", "picturecopyright", "footer", "licence"]: - if key in songbook: - out.write(' \\'+key+'{{{data}}}\n'.format(data=songbook[key])) - out.write('}\n') - # output \booktype - out.write('\\newcommand{{\\booktype}}{{{data}}}'.format(data=','.join(booktype))) - # output \songlist - if not type(songs) is list: - if songs == "all": - l = glob.glob('songs/*/*.sg') - l.sort() - songs = map(lambda x: x[6:], l) + 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('\\newcommand{\\songslist}{\n') - dir += map(os.path.dirname, map(lambda x:"songs/"+x, songs)) - dir = set(dir) - out.write(' \\graphicspath{\n') - for dirname in dir: - out.write(' {{{imagedir}/}},\n'.format(imagedir=dirname)) - out.write(' }\n') - for song in songs: - out.write(' \\input{{songs/{songfile}}}\n'.format(songfile=song.strip())) - out.write('}\n') - tmpl = open("templates/"+template) - out.write(tmpl.read().replace("SONGBOOKNAME", name+"_index")) - tmpl.close() - out.close() + 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] - # pattern that get dependencies 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 = [] - if type(sb["songs"]) is list: - deps += map(lambda x: "songs/"+x, sb["songs"]) - for k in sb.keys(): - if not type(sb[k]) is list: - match = dependsPattern.match(sb[k]) - if match: - deps += [match.group(1)] + 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 "booktype" in sb.keys() and "lilypond" in sb["booktype"]: + if "booktype" in sb and "lilypond" in sb["booktype"]: for filename in deps: tmpl = open(filename) - for l in tmpl: - match = lilypondPattern.match(l) - if match: - lilypond.append(match.group(1)) + lilypond += matchRegexp(lilypondPattern, tmpl) tmpl.close() # check for index (in template file) if "template" in sb: - filename = "templates/"+sb["template"] + filename = sb["template"] else: - filename = "templates/songbook.tmpl" - idx = [] - tmpl = open(filename) - for l in tmpl: - match = indexPattern.match(l) - if match: - idx.append(match.group(1).replace("SONGBOOKNAME", name+"_index")) + filename = "songbook.tmpl" + tmpl = open("templates/"+filename) + idx = map(lambda x: x.replace("\getname", name), matchRegexp(indexPattern, tmpl)) tmpl.close() # write .d file diff --git a/songbook.sb b/songbook.sb index 26e40491..c520a714 100644 --- a/songbook.sb +++ b/songbook.sb @@ -7,6 +7,6 @@ "picture" : "feel-the-music", "picturecopyright" : "foxygamergirl @ deviantart.com", "footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", -"licence" : "\\input{license.tex}", +"license" : "\\input{license.tex}", "songs" : "all" } diff --git a/templates/songbook.tmpl b/templates/songbook.tmpl index 7b657e54..a19300db 100644 --- a/templates/songbook.tmpl +++ b/templates/songbook.tmpl @@ -21,53 +21,40 @@ % % Modified to serve personnal purposes. Newer versions can be % obtained from http://www.lohrun.net. - -% Template optionnal parameters (to be read by songbook-client) -% template mandatory parameter are currently booktype, template and songs -% the first two have default values but not last one -%%:{"parameters" : [ -%%: {"name":"title", "description":"Title", "type":"string"}, -%%: {"name":"author", "description":"Author", "type":"string", "default":"Alexandre"}, -%%: {"name":"version", "description":"Version", "type":"string", "default":"1"}, -%%: {"name":"subtitle", "description":"Subtitle", "type":"string"}, -%%: {"name":"mail", "description":"Email", "type":"string"}, -%%: {"name":"picture", "description":"Picture", "type":"string"}, -%%: {"name":"picturecopyright", "description":"Copyright", "type":"string"}, -%%: {"name":"footer", "description":"Footer", "type":"string"}, -%%: {"name":"license", "description":"License", "type":"string"} -%%: ] +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Template parameters +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%:{"parameters" : { +%%: "title" : {"description":"Title", "default":"Recueil de chansons pour guitare"}, +%%: "author" : {"description":"Author", "default":"Romain Goffe \\and Alexandre Dupas"}, +%%: "version" : {"description":"Version", "default":"3.1"}, +%%: "subtitle" : {"description":"Subtitle"}, +%%: "mail" : {"description":"Email", "default":"crep@team-on-fire.com"}, +%%: "picture" : {"description":"Picture", "default":"feel-the-music"}, +%%: "picturecopyright" : {"description":"Copyright", "default":"foxygamergirl@deviantart.com"}, +%%: "footer" : {"description":"Footer", "default":"\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}"}, +%%: "license" : {"description":"License", "default":"\\input{license.tex}"}, +%%: "booktype" : {"description":"Booktype", "type":"stringlist", "default":["chorded"], "join":","} +%%: } %%:} - -% template variables -\providecommand{\template}{} -\providecommand{\songslist}{} -\providecommand{\booktype}{chorded} -% default template -\newcommand{\defaulttemplate}{ - \title{Recueil de chansons pour guitare} - \author{Romain Goffe \and Alexandre Dupas} - \subtitle{} - \version{3.1} - \mail{crep@team-on-fire.com} - \picture{feel-the-music} - \picturecopyright{©foxygamergirl @ deviantart.com} - \footer{ - \begin{flushleft} - \includegraphics[width=3cm]{on-fire} - \end{flushleft} - } - \licence{\input{license.tex}} -} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % begin document -\documentclass[\booktype]{crepbook} +\documentclass[\getbooktype]{crepbook} \usepackage[utf8]{inputenc} \usepackage[english,french]{babel} -\defaulttemplate -\template +\title{\gettitle} +\author{\getauthor} +\subtitle{\getsubtitle} +\version{\getversion} +\mail{\getmail} +\picture{\getpicture} +\picturecopyright{\getpicturecopyright} +\footer{\getfooter} +\licence{\getlicense} -\newindex{titleidx}{SONGBOOKNAME_title} -\newauthorindex{authidx}{SONGBOOKNAME_auth} +\newindex{titleidx}{\getname_title} +\newauthorindex{authidx}{\getname_auth} \graphicspath{ {img/}, @@ -82,8 +69,9 @@ \songsection{Chansons} \begin{songs}{titleidx,authidx} - \songslist + \getsongslist \end{songs} \end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % end document diff --git a/test.sb b/test.sb index 4c666bb2..af1ac8f8 100644 --- a/test.sb +++ b/test.sb @@ -1,9 +1,13 @@ { "template" : "songbook.tmpl", -"booktype" : ["lyric"], -"title" : "Ceci est un test du template", +"author" : "Alex", +"version" : "1", +"booktype" : [ + "chorded", + "lilypond" + ], "songs" : [ - "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", - "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg" - ] + "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", + "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg" + ] } From f17bc5e9a42949df27ceec5a21a74713169a3b51 Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Thu, 17 Jun 2010 23:52:27 +0200 Subject: [PATCH 20/24] Simplified json storage format for template parameters. --- songbook.py | 5 ++++- templates/songbook.tmpl | 25 ++++++++++++------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/songbook.py b/songbook.py index 97a45095..e8de4b16 100755 --- a/songbook.py +++ b/songbook.py @@ -22,7 +22,10 @@ def parseTemplate(template): code = [ line[3:-1] for line in f if embeddedJsonPattern.match(line) ] f.close() data = json.loads(''.join(code)) - return data["parameters"] + parameters = dict() + for param in data: + parameters[param["name"]] = param + return parameters def toValue(parameter, data): if "type" not in parameter: diff --git a/templates/songbook.tmpl b/templates/songbook.tmpl index a19300db..90a6c564 100644 --- a/templates/songbook.tmpl +++ b/templates/songbook.tmpl @@ -24,19 +24,18 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Template parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%:{"parameters" : { -%%: "title" : {"description":"Title", "default":"Recueil de chansons pour guitare"}, -%%: "author" : {"description":"Author", "default":"Romain Goffe \\and Alexandre Dupas"}, -%%: "version" : {"description":"Version", "default":"3.1"}, -%%: "subtitle" : {"description":"Subtitle"}, -%%: "mail" : {"description":"Email", "default":"crep@team-on-fire.com"}, -%%: "picture" : {"description":"Picture", "default":"feel-the-music"}, -%%: "picturecopyright" : {"description":"Copyright", "default":"foxygamergirl@deviantart.com"}, -%%: "footer" : {"description":"Footer", "default":"\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}"}, -%%: "license" : {"description":"License", "default":"\\input{license.tex}"}, -%%: "booktype" : {"description":"Booktype", "type":"stringlist", "default":["chorded"], "join":","} -%%: } -%%:} +%%:[ +%%: {"name":"title", "description":"Title", "default":"Recueil de chansons pour guitare"}, +%%: {"name":"author", "description":"Author", "default":"Romain Goffe \\and Alexandre Dupas"}, +%%: {"name":"version", "description":"Version", "default":"3.1"}, +%%: {"name":"subtitle", "description":"Subtitle"}, +%%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"}, +%%: {"name":"picture", "description":"Picture", "default":"feel-the-music"}, +%%: {"name":"picturecopyright", "description":"Copyright", "default":"foxygamergirl@deviantart.com"}, +%%: {"name":"footer", "description":"Footer", "default":"\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}"}, +%%: {"name":"license", "description":"License", "default":"\\input{license.tex}"}, +%%: {"name":"booktype", "description":"Booktype", "type":"stringlist", "default":["chorded"], "join":","} +%%:] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % begin document \documentclass[\getbooktype]{crepbook} From d8b3b196af5b2d27396c5bf1e57f0065a57c5c2e Mon Sep 17 00:00:00 2001 From: Alexandre Dupas Date: Mon, 28 Jun 2010 23:06:37 +0200 Subject: [PATCH 21/24] Add song: Les Wriggles - Plouf --- songs/Les_Wriggles/Plouf.sg | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 songs/Les_Wriggles/Plouf.sg diff --git a/songs/Les_Wriggles/Plouf.sg b/songs/Les_Wriggles/Plouf.sg new file mode 100644 index 00000000..a701e85d --- /dev/null +++ b/songs/Les_Wriggles/Plouf.sg @@ -0,0 +1,64 @@ +\songcolumns{1} +\beginsong{Plouf}[by=Les Wriggles,cov=partent-en-live] + +\cover +\gtab{Ré7M}{5:X02120} +\gtab{Do#7}{4:X02020} +\gtab{Si7}{6:101X1X} +\gtab{Do#m/La}{4:1X2210} +\gtab{Do#m}{4:X02210} +\gtab{Fa#m}{2:022000} +\gtab{Fa#m*}{9:X02210} +\gtab{Mi}{022100} +\gtab{Mi7}{022130} +\gtab{Mi6}{022120} + +\beginverse +Le \[Ré7M]{petit Jordy} a \[Do#7]{très bien} compris +Qu'\[Si7]{à la piscine} pour draguer les copines, faut faire\dots +\endverse + +\beginchorus +\[Do#m/La]Plouf! \[Do#m]Plouf! +La vie, parfois fait \[Fa#m]plouf. \[Fa#m*] \[Mi]\[Mi7]\[Mi6]\[Mi] +\endchorus + +\beginverse +Le petit Grégory apprenait la vie +Au bord de la rivière avec son père, et puis\dots +\endverse + +\beginverse +Jimmy regardait les nuages, assis au bord de la page : +- Qu'est c'que c'est ça, papa? +- Un avion d'la TWA. +- Qu'est c'que c'est ça dans l'air? +- C'est un avion de la Swissair! Et puis\dots +\endverse + +\beginverse +Eric le grand skipper, sur son bateau à voile, +Contemplait les étoiles au large du Pays de Galles, et puis\dots +\endverse + +\beginverse +Léon jouait du violon : "Ouais! c'est chouette le violon." +Mais c'est pas pratique de jouer sur le Titanic, parce que\dots +\endverse + +\beginverse +Fernando le photographe finissait son paragraphe : +"Par Besos mi amor à bord du Rainbow Warrior", et puis\dots +\endverse + +\beginverse +Dans la vie jette toi à l'eau +Tant qu'il n'y a personne pour te pousser dans le dos, parce que\dots +\endverse + +\beginchorus +Plouf! Plouf! +La mort aussi fait\dots +\endchorus + +\endsong From 9b0e03d213b694fc51c2dde4349c25670b68c739 Mon Sep 17 00:00:00 2001 From: crep Date: Tue, 6 Jul 2010 21:56:57 +0200 Subject: [PATCH 22/24] Remove Brassens songs from Naheulbeuk songbook :D --- naheulbeuk.sb | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/naheulbeuk.sb b/naheulbeuk.sb index f3646c83..1abfdb69 100644 --- a/naheulbeuk.sb +++ b/naheulbeuk.sb @@ -1,6 +1,7 @@ { "template" : "songbook.tmpl", "author" : "Crep (R.Goffe) \\and Lohrun (A.Dupas)", +"footer" : "\\begin{flushleft}\\includegraphics[width=3cm]{on-fire}\\end{flushleft}", "license" : "\\input{license.tex}", "mail" : "crep@team-on-fire.com", "picture" : "naheulbeuk01", @@ -9,28 +10,30 @@ "title" : "Le Donjon de Naheulbeuk", "version" : "0.4", "booktype" : [ - "chorded" + "chorded", + "lilypond", + "tabs" ], "songs" : [ - "Belyscendre/Prends_garde_au_loup.sg", "Belyscendre/Mon_pere_veut_me_marier.sg", - "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", - "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", - "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", - "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", - "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg", - "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", + "Belyscendre/Prends_garde_au_loup.sg", "Le_Donjon_de_Naheulbeuk/Bugger_off.sg", - "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", - "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", - "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", + "Le_Donjon_de_Naheulbeuk/Les_chaussettes_du_nain.sg", "Le_Donjon_de_Naheulbeuk/La_polka_du_menestrel.sg", - "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", - "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg", - "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", + "Le_Donjon_de_Naheulbeuk/A_l_aventure_compagnons.sg", + "Le_Donjon_de_Naheulbeuk/Noel_en_Mordor.sg", + "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg", "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", + "Le_Donjon_de_Naheulbeuk/La_vie_d_aventurier.sg", "Le_Donjon_de_Naheulbeuk/Un_boulet_dans_le_groupe.sg", - "Le_Donjon_de_Naheulbeuk/10_sous_dans_ma_poche.sg" + "Le_Donjon_de_Naheulbeuk/Troll_farceur_et_elfe_farci.sg", + "Le_Donjon_de_Naheulbeuk/La_compagnie_du_chien_rugissant.sg", + "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", + "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", + "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", + "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", + "Le_Donjon_de_Naheulbeuk/Meme_pas_mage.sg", + "Le_Donjon_de_Naheulbeuk/La_complainte_de_la_serveuse.sg" ] } From b99fa5a297e1146601f02330660261d252002f2a Mon Sep 17 00:00:00 2001 From: crep Date: Tue, 6 Jul 2010 21:57:53 +0200 Subject: [PATCH 23/24] Minor correction --- songs/Debout_Sur_Le_Zinc/La_declaration.sg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/songs/Debout_Sur_Le_Zinc/La_declaration.sg b/songs/Debout_Sur_Le_Zinc/La_declaration.sg index e1ef42ae..609611b0 100644 --- a/songs/Debout_Sur_Le_Zinc/La_declaration.sg +++ b/songs/Debout_Sur_Le_Zinc/La_declaration.sg @@ -61,7 +61,7 @@ \beginverse C'est un peu une déclaration - Même si je sais que tu m'aimes pas + Même si je sais que tu n'es pas Le remède, ni la solution, Tu n'es qu'une attèle à mon bras \endverse From b682b0fbc529e73599fb2f2a7c23339e40d03ec5 Mon Sep 17 00:00:00 2001 From: crep Date: Tue, 6 Jul 2010 21:58:18 +0200 Subject: [PATCH 24/24] remove test.sb --- test.sb | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 test.sb diff --git a/test.sb b/test.sb deleted file mode 100644 index af1ac8f8..00000000 --- a/test.sb +++ /dev/null @@ -1,13 +0,0 @@ -{ -"template" : "songbook.tmpl", -"author" : "Alex", -"version" : "1", -"booktype" : [ - "chorded", - "lilypond" - ], -"songs" : [ - "Le_Donjon_de_Naheulbeuk/La_biere_du_donjon.sg", - "Le_Donjon_de_Naheulbeuk/Geste_heroique.sg" - ] -}