Browse Source

Merge branch 'master' of git://lohrun.net/songbook

remotes/origin/split-songs
olivier desrobert 13 years ago
parent
commit
a3014d72f7
  1. 1
      .gitignore
  2. 18
      NEWS
  3. 3
      books/naheulbeuk.sb
  4. 10
      books/volume-5.sb
  5. 5
      makefile
  6. 2
      templates/ancient.tmpl
  7. 2
      templates/patacrep-en.tmpl
  8. 2
      templates/patacrep.tmpl
  9. 26
      utils/resize-cover.py

1
.gitignore

@ -14,6 +14,7 @@ utils/send.sh
*.out *.out
*.d *.d
*.pdf *.pdf
*.tar.gz
default.sb default.sb
default.tex default.tex
french.sb french.sb

18
NEWS

@ -1,7 +1,23 @@
version 3.5.7
Hanarka:
Alain Souchon - La ballade de Jim
Francis Cabrel - Octobre
Maxime Le Forestier - Passer ma route
Alain Souchon - Sous les jupes des filles
Phil Barney - Un enfant de toi
Roch Voisine - Hélène
Téléphone - Le jour s'est levé
Romain Goffe:
Gerry Rafferty - To each and everyone
Le Donjon de Naheulbeuk - Maître du donjon
broph:
Jean-Jacques Goldman - On ira
version 3.5.6 version 3.5.6
Dimitri Delporte: Hanarka:
Belyscendre - Hélas madame Belyscendre - Hélas madame
Francis Cabrel - La corrida Francis Cabrel - La corrida
Romain Goffe: Romain Goffe:

3
books/naheulbeuk.sb

@ -13,7 +13,7 @@
"picturecopyright" : "Personnages par \\emph{Pen Of Chaos} / Illustrations par \\emph{Marion Poinsot}", "picturecopyright" : "Personnages par \\emph{Pen Of Chaos} / Illustrations par \\emph{Marion Poinsot}",
"subtitle" : "Recueil de chansons non-officiel", "subtitle" : "Recueil de chansons non-officiel",
"title" : "Le Donjon de Naheulbeuk", "title" : "Le Donjon de Naheulbeuk",
"version" : "0.4.1", "version" : "0.5",
"songs" : [ "songs" : [
"Belyscendre/Helas_madame.sg", "Belyscendre/Helas_madame.sg",
"Belyscendre/Mon_pere_veut_me_marier.sg", "Belyscendre/Mon_pere_veut_me_marier.sg",
@ -31,6 +31,7 @@
"Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg", "Le_Donjon_de_Naheulbeuk/Les_elfes_de_GreenElven.sg",
"Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg", "Le_Donjon_de_Naheulbeuk/Les_souliers_de_Lady_Fae.sg",
"Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg", "Le_Donjon_de_Naheulbeuk/Les_epees_Durandil.sg",
"Le_Donjon_de_Naheulbeuk/Maitre_du_donjon.sg",
"Le_Donjon_de_Naheulbeuk/Marche_barbare.sg", "Le_Donjon_de_Naheulbeuk/Marche_barbare.sg",
"Le_Donjon_de_Naheulbeuk/Massacrons_nous_dans_la_taverne.sg", "Le_Donjon_de_Naheulbeuk/Massacrons_nous_dans_la_taverne.sg",
"Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg", "Le_Donjon_de_Naheulbeuk/Mon_ancetre_Gurdil.sg",

10
books/volume-5.sb

@ -11,6 +11,8 @@
"picturecopyright" : "hit-squad @ deviantart.com", "picturecopyright" : "hit-squad @ deviantart.com",
"subtitle" : "Tome 5", "subtitle" : "Tome 5",
"songs" : [ "songs" : [
"Alain_Souchon/La_ballade_de_Jim.sg",
"Alain_Souchon/Sous_les_jupes_des_filles.sg",
"Anis/Dans_tes_yeux.sg", "Anis/Dans_tes_yeux.sg",
"Belyscendre/Helas_madame.sg", "Belyscendre/Helas_madame.sg",
"Calvin_Russell/Down_down_down.sg", "Calvin_Russell/Down_down_down.sg",
@ -21,15 +23,23 @@
"Debout_Sur_Le_Zinc/Scylla.sg", "Debout_Sur_Le_Zinc/Scylla.sg",
"Debout_Sur_Le_Zinc/Sur_le_fil.sg", "Debout_Sur_Le_Zinc/Sur_le_fil.sg",
"Francis_Cabrel/La_corrida.sg", "Francis_Cabrel/La_corrida.sg",
"Francis_Cabrel/Octobre.sg",
"Gary_Jules/Mad_world.sg", "Gary_Jules/Mad_world.sg",
"Gerry_Rafferty/To_each_and_everyone.sg",
"Jacques_Dutronc/La_fille_du_Pere_Noel.sg", "Jacques_Dutronc/La_fille_du_Pere_Noel.sg",
"Jali/Espanola.sg", "Jali/Espanola.sg",
"Jean-Jacques_Goldman/On_ira.sg",
"La_Rue_Ketanou/Sao_loucas.sg", "La_Rue_Ketanou/Sao_loucas.sg",
"Le_clandestin/Rue_Grenelle.sg", "Le_clandestin/Rue_Grenelle.sg",
"Le_Donjon_de_Naheulbeuk/Maitre_du_donjon.sg",
"Les_Booze_Brothers/Fields_of_Athenry.sg", "Les_Booze_Brothers/Fields_of_Athenry.sg",
"Les_Cowboys_Fringants/8_secondes.sg", "Les_Cowboys_Fringants/8_secondes.sg",
"Les_Cowboys_Fringants/Ces_temps_ci.sg", "Les_Cowboys_Fringants/Ces_temps_ci.sg",
"Les_Fatals_Picards/Au_mariage_de_Kevin_et_de_ma_soeur.sg", "Les_Fatals_Picards/Au_mariage_de_Kevin_et_de_ma_soeur.sg",
"Maxime_Le_Forestier/Passer_ma_route.sg",
"Phil_Barney/Un_enfant_de_toi.sg",
"Roch_Voisine/Helene.sg",
"Telephone/Le_jour_s_est_leve.sg",
"The_Bloody_Irish_Boys/Drunk_tonight.sg", "The_Bloody_Irish_Boys/Drunk_tonight.sg",
"The_Dubliners/The_wild_rover.sg", "The_Dubliners/The_wild_rover.sg",
"Thomas_Fersen/Bambi.sg", "Thomas_Fersen/Bambi.sg",

5
makefile

@ -92,15 +92,16 @@ $(CHORDS): $(CHORDS_SRC)
$(MAKE_CHORDS) -o $@ $(MAKE_CHORDS) -o $@
archive: clean archive: clean
tar -czvf songbook-$(DATE).tar.gz \ tar -czvf songbook.tar.gz \
--exclude=*pdf \ --exclude=*pdf \
--exclude=.git --exclude=.gitignore \ --exclude-vcs \
--exclude=$(BOOKS_DIR)/default.sb \ --exclude=$(BOOKS_DIR)/default.sb \
--exclude=perso/* --exclude=perso \ --exclude=perso/* --exclude=perso \
--exclude=build/* --exclude=build \ --exclude=build/* --exclude=build \
--exclude=covers/* --exclude=covers \ --exclude=covers/* --exclude=covers \
--exclude=data/* --exclude=data \ --exclude=data/* --exclude=data \
--exclude=*tar.gz \ --exclude=*tar.gz \
--transform 's/songbook/songbook-$(DATE)/1' \
../songbook ../songbook
ifeq (.pdf,$(suffix $(MAKECMDGOALS))) ifeq (.pdf,$(suffix $(MAKECMDGOALS)))

2
templates/ancient.tmpl

@ -31,7 +31,7 @@
%%: {"name":"lang", "description":"Language", "default":"english"}, %%: {"name":"lang", "description":"Language", "default":"english"},
%%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]}, %%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]},
%%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]}, %%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]},
%%: {"name":"version", "description":"Version", "default":"3.5.6"}, %%: {"name":"version", "description":"Version", "default":"3.5.7"},
%%: {"name":"subtitle", "description":"Subtitle"}, %%: {"name":"subtitle", "description":"Subtitle"},
%%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"}, %%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"},
%%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"}, %%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"},

2
templates/patacrep-en.tmpl

@ -31,7 +31,7 @@
%%: {"name":"lang", "description":"Language", "default":"english"}, %%: {"name":"lang", "description":"Language", "default":"english"},
%%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]}, %%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]},
%%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]}, %%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]},
%%: {"name":"version", "description":"Version", "default":"3.5.6"}, %%: {"name":"version", "description":"Version", "default":"3.5.7"},
%%: {"name":"subtitle", "description":"Subtitle"}, %%: {"name":"subtitle", "description":"Subtitle"},
%%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"}, %%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"},
%%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"}, %%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"},

2
templates/patacrep.tmpl

@ -31,7 +31,7 @@
%%: {"name":"lang", "description":"Language", "default":"french"}, %%: {"name":"lang", "description":"Language", "default":"french"},
%%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]}, %%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]},
%%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]}, %%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]},
%%: {"name":"version", "description":"Version", "default":"3.5.6"}, %%: {"name":"version", "description":"Version", "default":"3.5.7"},
%%: {"name":"subtitle", "description":"Subtitle"}, %%: {"name":"subtitle", "description":"Subtitle"},
%%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"}, %%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"},
%%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"}, %%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"},

26
utils/resize-cover.py

@ -8,14 +8,30 @@
import Image import Image
import glob import glob
width = 128
height = 128
# Process song files # Process song files
covers = glob.glob('songs/*/*.jpg') covers = glob.glob('songs/*/*.jpg')
for filename in covers: for filename in covers:
source = Image.open(filename) source = Image.open(filename)
if source.size > (128, 128):
print "resizing : " + filename src_width = source.size[0]
src_height = source.size[1]
ratio = float(src_height) / float(src_width)
width = 128
height = 128
error = 0.2 #0: always preserve ratio; 1: always square images
#tolerate almost square images
if ratio < 1 - error or ratio > 1 + error:
#print "preserve ratio = ", ratio
#preserve important ratio
if src_width < src_height:
height = int(width * ratio)
elif src_height < src_width:
width = int(height * ratio)
if src_width > width and src_height > height:
print "resize: ", filename, " from ", source.size, " to ", (width, height)
target = source.resize((width, height), Image.ANTIALIAS) target = source.resize((width, height), Image.ANTIALIAS)
target.save(filename) target.save(filename)

Loading…
Cancel
Save