Louis
11 years ago
14 changed files with 1738 additions and 0 deletions
@ -0,0 +1,943 @@ |
|||||
|
version 3.7.2 |
||||
|
|
||||
|
Louis: |
||||
|
Narz: |
||||
|
Hubert-F矇lix Thi矇faine - Sweet amanit phalloide queen |
||||
|
Georges Brassens - Les trompettes de la renomm矇e |
||||
|
Romain Goffe: |
||||
|
m@rco: |
||||
|
Hubert-F矇lix Thi矇faine - Alligators 427 |
||||
|
Thomas Fersen - Borborygmes |
||||
|
Thomas Fersen - Cosmos |
||||
|
spalax: |
||||
|
|
||||
|
version 3.7.1 |
||||
|
|
||||
|
JBB: |
||||
|
Buddy Holly - Everyday |
||||
|
Cranberries - Dreaming my dreams |
||||
|
Cranberries - Linger |
||||
|
Cranberries - No need to argue |
||||
|
Cranberries - Ode to my family |
||||
|
Daniel Powter - Bad day |
||||
|
Eddy Mitchell - La derni癡re s矇ance |
||||
|
Gr矇goire - Toi + moi |
||||
|
Hoobastank - The reason |
||||
|
Joe Dassin - � toi |
||||
|
Kenny Rogers - The greatest |
||||
|
Monty Python - Always look on the bright side of life |
||||
|
Renaud - La m矇daille |
||||
|
Roch Voisine - La l矇gende oochigeas |
||||
|
Suzanne Vega - Luka |
||||
|
Terry Bush - Maybe tomorrow |
||||
|
Romain Goffe: |
||||
|
Traditionnel - Sur le pont d'Avignon |
||||
|
Traditionnel - Il pleut berg癡re |
||||
|
|
||||
|
version 3.7.0 |
||||
|
|
||||
|
Alexandre Dupas: |
||||
|
Dominique Goffe: |
||||
|
Pipiou: |
||||
|
Charles Aznavour - Comme ils disent |
||||
|
Gilbert B矇caud - Et maintenant |
||||
|
Michel Polnareff - Goodbye Maryloo |
||||
|
Michel Polnareff - L'amour avec toi |
||||
|
Michel Polnareff - Lettre � France |
||||
|
Michel Polnareff - Love me, please love me |
||||
|
Romain Goffe: |
||||
|
broph: |
||||
|
Soan - En chemin |
||||
|
Axel Bauer - �teins la lumi癡re |
||||
|
Soan - The storm |
||||
|
�tienne Daho - Comme un boomerang |
||||
|
m@rco: |
||||
|
Hubert-F矇lix Thi矇faine - 542 lunes et 7 jours environ |
||||
|
Hubert-F矇lix Thi矇faine - Ad orgasmum aeternum |
||||
|
Hubert-F矇lix Thi矇faine - Autorisation de d矇lirer |
||||
|
Hubert-F矇lix Thi矇faine - La d癡che, le twist et le reste |
||||
|
Hubert-F矇lix Thi矇faine - La fille du coupeur de joints |
||||
|
Hubert-F矇lix Thi矇faine - La fin du Saint Empire Romain-germanique |
||||
|
Hubert-F矇lix Thi矇faine - La m繫me kal矇idoscope |
||||
|
Hubert-F矇lix Thi矇faine - Le chant du fou |
||||
|
Hubert-F矇lix Thi矇faine - Lorelei Sebasto Cha |
||||
|
Hubert-F矇lix Thi矇faine - Maison Borniol |
||||
|
Mano Solo - Je suis venu vous voir |
||||
|
Mano Solo - Pas du g璽teau |
||||
|
|
||||
|
version 3.6.7 |
||||
|
|
||||
|
Mickael Chazaux: |
||||
|
Jean-Jacques Goldman - Et l'on y peut rien |
||||
|
Olive: |
||||
|
Manu Chao - El viente |
||||
|
Pipiou: |
||||
|
Georges Brassens - L'orage |
||||
|
Romain Goffe: |
||||
|
Michael Jackson - We are the world |
||||
|
Crep - Ptit pingouin |
||||
|
Adele - Rolling in the deep |
||||
|
broph: |
||||
|
Pink Floyd - Comfortably numb |
||||
|
The Rolling Stones - Mother's little helper |
||||
|
Pink Floyd - Hey you |
||||
|
|
||||
|
version 3.6.6 |
||||
|
|
||||
|
Charles Fl癡che: |
||||
|
Noir D矇sir - Un jour en France |
||||
|
Creedence Clearwater Revival - Bad moon rising |
||||
|
Olive: |
||||
|
Manu chao - Bongo bong |
||||
|
Manu Chao - Je ne t'aime plus |
||||
|
Renaud - Morgane de toi |
||||
|
Les Ogres de Barback - Le voyageur |
||||
|
La Rue K矇tanou - O羅 je vais |
||||
|
Romain Goffe: |
||||
|
John Denver - The last hobo |
||||
|
La chanson du dimanche - Super pouvoir d'achat |
||||
|
Georges Brassens - Quatre-vingt-quinze pour cent |
||||
|
|
||||
|
version 3.6.5 |
||||
|
|
||||
|
JBB: |
||||
|
3 doors down - Here without you |
||||
|
Arlo Guthrie - Hobos lullaby |
||||
|
Ralph McTell - Streets of London |
||||
|
Raphael - Caravane |
||||
|
Romain Goffe: |
||||
|
Booze Brothers - I'm sorry |
||||
|
Charlie Winston - Like a hobo |
||||
|
Tom Petty - American girl |
||||
|
karagrat: |
||||
|
Les Innocents - Un homme extraordinaire |
||||
|
Balbino Medellin - Super h矇ros |
||||
|
|
||||
|
version 3.6.4 |
||||
|
|
||||
|
Romain Goffe: |
||||
|
Green Day - Misery |
||||
|
Jacques Brel - Au suivant |
||||
|
Debout sur le zinc - Se dire adieu |
||||
|
Graeme Allwright - La ligne Holworth |
||||
|
La maison Tellier - Babouin |
||||
|
Antoine - Les 矇lucubrations |
||||
|
Iggy Pop - In the death car |
||||
|
Vincent Malone - Bad Bili |
||||
|
Soul Asylum - Runaway train |
||||
|
Traditionnel - Greensleeves |
||||
|
Billy Ray Cyrus - Achy breaky heart |
||||
|
Bob Seger - Against the wind |
||||
|
Johnny Hallyday - Gabrielle |
||||
|
Yves Simon - Diabolo menthe |
||||
|
broph: |
||||
|
The Rolling Stones - Gimme shelter |
||||
|
Parabellum - La belle |
||||
|
Parabellum - Osmose 99 |
||||
|
|
||||
|
version 3.6.3 |
||||
|
|
||||
|
Alexandre Dupas: |
||||
|
Romain Goffe: |
||||
|
Karpatt - La chose qui dort dans mon lit |
||||
|
Bob Dylan - I want you |
||||
|
Pink Floyd - Another brick in the wall |
||||
|
broph: |
||||
|
Parabellum - Le dernier trocson |
||||
|
Noir D矇sir - Lola |
||||
|
Noir D矇sir - The holy economic war |
||||
|
Pink Floyd - Mother |
||||
|
REM - Losing my religion |
||||
|
|
||||
|
version 3.6.2 |
||||
|
|
||||
|
Alexandre Dupas: |
||||
|
Gotye - Somebody that I used to know |
||||
|
Romain Goffe: |
||||
|
Debout sur le zinc - Aller simple |
||||
|
Debout sur le zinc - Je cherche encore |
||||
|
HK & Les Saltimbanks - Indignez-vous |
||||
|
HK & Les Saltimbanks - Niquons la plan癡te |
||||
|
Yves Jamait - Etc |
||||
|
Yves Jamait - Jean-Louis |
||||
|
The Beach Boys - Surfin' USA |
||||
|
olivier desrobert: |
||||
|
The Kingston Trio - Greenback dollar |
||||
|
|
||||
|
version 3.6.1 |
||||
|
|
||||
|
Romain Goffe: |
||||
|
Le Donjon de Naheulbeuk - Chicken quest |
||||
|
Le Donjon de Naheulbeuk - Crom |
||||
|
Le Donjon de Naheulbeuk - H矇, la petite dame |
||||
|
Le Donjon de Naheulbeuk - La hache Durandil |
||||
|
Le Donjon de Naheulbeuk - Le petit gobelin |
||||
|
Le Donjon de Naheulbeuk - Tralala du nain |
||||
|
Les Amis d'ta femme - Le tango du viagra |
||||
|
olivier desrobert: |
||||
|
Thomas Fersen - Au caf� de la paix |
||||
|
Thomas Fersen - Saint-Jean-du-Doigt |
||||
|
Renan Luce - Le Lacrymal Circus |
||||
|
Les Wriggles - Petit bonhomme |
||||
|
|
||||
|
version 3.6.0 |
||||
|
|
||||
|
Romain Goffe: |
||||
|
Bloodhound Gang - Fire water burn |
||||
|
Pascale Picard - Smilin' |
||||
|
Coluche - Sois fain矇ant |
||||
|
yoyoma: |
||||
|
Razorlight - America |
||||
|
U2 - One |
||||
|
America - A Horse With No Name |
||||
|
|
||||
|
version 3.5.9 |
||||
|
|
||||
|
broph: |
||||
|
Patrick Coutin - J'aime regarder les filles |
||||
|
Noir D矇sir - O羅 veux-tu que je regarde ? |
||||
|
Calvin RUssell - 5m2 |
||||
|
Dire Straits - Brothers in arms |
||||
|
Noir D矇sir - Toujours 礙tre ailleurs |
||||
|
Olivier Desrobert: |
||||
|
As de Trefle - Pauvre planete |
||||
|
As de trefle - La revolution |
||||
|
Les cowboys fringants - Hannah |
||||
|
Les Ogres de Barback - Rue Mazarine |
||||
|
|
||||
|
version 3.5.8 |
||||
|
|
||||
|
Kaosun: |
||||
|
As de Tr癡fle - � l'oreille de ta femme |
||||
|
As de Trefle - Pauvre planete |
||||
|
As de trefle - La revolution |
||||
|
Les cowboys fringants - Hannah |
||||
|
Romain Goffe: |
||||
|
Tourn矇e G矇n矇rale - Avancer mes grolles |
||||
|
|
||||
|
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 |
||||
|
|
||||
|
Hanarka: |
||||
|
Belyscendre - H矇las madame |
||||
|
Francis Cabrel - La corrida |
||||
|
Romain Goffe: |
||||
|
The Bloody Irish Boys - Drunk tonight |
||||
|
Jacques Dutronc - La fille du P癡re No禱l |
||||
|
broph: |
||||
|
Calvin Russel - Down down down |
||||
|
Kaosun: |
||||
|
Debout sur le zinc - J'ai d矇j� donn矇 |
||||
|
Debout sur le zinc - Comme un frisson |
||||
|
Debout sur le Zinc - Sur le fil |
||||
|
Debout sur le zinc - Elle m'ennuie |
||||
|
Debout sur le zinc - Les angles |
||||
|
|
||||
|
version 3.5.5 |
||||
|
|
||||
|
Kaosun: |
||||
|
Thomas Fersen - Bambi |
||||
|
Thomas Fersen - Croque |
||||
|
Thomas Fersen - Ir癡ne |
||||
|
Thomas Fersen - L'histoire d'une heure |
||||
|
Thomas Fersen - Les cravates |
||||
|
Thomas Fersen - Louise |
||||
|
Gary Jules - Mad world |
||||
|
Les Fatals Picards - Au mariage de K矇vin et de ma soeur |
||||
|
Thomas Fersen - Rititi, ratata |
||||
|
Thomas Fersen - Le bouton |
||||
|
Anis - Dans tes yeux |
||||
|
Les Cowboys Fringants - Ces temps-ci |
||||
|
Le clandestin - Rue Grenelle |
||||
|
Jali - Espa簽ola |
||||
|
La rue k矇tanou - Sao Loucas |
||||
|
Les Cowboys Fringants - 8 secondes |
||||
|
Debout sur le Zinc - Scylla |
||||
|
Romain Goffe: |
||||
|
Les Booze Brothers - Fields of Athenry |
||||
|
The Dubliners - The wild rover |
||||
|
|
||||
|
version 3.5.4 |
||||
|
|
||||
|
BeXa: |
||||
|
Jeanne Moreau - Les mots de rien |
||||
|
Israel Kamakawiwo - Over the rainbow |
||||
|
Francis Cabrel - Les vidanges du diable |
||||
|
Crash Test Dummies - mmmm |
||||
|
Compay Segundo - Chan Chan |
||||
|
Bill Withers - Just two of us |
||||
|
Louis Chedid - Tout le monde se presse |
||||
|
Ridan - Ulysse |
||||
|
Rose - La liste |
||||
|
Sixpence None the richer - Kiss me |
||||
|
Kaosun: |
||||
|
La Rue K矇tanou - Bonhomme de chien |
||||
|
Soldat Louis - C'est un pays |
||||
|
Thomas Fersen - Deux pieds |
||||
|
Thomas Fersen - Diane de Poitiers |
||||
|
Thomas Fersen - Dugenou |
||||
|
Thomas Fersen - Le chat bott矇 |
||||
|
Thomas Fersen - Les malheurs du lion |
||||
|
Thomas Fersen - Monsieur |
||||
|
Thomas Fersen - Que l'on est bete |
||||
|
|
||||
|
version 3.5.3 |
||||
|
|
||||
|
BeXa: |
||||
|
Vincent Delerm - La natation synchronis矇e |
||||
|
Kaosun: |
||||
|
Renaud - Ma gonzesse |
||||
|
Renaud - It is not because you are |
||||
|
Renaud - Je suis une bande de jeunes |
||||
|
Renaud - La chanson du loubard |
||||
|
Renaud - Mort les enfants |
||||
|
Thomas Fersen - Chocolat |
||||
|
Thomas Fersen - J'ai pas la gale |
||||
|
Thomas Fersen - La malle |
||||
|
Thomas Fersen - Le balafr矇 |
||||
|
Thomas Fersen - Mon iguanodon |
||||
|
Thomas Fersen - Mon macabre |
||||
|
Thomas Fersen - Je suis au paradis |
||||
|
Thomas Fersen - P矇gase |
||||
|
Thomas Fersen - Zaza |
||||
|
Thomas Fersen - Punaise |
||||
|
Matteo Cypriani: |
||||
|
Fleetwood Mac - Temporary One |
||||
|
Jean Leloup - Sang d'encre |
||||
|
Nirvana - Dumb |
||||
|
Romain Goffe: |
||||
|
Les Cowboys Fringants - Paris-Montr矇al |
||||
|
Les Cowboys Fringants - L'horloge |
||||
|
HK & Les Saltimbanks - On l璽che rien |
||||
|
HK & Les Saltimbanks - Passer ma vie |
||||
|
HK & Les Saltimbanks - Citoyen du monde |
||||
|
Ast矇rix et Cl矇op璽tre - Le pudding � l'arsenic |
||||
|
broph: |
||||
|
Jean-Pierre Mader - Macumba |
||||
|
Noir D矇sir - Les 矇corch矇s |
||||
|
Louis Bertignac - Ces id矇es l�� |
||||
|
Rita Mitsouko - C'est comme 癟a |
||||
|
Calvin Russel - Baby I love you |
||||
|
Calvin Russel - Crossroad |
||||
|
Calvin Russel - One meat ball |
||||
|
Eddy Mitchell - Il ne rentre pas ce soir |
||||
|
Jean-Jacques Goldman - Comme toi |
||||
|
Roger Glover - Love is all |
||||
|
Calvin Russel - Midnite man |
||||
|
|
||||
|
version 3.5.2 |
||||
|
|
||||
|
broph: |
||||
|
Noir D矇sir - Lazy |
||||
|
William Bald矇 - Rayon de soleil |
||||
|
|
||||
|
version 3.5.1 |
||||
|
|
||||
|
broph: |
||||
|
M - La Seine |
||||
|
Noir D矇sir - Charlie |
||||
|
Noir D矇sir - Elle va o羅 elle veut |
||||
|
Noir D矇sir - Joey I |
||||
|
Noir D矇sir - La chaleur |
||||
|
Noir D矇sir - La rage |
||||
|
Noir D矇sir - Le fleuve |
||||
|
Noir D矇sir - Si rien ne bouge |
||||
|
Noir D矇sir - Tu m'donnes le mal |
||||
|
Pigalle - Le chaland |
||||
|
Eddy Mitchell - Pas de boogie woogie |
||||
|
Eddy Mitchell - Tu peux pr矇parer le caf矇 noir |
||||
|
Georges Brassens - � l'ombre des maris |
||||
|
Georges Brassens - Supplique pour 礙tre enterr矇 sur la plage de S癡te |
||||
|
Jimi Hendrix - The wind cries Mary |
||||
|
Johnny Hallyday - Le p矇nitencier |
||||
|
Julien Dor矇 - Kiss me forever |
||||
|
R.E.M. - Everybody hurts |
||||
|
Renaud - La ballade nord-irlandaise |
||||
|
Soan - Pas pour lui |
||||
|
Soan - Putain de ballerine |
||||
|
Stealers Wheel - Stuck in the middle with you |
||||
|
T矇l矇phone - New York avec toi |
||||
|
|
||||
|
version 3.5.0 |
||||
|
|
||||
|
Matteo Cypriani: |
||||
|
Jean Leloup - Promeneur |
||||
|
Maxime Le Forestier - Parachutiste |
||||
|
Yves Simon - Les bateaux du m矇tro |
||||
|
Soldat Louis - Du rhum des femmes |
||||
|
Soldat Louis - Tirer des caisses |
||||
|
Soldat Louis - Savannah |
||||
|
Thi矇faine - Sentiments num矇riques revisit矇s |
||||
|
Leonard Cohen - Winter Lady |
||||
|
Leonard Cohen - A Bunch of Lonesome Heroes |
||||
|
Leonard Cohen - The Old Revolution |
||||
|
Jacques Higelin - Je ne peux plus dire je t'aime |
||||
|
Romain Goffe: |
||||
|
Ben E.King - Stand by me |
||||
|
Coldplay - Paradise |
||||
|
|
||||
|
version 3.4.8 |
||||
|
|
||||
|
Romain Goffe: |
||||
|
G矇rald De Palmas - Sur la route |
||||
|
Tonton David - Chacun sa route |
||||
|
Les Hurlements d'L矇o - La malle en mai |
||||
|
Philippe Chatel & Robert Charlebois - La compagnie des lapins bleus |
||||
|
Oldelaf - Les mains froides |
||||
|
Soggy Bottom Boys - I am a man of constant sorrow |
||||
|
Pierre Perret - Bernard Pivot |
||||
|
|
||||
|
version 3.4.7 |
||||
|
|
||||
|
Pipiou: |
||||
|
Lucienne Delyle - Mon amant de Saint-Jean |
||||
|
Francis Cabrel - L'encre de tes yeux |
||||
|
Daniel Guichard - Mon vieux |
||||
|
Soan - Emily |
||||
|
Romain Goffe: |
||||
|
Marie Cherrier - Les baleines |
||||
|
Marie Cherrier - Manouche |
||||
|
|
||||
|
songbook (v0.8) |
||||
|
(various authors) Add songs |
||||
|
Alexandre Dupas: |
||||
|
Sheepbox - Not scared to die |
||||
|
Avenue Q - The internet is for porn |
||||
|
Johk - La reine de France |
||||
|
La Maison Tellier - La chambre rose |
||||
|
Lylloo - Ma soir矇e MSN |
||||
|
The Rolling Stones - You can't always get what you want |
||||
|
Outkast - Hey Ya |
||||
|
BeXa: |
||||
|
Alanis Morissette - Ironic |
||||
|
Alanis Morissette - Ironic |
||||
|
Benoit Ga羹z癡re: |
||||
|
The Rolling Stones - Route 66 |
||||
|
Elvis Presley - Don't be cruel |
||||
|
Eddie Vedder - Guaranteed |
||||
|
The Beautiful Girls - La Mar |
||||
|
Dominique Goffe: |
||||
|
Graeme Allwright - Le jour de clart矇 |
||||
|
Hugues Aufray - Alouette |
||||
|
Hugues Aufray - Hasta Luego |
||||
|
Hugues Aufray - L'矇pervier |
||||
|
Jeanette - Porque te vas |
||||
|
Maxime Le Forestier - Je ne sais rien faire |
||||
|
Daniel Lanois - Jolie Louise |
||||
|
Gr矇goire Goffe: |
||||
|
Paco Ibanez - A galopar |
||||
|
Matthias Bussonnier: |
||||
|
Alex Beaupain - Je n'aime que toi |
||||
|
Pierre Caserta: |
||||
|
Oasis - I'm outta time |
||||
|
Red Hot Chili Peppers - By the time |
||||
|
Red Hot Chili Peppers - Californication |
||||
|
Red Hot Chili Peppers - Can't stop |
||||
|
Red Hot Chili Peppers - Dani California |
||||
|
Red Hot Chili Peppers - Road trippin' |
||||
|
Red Hot Chili Peppers - Under the bridge |
||||
|
Red Hot Chili Peppers - Snow |
||||
|
Elton John - Can you fell the love tonight? |
||||
|
Pipiou: |
||||
|
Matticus - Le p'tit gars |
||||
|
Bob Marley - Redemption song |
||||
|
Christophe - Les mots bleus |
||||
|
Pep's - Liberta |
||||
|
Alain Souchon - Bidon |
||||
|
Maxime Le Forestier - L'auto-stop |
||||
|
�dith Piaf - Padam-Padam |
||||
|
Maxime Le Forestier - Entre 14 et 40 ans |
||||
|
Maxime Le Forestier - Fontenay-aux-Roses |
||||
|
Catherine Le Forestier - La petite fugue |
||||
|
Tracy Chapman - Talkin' about the revolution |
||||
|
Jeanne Moreau - Le tourbillon de la vie |
||||
|
Charles Aznavour - Mes emmerdes |
||||
|
Oldelaf et Monsieur D - Super h矇ros |
||||
|
Pigalle - Dans la salle du bar-tabac de la rue des martyrs |
||||
|
Renan Luce - La lettre |
||||
|
Renan Luce - Monsieur Marcel |
||||
|
Michel Fugain - Forteresse |
||||
|
Romain Goffe: |
||||
|
Antsy Pants - Vampire |
||||
|
Leonard Cohen - If it be your will |
||||
|
Bob Dylan - The times they are a-changin |
||||
|
Joan Baez - Here's to you |
||||
|
Joe Dassin - Les petits pains au chocolat |
||||
|
Renaud - Chanson pour Pierrot |
||||
|
Renaud - En cloque |
||||
|
The Doors - Light my fire |
||||
|
The Rolling Stones - Paint it black |
||||
|
The Rolling Stones - Angie |
||||
|
The Rolling Stones - Ruby Tuesday |
||||
|
Simon & Garfunkel - Me and Julio down by the schoolyard |
||||
|
Georges Brassens - � l'ombre du coeur de ma mie |
||||
|
Georges Brassens - Je me suis fait tout petit |
||||
|
Yuki Kajiura - Jr |
||||
|
Crep - Kartopo |
||||
|
Crep - M矇lancolie |
||||
|
Crep - Les ptits chemins |
||||
|
Bobby McFerrin - Don't worry, be happy |
||||
|
Karpatt - Lino |
||||
|
Les Amis d'ta femme - Laisse tomber, gros |
||||
|
Mon c繫t矇 punk - Youssef |
||||
|
The Nightwatchman - California's dark |
||||
|
Karpatt - Fan de maman |
||||
|
Karpatt - Soul癡ve ta jupe |
||||
|
Gipsy Kings - Baila me |
||||
|
Gipsy Kings - Bamboleo |
||||
|
Debout sur le zinc - Le tanticide |
||||
|
Gogol Bordello - Alcohol |
||||
|
Boby Lapointe - Framboise |
||||
|
Boby Lapointe - M矇li-M矇lodie |
||||
|
Crep - Nostalgeek |
||||
|
Les Booze Brothers - I want sex |
||||
|
Dropkick Murphys - Dirty glass |
||||
|
The Pogues - The Irish Rover |
||||
|
Crep - Encore |
||||
|
La Rue K矇tanou - Les tontons |
||||
|
Les VRP - Ramon Perez |
||||
|
Mes souliers sont rouges - Cahin-Caha |
||||
|
Mes souliers sont rouges - L'arbre est dans ses feuilles |
||||
|
Mes souliers sont rouges - Sortis du bois |
||||
|
Les Ogres de Barback - L'ennui et le jour |
||||
|
Gogol Bordello - Supertheory of supereverything |
||||
|
Tri Yann - Les filles de Redon |
||||
|
Tri Yann - Kiss the children for me Mary |
||||
|
Les Fatals Picards - Goldorak est mort |
||||
|
Charles Aznavour - Les com矇diens |
||||
|
Matmatah - L'apologie |
||||
|
Philippe Lavil - Il tape sur des bambous |
||||
|
Les Ogres de Barback - Comment je suis devenu voyageur |
||||
|
Jean-Jacques Goldman - Le coureur |
||||
|
Bruce Springsteen - Old Dan Tucker |
||||
|
Renaud - La blanche |
||||
|
Renaud - Salut manouche |
||||
|
Pierre Perret - Les jolies colonies de vacances |
||||
|
The Connells - '74-'75 |
||||
|
Noir D矇sir - L'homme press矇 |
||||
|
Noir D矇sir - Le vent nous portera |
||||
|
La T礙te � Toto - Petit bonhomme |
||||
|
La T礙te � Toto - Les projets |
||||
|
Renaud - C'est quand qu'on va o羅 ? |
||||
|
Bruce Springsteen - Mrs McGrath |
||||
|
Henri Salvador - Une chanson douce |
||||
|
Nirvana - Come as you are |
||||
|
Michel Fugain - Je n'aurai pas le temps |
||||
|
Michel Fugain - Les Acadiens |
||||
|
Bob Dylan - One more cup of coffee |
||||
|
Johnny Cash - It ain't me, babe |
||||
|
Johnny Cash - I walk the line |
||||
|
Le Donjon de Naheulbeuk - Le larid矇 du poulet |
||||
|
Le Donjon de Naheulbeuk - Nanana de l'elfe |
||||
|
Cat Stevens - Wild world |
||||
|
Maxime Le Forestier - Mon fr癡re |
||||
|
Loic Lantoine - C繫t矇 punk |
||||
|
Mon c繫t矇 punk - Inch-Allah |
||||
|
Pierre Perret - Au caf矇 du canal |
||||
|
Pierre Perret - Mon p'tit loup |
||||
|
La Rue K矇tanou - Almarita |
||||
|
Hugues Aufray - C矇line |
||||
|
Hugues Aufray - Le jour o羅 le bateau viendra |
||||
|
Hugues Aufray - Les couleurs |
||||
|
Hugues Aufray - Stewball |
||||
|
Les Ogres de Barback - Little gentleman |
||||
|
Les hurlements d'L矇o - Une danseuse |
||||
|
Les hurlements d'L矇o - � bout d'souffle |
||||
|
Jacques Brel - Amsterdam |
||||
|
Jacques Brel - Ces gens-l�� |
||||
|
Jacques Brel - La valse � mille temps |
||||
|
Cookie Dingler - Femme lib矇r矇e |
||||
|
Jacques Higelin - Poil dans la main |
||||
|
Jacques Higelin - Tomb矇 du ciel |
||||
|
La Rue K矇tanou - Personne n'a l'pr矇nom d'ma femme |
||||
|
Les Innocents - L'autre finist癡re |
||||
|
Mes souliers sont rouges - Tape la galoche |
||||
|
Tit Patapons - Marchand de couleurs |
||||
|
Herv矇 Cristiani - Il est libre Max |
||||
|
Los Lobos - Rango theme song |
||||
|
Herman D羹ne - Tell me something I don't know |
||||
|
Herman D羹ne - Bristol |
||||
|
Herman D羹ne - Pure heart |
||||
|
Herman D羹ne - When the water gets cold |
||||
|
Herman D羹ne - Your name, my game |
||||
|
Elton John - Crocodile rock |
||||
|
Manau - La tribu de Dana |
||||
|
Daniel Balavoine - Vivre ou survivre |
||||
|
Vivre ou mourir |
||||
|
France Gall - Il jouait du piano debout |
||||
|
Louise Attaque - Je t'emm癡ne au vent |
||||
|
Louise Attaque - Ton invitation |
||||
|
Crep - SNCeuFeu |
||||
|
G矇rard Lenorman - La ballade des gens heureux |
||||
|
G矇rard Lenorman - Si j'矇tais pr矇sident |
||||
|
Les hurlements d'L矇o - Fabulous and luxury holidays for todos in Barbados |
||||
|
Les bl矇rots de R.A.V.E.L - Dans les gares |
||||
|
Les bl矇rots de R.A.V.E.L - Le retour de Petrouchka |
||||
|
Les bl矇rots de R.A.V.E.L - Les ptits plaisirs |
||||
|
Les hurlements d'L矇o - Ici, d'ailleurs |
||||
|
Fran癟ois Corbier - Les vieux copains de la t矇l矇 |
||||
|
Bob Dylan - Ballad of Hollis Brown |
||||
|
Bob Dylan - Don't think twice, it's all right |
||||
|
Emiliana Torrini - Jungle drum |
||||
|
Herman D羹ne - My friends kill my folks |
||||
|
Herman D羹ne - Be a doll and take my heart |
||||
|
Bob Dylan - Hurricane |
||||
|
Karpatt - Les vieilles |
||||
|
Cesaria Evora - Petit pays |
||||
|
Hugues Aufray - Le joueur de pipeau |
||||
|
Jean-Jacques Goldman - Il changeait la vie |
||||
|
Johnny Cash - Jackson |
||||
|
Johnny Cash - The ring of fire |
||||
|
Joe Dassin - Les Champs-�lys矇es |
||||
|
JCFrog - Je t'emm癡ne dedans |
||||
|
JCFrog - La mauvaise er矇putation |
||||
|
JCFrog - Russians |
||||
|
Sting - Russians |
||||
|
Elvis Presley - Love me tender |
||||
|
Traditionnel - L'homme de cromagnon |
||||
|
Jean-Jacques Goldman - Encore un matin |
||||
|
Georges Brassens - Chanson pour l'Auvergnat |
||||
|
La compagnie cr矇ole - �a fait rire les oiseaux |
||||
|
La compagnie cr矇ole - La machine � danser |
||||
|
La compagnie cr矇ole - Le bal masqu矇 |
||||
|
Karpatt - En pleine mer |
||||
|
Karpatt - Le d矇m矇nagement |
||||
|
Les Fatals Picards - L'amour � la fran癟aise |
||||
|
Les Fatals Picards - La s矇curit矇 de l'emploi |
||||
|
Joe Dassin - Ma bonne 矇toile |
||||
|
Julien Clerc - Travailler, c'est trop dur |
||||
|
Julien Clerc - M矇lissa |
||||
|
Julien Clerc - Ce n'est rien |
||||
|
Laura Veirs - Ballad of John Vogelin |
||||
|
Laura Veirs - Jailhouse fire |
||||
|
Bob Marley - No woman, no cry |
||||
|
Laura Veirs - Black-eyed Susan |
||||
|
T矇l矇phone - Cendrillon |
||||
|
N矇gresses vertes - Sous le soleil de Bodega |
||||
|
Yves Duteil - Le petit pont de bois |
||||
|
Oldelaf - Mamy blue |
||||
|
Christophe - Aline |
||||
|
Nino Ferrer - Mirza |
||||
|
Laura Veirs - Icebound stream |
||||
|
Herman's Hermits - No milk today |
||||
|
Oldelaf - Courseulles-sur-Mer |
||||
|
Oldelaf - Mon testament |
||||
|
Oldelaf - Vendredi |
||||
|
Oldelaf - Le monde est beau |
||||
|
Oldelaf et Monsieur D - Nous, les vedettes |
||||
|
Leonard Cohen - Suzanne |
||||
|
Les Fatals Picards - Mon p癡re 矇tait tellement de gauche |
||||
|
Les Fatals Picards - Seul et c矇libataire |
||||
|
Damien Rice - Cannonball |
||||
|
Jean-Jacques Goldman - Long is the road |
||||
|
La crevette d'acier - Moi si un jour |
||||
|
Les Ogres de Barback - La gare de Caen |
||||
|
Boby Lapointe - Aragon et Castille |
||||
|
Francis Cabrel - Je t'aimais, je t'aime et je t'aimerai |
||||
|
Neil Young - Heart of gold |
||||
|
Green Day - Minority |
||||
|
Les Ogres de Barback - Touche pas � mon 矇cole |
||||
|
Yuki Kajiura - Vanity |
||||
|
Bruce Springsteen - John Henry |
||||
|
Gogol Bordello - Oh no |
||||
|
Dessins Anim矇s - Boumbo |
||||
|
Dessins Anim矇s - Denver, le dernier dinosaure |
||||
|
Dessins Anim矇s - Dragon Ball |
||||
|
Dessins Anim矇s - Dragon Ball Z |
||||
|
Dessins Anim矇s - Les chevaliers du zodiaque |
||||
|
Dessins Anim矇s - Lucky Luke |
||||
|
Dessins Anim矇s - Sherlock Holmes |
||||
|
Debout sur le Zinc - Ma petite ch矇rie |
||||
|
Les Cowboys Fringants - Quand tu pars |
||||
|
Gilles Servat - La blanche hermine |
||||
|
�dith Piaf - L'homme � la moto |
||||
|
Karpatt - Le fil |
||||
|
Le Donjon de Naheulbeuk - Marche barbare |
||||
|
Le Donjon de Naheulbeuk - Massacrons-nous dans la taverne |
||||
|
Maxime Le Forestier - Comme un arbre |
||||
|
Maxime Le Forestier - Le steak |
||||
|
Georges Brassens - Ballade des dames du temps jadis |
||||
|
Maxime Le Forestier - �ducation sentimentale |
||||
|
The mamas and the papas - California dream |
||||
|
Jean-Jacques Goldman - Je te donne |
||||
|
Traditionnel - V'la l'bon vent |
||||
|
Barbara - L'aigle noir |
||||
|
Les Ogres de Barback - Ma fille |
||||
|
Alain Souchon - L'amour � la machine |
||||
|
Fool's Garden - Lemon tree |
||||
|
The Innocence Mission - The lakes of Canada |
||||
|
Crep - Fichu doctorat |
||||
|
Crep - Soir矇e p矇p癡re |
||||
|
Crep - iScream |
||||
|
Crep - Bioman |
||||
|
Crep - Calim矇ro |
||||
|
Oldelaf - Michel |
||||
|
Karpatt - Histoires de famille |
||||
|
|
||||
|
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 |
||||
|
Les Wriggles - Plouf |
||||
|
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 |
||||
|
Jack Johnson - Taylor |
||||
|
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 |
||||
|
Francine Pohl - La sorci癡re Grabouilla |
||||
|
La Rue K矇tanou - La fianc矇e de l'eau |
||||
|
Debout sur le Zinc - La d矇claration |
||||
|
Debout sur le Zinc - Les mots d'amour |
||||
|
Les Ogres de Barback - Rue du temps |
||||
|
Les Amis d'ta femme - A las barricadas |
||||
|
Mes souliers sont rouges - Bassin d'Irlande |
||||
|
Debout sur le Zinc - Rester debout |
||||
|
Simon & Garfunkel - The only living boy in New-York |
||||
|
Les Cowboys Fringants - Plus rien |
||||
|
Les Cowboys Fringants - Plus rien |
||||
|
Maxime Le Forestier - La rouille |
||||
|
Les Petites Bourettes - Et si je t'aime |
||||
|
Les Cowboys Fringants - La bonne pomme |
||||
|
Les Cowboys Fringants - Entre deux taxis |
||||
|
Les Petites Bourrettes - Dans la t礙te |
||||
|
Les Petites Bourrettes - La vieille |
||||
|
As de Tr礙fle - Jessica |
||||
|
Le Colporteur - Comme on dit |
||||
|
Les Vieilles Valises - �milie |
||||
|
Sans矇v矇rino - Dimanche dernier |
||||
|
I wanna be like you |
||||
|
La Rue K矇tanou - Sur les chemins de la boh癡me |
||||
|
Louise Attaque - Les nuits parisiennes |
||||
|
Marie Lafor礙t - Ivan, Boris et moi |
||||
|
Lila Downs - La cumbia del mole |
||||
|
Les Petites Bourrettes - Notre monde |
||||
|
Thomas Bellet: |
||||
|
Sheepbox - Devil's way. |
||||
|
(lohrun) New songbook format (not compatible with older version). |
||||
|
Changes have been made to the compilation toolchain that prevent |
||||
|
compilation of old format songbook. |
||||
|
(lohrun) Use LaTeX Songs package v2.10. |
||||
|
|
||||
|
-- Alexandre Dupas <alexandre.dupas@gmail.com> Sat, 17 Jul 2010 15:24:14 +0200 |
||||
|
|
||||
|
songbook (v0.6) |
||||
|
|
||||
|
(crep, Jeanne Dupas, lohrun) Add songs |
||||
|
Alexandre Dupas: |
||||
|
Ben Harper - Widow of a Living Man Song requested by Jeanne Dupas |
||||
|
Jeanne Dupas: |
||||
|
The Animals - The house of rising sun |
||||
|
The Beatles - Let it be |
||||
|
Romain Goffe: |
||||
|
Oldelaf et Monsieur D. - David Crockett |
||||
|
Steve Waring - La baleine bleue |
||||
|
Ritchie Valens - La bamba |
||||
|
Pornophonique - Sad robot |
||||
|
Les Naufrag矇s - L'harmonica |
||||
|
Steve Waring - La baleine bleue |
||||
|
Ritchie Valens - La bamba |
||||
|
Pornophonique - Sad robot |
||||
|
Les Naufrag矇s - L'harmonica |
||||
|
Th矇mis et Nono |
||||
|
Les Cowboys Fringants - Ti-Cul |
||||
|
Bruce Springsteen - Pay me my money down |
||||
|
Karpatt - Des id矇es |
||||
|
Karpatt - L矇on |
||||
|
Les Cowboys Fringants - La Reine |
||||
|
Les Ogres de Barback - Ptit chat |
||||
|
Yuki Kajiura - Fake Wings |
||||
|
(crep, lohrun) Corrections of mistakes and typos. |
||||
|
(lohrun) Use plain songs package v2.9 |
||||
|
(lohrun) Replace makeindex script with a new python version |
||||
|
(lohrun) Add script to produce the list of chords used in songs |
||||
|
(crep, lohrun) Correct chords and gtabs used in songs |
||||
|
(lohrun) Modification of the default geometry |
||||
|
(lohrun) Remove capos from the lyricbook |
||||
|
|
||||
|
-- Alexandre Dupas <alexandre.dupas@gmail.com> Fri, 11 Dec 2009 15:35:03 +0100 |
||||
|
|
||||
|
songbook (0.5) |
||||
|
|
||||
|
(crep, lohrun, Gr矇goire Goffe) New songs: |
||||
|
Belyscendre - Mon p癡re veut me marier |
||||
|
Belyscendre - Prend farge au loup |
||||
|
Britney Spears - ...Baby one more time |
||||
|
Cranberries - Animal Instinct |
||||
|
Cranberries - Zombie |
||||
|
Green Day - American Idiot |
||||
|
Le Donjon de Naheulbeuk - La compagnie du chien rugissant |
||||
|
Le Donjon de Naheulbeuk - La complainte de la serveuse |
||||
|
Le Donjon de Naheulbeuk - La polka du menestrel |
||||
|
Le Donjon de Naheulbeuk - Les chaussettes du nain |
||||
|
Le Donjon de Naheulbeuk - M礙me pas mage |
||||
|
Negro Spiritual - Lord I want |
||||
|
Oldelaf - J'veux 礙tre muscl矇 |
||||
|
Oldelaf - Mon ange |
||||
|
Rise Against - Hero of War |
||||
|
U2 - Sunday Bloody Sunday |
||||
|
(crep, lohrun) Corrections of mistakes and typos. |
||||
|
(lohrun) Add a proper volume mechanism |
||||
|
(lohrun) Add volume-1 source containing about 165 songs |
||||
|
(crep) Add naheulbeuk special edition |
||||
|
(lohrun) Upgraded songs.sty with bits from songs package v2.9 |
||||
|
(lohrun) Add tabs option |
||||
|
(crep,lohrun) Add lilypond option |
||||
|
|
||||
|
-- Alexandre Dupas <alexandre.dupas@gmail.com> Tue, 18 Aug 2009 23:38:12 +0200 |
||||
|
|
||||
|
songbook (0.4) |
||||
|
|
||||
|
(crep, lohrun, Gr矇goire Goffe) New songs: |
||||
|
Alain Bashung - Gaby, oh Gaby |
||||
|
Avril Lavigne - Things I'll never say |
||||
|
Bob Dylan - Blowin in the wind |
||||
|
Carter Family - In the highways + Keep on the sunny side |
||||
|
Cat Stevens - Sad Lisa |
||||
|
Cat Stevens - The wind |
||||
|
Eels - Dirty girl |
||||
|
Eels - Hey man |
||||
|
Eels - I like birds |
||||
|
Eels - Packing blankets |
||||
|
Garfunkel and Oates - Fuck You. |
||||
|
Georges Brassens - Cupidon s'en fout |
||||
|
Georges Brassens - Grand-p癡re |
||||
|
Georges Brassens - Le gorille |
||||
|
Georges Brassens - Les copains d'abord |
||||
|
Graeme Allwright - Johnny |
||||
|
Graeme Allwright - La mouche bleue |
||||
|
Graeme Allwright - Petit garcon |
||||
|
Green Day - Boulevard of Broken Dreams |
||||
|
Howie Day - Collide |
||||
|
Kana - Plantation |
||||
|
La Rue Ketanou - La Rue Ketanou |
||||
|
Les Cowboys Fringants - La manifestation |
||||
|
Les Cowboys Fringants - Toune d'Automne |
||||
|
Les Tit's Nassels - Les Tit's ballades |
||||
|
Linkin Park - Numb |
||||
|
Moriarty - Jimmy |
||||
|
Oasis - Wonderwall |
||||
|
Oldelaf et Monsieur.D - Nathalie |
||||
|
Patrick Bouchitey - Jesus reviens |
||||
|
Pierre Perret - Lily |
||||
|
Pow Wow - Le lion est mort ce soir |
||||
|
Radiohead - Creep |
||||
|
Renaud - Petite fille des sombres rues |
||||
|
Simon & Garfunkel - Cecilia |
||||
|
Simon & Garfunkel - El condor pasa |
||||
|
Simon & Garfunkel - Feeling groovy |
||||
|
Terra Naomi - Say it's possible |
||||
|
The Beatles - Ob-la-di ob-la-da |
||||
|
The Beatles - Yellow submarine |
||||
|
The Beatles - Yesterday |
||||
|
The Eagles - Hotel California |
||||
|
The Pogues - Fairytale of New-York |
||||
|
Tri Yann - Les prisons de Nantes |
||||
|
Tri Yann - Si Mors A Mors |
||||
|
(crep, lohrun) Corrections of mistakes and typos. |
||||
|
(crep, lohrun) Add cover picture to each song |
||||
|
(lohrun) Update to the Songs Package v2.8 |
||||
|
(lohrun) Update makefile to be POSIX compilant |
||||
|
|
||||
|
-- Alexandre Dupas <alexandre.dupas@gmail.com> Sun, 31 May 2009 01:39:16 +0200 |
||||
|
|
||||
|
songbook (0.3) |
||||
|
|
||||
|
(crep, lohrun) Major update with many new songs. |
||||
|
(crep) Corrections of a lot of mistakes. |
||||
|
(crep) Include image support. |
||||
|
(lohrun) Add make-html utility. |
||||
|
|
||||
|
-- Alexandre Dupas <alexandre.dupas@gmail.com> Sun, 15 Feb 2009 18:34:59 +0100 |
||||
|
|
||||
|
songbook (0.2) |
||||
|
|
||||
|
Initial version. |
||||
|
|
||||
|
-- Alexandre Dupas <alexandre.dupas@gmail.com> Sat, 11 Oct 2008 20:00:00 +0100 |
@ -0,0 +1,35 @@ |
|||||
|
#!/bin/sh |
||||
|
for directory in songs/*; do |
||||
|
images=`ls $directory/*.{jpg,png} 2> /dev/null` |
||||
|
val=`echo $images | wc -w` |
||||
|
for song in $directory/*.sg; do |
||||
|
sg=`basename $song` |
||||
|
sed -i '0,/\\gtab/s//\\cover\n\\gtab/' $song |
||||
|
if [ $val -gt 1 ] |
||||
|
then |
||||
|
i=1 |
||||
|
for image in $images; do |
||||
|
img=`basename $image .jpg` |
||||
|
img=`echo $img | sed 's/.png$//'` |
||||
|
echo "Apply $img to $song ? ($i/$val)" |
||||
|
i=$(($i+1)) |
||||
|
read answer |
||||
|
case "$answer" in |
||||
|
"y") |
||||
|
sed -i 's/beginsong{\([^}]*\)}\[\([^]]*\)\]/beginsong{\1}[\2,cov='$img']/' $song |
||||
|
break; |
||||
|
;; |
||||
|
"n") |
||||
|
true |
||||
|
;; |
||||
|
esac |
||||
|
done; |
||||
|
elif [ $val -eq 1 ] |
||||
|
then |
||||
|
img=`basename $images .jpg` |
||||
|
img=`echo $img | sed 's/.png$//'` |
||||
|
echo "Applying $img to $sg" |
||||
|
sed -i 's/beginsong{\([^}]*\)}\[\([^]]*\)\]/beginsong{\1}[\2,cov='$img']/' $song |
||||
|
fi; |
||||
|
done; |
||||
|
done; |
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"template" : "patacrep.tmpl", |
||||
|
"lang" : "english", |
||||
|
"bookoptions" : [ |
||||
|
"diagram", |
||||
|
"lilypond", |
||||
|
"pictures" |
||||
|
], |
||||
|
"booktype" : "chorded", |
||||
|
"subtitle" : "English songs", |
||||
|
"picture" : "Music_by_Katie8594", |
||||
|
"title" : "Guitar Songbook", |
||||
|
"songs" : [ |
@ -0,0 +1,10 @@ |
|||||
|
{ |
||||
|
"template" : "patacrep.tmpl", |
||||
|
"lang" : "french", |
||||
|
"subtitle" : "chanson francaise", |
||||
|
"bookoptions" : [ |
||||
|
"diagram", |
||||
|
"lilypond", |
||||
|
"pictures" |
||||
|
], |
||||
|
"songs" : [ |
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"template" : "patacrep.tmpl", |
||||
|
"lang" : "french", |
||||
|
"bookoptions" : [ |
||||
|
"diagram", |
||||
|
"lilypond", |
||||
|
"pictures" |
||||
|
], |
||||
|
"booktype" : "chorded", |
||||
|
"picture" : "The_Music_Machine_by_hit_squad", |
||||
|
"picturecopyright" : "hit-squad @ deviantart.com", |
||||
|
"subtitle" : "Tome 5", |
||||
|
"songs" : [ |
@ -0,0 +1,28 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
#Author: Romain Goffe |
||||
|
#Date: 14/11/2010 |
||||
|
#Description: Generate an sb file containing all the songs in a given language |
||||
|
|
||||
|
if [ $# -ne 1 ]; |
||||
|
then |
||||
|
echo "Usage: $0 LANG" |
||||
|
exit 1 |
||||
|
fi; |
||||
|
|
||||
|
GREP="$GREP_OPTIONS" |
||||
|
export GREP_OPTIONS="" |
||||
|
|
||||
|
LANG=$1 |
||||
|
BOOKS_DIR="books/" |
||||
|
|
||||
|
if [ $LANG="english" -o $LANG="french" ]; |
||||
|
then |
||||
|
cp "./utils/header-$LANG" "$BOOKS_DIR$LANG.sb" |
||||
|
grep "selectlanguage{$LANG}" songs/*/*.sg | sed 's|songs/\(.*\):.*| \"\1\",|; $ s|,$|\n ]\n}\n|' >> "$BOOKS_DIR$LANG.sb" |
||||
|
else |
||||
|
echo "Error: $LANG is not a supported language" |
||||
|
exit 2 |
||||
|
fi; |
||||
|
|
||||
|
export GREP_OPTIONS="$GREP" |
@ -0,0 +1,17 @@ |
|||||
|
#!/bin/sh |
||||
|
echo "Choose langage: 1 (english), 2 (french), 3 (spanish)" |
||||
|
for song in songs/*/*.sg; do |
||||
|
echo "Apply language to $song ?" |
||||
|
read answer |
||||
|
case "$answer" in |
||||
|
1) |
||||
|
sed -i '1i\\\\selectlanguage{english}' $song |
||||
|
;; |
||||
|
2) |
||||
|
sed -i '1i\\\\selectlanguage{french}' $song |
||||
|
;; |
||||
|
3) |
||||
|
sed -i '1i\\\\selectlanguage{spanish}' $song |
||||
|
;; |
||||
|
esac |
||||
|
done; |
@ -0,0 +1,46 @@ |
|||||
|
#!/bin/sh |
||||
|
#Author: Romain Goffe |
||||
|
#Date: 07/05/2011 |
||||
|
#Description: Generate an sb file containing all the songs that are not |
||||
|
# already in previous volumes |
||||
|
|
||||
|
GREP="$GREP_OPTIONS" |
||||
|
export GREP_OPTIONS="" |
||||
|
|
||||
|
BOOKS_DIR="books" |
||||
|
|
||||
|
#all songs |
||||
|
cd songs |
||||
|
ls -1 */*.sg > ../res1 |
||||
|
cd .. |
||||
|
|
||||
|
for i in 1 2 3 4 |
||||
|
do |
||||
|
#get volume i list |
||||
|
tail -n +14 "$BOOKS_DIR/volume-$i.sb" > tmp$i |
||||
|
head -n -2 tmp$i > list$i |
||||
|
sed -i -e "s/\",//g" -e "s/ \"//g" -e "s/\"//g" list$i |
||||
|
|
||||
|
#remove volume i songs |
||||
|
grep -vf list$i res$i > res$(($i+1)) |
||||
|
done |
||||
|
|
||||
|
#format song list |
||||
|
sed -i -e "s/^/ \"/g" -e "s/$/\",/g" res$(($i+1)) |
||||
|
head -c -2 res$(($i+1)) > res |
||||
|
|
||||
|
|
||||
|
#make volume i+1 sb file |
||||
|
cat utils/header-last-volume > "$BOOKS_DIR/volume-$(($i+1)).sb" |
||||
|
cat res >> "$BOOKS_DIR/volume-$(($i+1)).sb" |
||||
|
echo "]" >> "$BOOKS_DIR/volume-$(($i+1)).sb" |
||||
|
echo "}" >> "$BOOKS_DIR/volume-$(($i+1)).sb" |
||||
|
|
||||
|
#remove tmp files |
||||
|
for i in 1 2 3 4 |
||||
|
do |
||||
|
rm -f res$i list$i tmp$i |
||||
|
done |
||||
|
rm -f res res$(($i+1)) |
||||
|
|
||||
|
export GREP_OPTIONS="$GREP" |
@ -0,0 +1,119 @@ |
|||||
|
#!/usr/bin/perl -w |
||||
|
# |
||||
|
# Generate html index for the Crep's chorbook. |
||||
|
# |
||||
|
# Usage: make-html [options] source |
||||
|
# source should be an .sg or .sbd file |
||||
|
# |
||||
|
|
||||
|
use warnings; |
||||
|
use strict; |
||||
|
use utf8; |
||||
|
|
||||
|
sub uppercase($) |
||||
|
{ |
||||
|
my $letter = shift; |
||||
|
$letter =~ tr/a-zàéèëê/A-ZAEEEE/; |
||||
|
return $letter; |
||||
|
} |
||||
|
|
||||
|
# Create the latex-proof function |
||||
|
sub latex2utf8($) |
||||
|
{ |
||||
|
my $result = shift; |
||||
|
|
||||
|
$result =~ s/\\'e/é/g; |
||||
|
$result =~ s/\\¨e/ë/g; |
||||
|
$result =~ s/\\`e/è/g; |
||||
|
$result =~ s/\\\^e/ê/g; |
||||
|
$result =~ s/\\\^o/ô/g; |
||||
|
$result =~ s/\\\^a/â/g; |
||||
|
$result =~ s/\\\^i/î/g; |
||||
|
$result =~ s/\\`a/à/g; |
||||
|
$result =~ s/\\`u/ù/g; |
||||
|
$result =~ s/\\&/&/g; |
||||
|
$result =~ s/\\oe\s*{}/oe/g; |
||||
|
|
||||
|
return ($result); |
||||
|
} |
||||
|
#' |
||||
|
|
||||
|
sub usage () |
||||
|
{ |
||||
|
die "usage: make-html [options] source", "\n"; |
||||
|
} |
||||
|
|
||||
|
sub defaultoptions() |
||||
|
{ |
||||
|
return ( |
||||
|
titleprefix => "", |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
my %options; |
||||
|
sub getoptions () |
||||
|
{ |
||||
|
%options = defaultoptions(); |
||||
|
eval q{use Getopt::Long}; |
||||
|
Getopt::Long::Configure('pass_through'); |
||||
|
GetOptions( |
||||
|
# "verbose|v!" => \$options{verbose}, |
||||
|
"titleprefix|p=s" => \$options{titleprefix}, |
||||
|
) || usage(); |
||||
|
} |
||||
|
|
||||
|
getoptions(); |
||||
|
|
||||
|
my $prefix = '(('.$options{titleprefix}.')[\s\'])'; |
||||
|
|
||||
|
# Filter function |
||||
|
sub process_titleprefix($) |
||||
|
{ |
||||
|
my $string = shift; |
||||
|
if( $string =~ /^$prefix\W*(\w)/ ) |
||||
|
{ |
||||
|
my $letter = uppercase $3; |
||||
|
$string =~ s/^$prefix\W*\w(.*)/$letter$3, $1/; |
||||
|
} |
||||
|
return $string; |
||||
|
} |
||||
|
|
||||
|
# Process command line |
||||
|
usage() unless @ARGV; |
||||
|
my $file = shift; |
||||
|
|
||||
|
# Open file and store date before closing the file |
||||
|
open( FILE, $file ) or die("unable to open $file"); |
||||
|
|
||||
|
# Process data |
||||
|
my %table; |
||||
|
my $author; |
||||
|
my $title; |
||||
|
|
||||
|
while( <FILE> ) |
||||
|
{ |
||||
|
if( $_ =~ /\\beginsong{(.*)}\[.*by=(.*),.*\]/ ) |
||||
|
{ |
||||
|
$author = latex2utf8 $2; |
||||
|
$title = latex2utf8 $1; |
||||
|
$title = process_titleprefix $title unless $options{titleprefix} eq ""; |
||||
|
# Create empty data index if needed |
||||
|
$table{$author} = [] unless exists $table{$author}; |
||||
|
push @{$table{$author}}, $title; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
close( FILE ); |
||||
|
|
||||
|
# Format output |
||||
|
print '<ul>'; |
||||
|
foreach my $author ( sort keys %table ) |
||||
|
{ |
||||
|
print '<li><strong>', $author, '</strong><ul>'; |
||||
|
foreach my $title ( sort @{$table{$author}} ) |
||||
|
{ |
||||
|
print '<li>',$title,'</li>' |
||||
|
} |
||||
|
print '</ul></li>'; |
||||
|
} |
||||
|
print '</ul>'; |
@ -0,0 +1,20 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Helper script to get the list of new songs added since the last version |
||||
|
# The output is supposed to be copy/pasted into the NEWS item. |
||||
|
|
||||
|
GREP="$GREP_OPTIONS" |
||||
|
export GREP_OPTIONS="" |
||||
|
|
||||
|
if [ $# -eq 1 ] |
||||
|
then |
||||
|
VERSION=$1 |
||||
|
else |
||||
|
# Get current version |
||||
|
VERSION=`git tag | grep patacrep | tail -n1` |
||||
|
fi |
||||
|
|
||||
|
# Make new songs list by authors |
||||
|
git shortlog $VERSION..master | egrep '^([^ ].*|.*[aA]dd song.*)' | sed 's/[aA]dd song.//' | sed 's/\.$//' | sed 's/ (.*)//' | sed 's/\s\s\s*/ /' |
||||
|
|
||||
|
export GREP_OPTIONS="$GREP" |
@ -0,0 +1,94 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
#Author: Romain Goffe |
||||
|
#Date: 13/10/2011 |
||||
|
#Description: Build all the pdf on www.patacrep.com, increase their |
||||
|
#version and commit/tag the result |
||||
|
|
||||
|
GREP="$GREP_OPTIONS" |
||||
|
export GREP_OPTIONS="" |
||||
|
|
||||
|
#last volume |
||||
|
./utils/last-volume.sh |
||||
|
#english.sb |
||||
|
./utils/langbooks.sh english |
||||
|
#french.sb |
||||
|
./utils/langbooks.sh french |
||||
|
|
||||
|
#increase version |
||||
|
RELEASE_TYPE=$1 |
||||
|
VERSION=`grep "\"version\"" ./templates/patacrep.tmpl | sed -e 's/.*\"\([0-9]\+\)\.\([0-9]\+\)\.\?\([0-9]\+\)\?.*/export MAIN=\1\nexport MAJOR=\2\nexport MINOR=\3\n/'` |
||||
|
$VERSION |
||||
|
|
||||
|
if [ $# -eq 1 ] |
||||
|
then |
||||
|
echo "current version : $MAIN.$MAJOR.$MINOR" |
||||
|
if [ $RELEASE_TYPE = "major" ]; |
||||
|
then |
||||
|
MAJOR=$(($MAJOR+1)) |
||||
|
MINOR=0 |
||||
|
elif [ $RELEASE_TYPE = "minor" ]; |
||||
|
then |
||||
|
MINOR=$(($MINOR+1)) |
||||
|
else |
||||
|
echo "error: unrecognised release type" |
||||
|
fi; |
||||
|
echo "new version : $MAIN.$MAJOR.$MINOR" |
||||
|
#update version field in tmpl files |
||||
|
sed -i "s/\"[0-9]\+.[0-9]\+.[0-9]\+\"/\"$MAIN.$MAJOR.$MINOR\"/" templates/patacrep.tmpl |
||||
|
sed -i "s/\"[0-9]\+.[0-9]\+.[0-9]\+\"/\"$MAIN.$MAJOR.$MINOR\"/" templates/ancient.tmpl |
||||
|
else |
||||
|
echo "keeping release version" |
||||
|
fi; |
||||
|
|
||||
|
|
||||
|
#apply verification tools |
||||
|
#echo "emacs batch indentation in progress ..." |
||||
|
#./utils/indent.sh 2> /dev/null |
||||
|
#echo "emacs batch indentation done !" |
||||
|
./utils/rules.py |
||||
|
./utils/resize-cover.py |
||||
|
./utils/perms.sh |
||||
|
|
||||
|
#build all songbooks |
||||
|
rm -f *.d *.pdf *.log *.aux |
||||
|
|
||||
|
tar -czvf songbook.tar.gz \ |
||||
|
--exclude-vcs \ |
||||
|
--exclude=$(BOOKS_DIR)/default.sb \ |
||||
|
--exclude=perso/* --exclude=perso \ |
||||
|
--exclude=build/* --exclude=build \ |
||||
|
--exclude=data/* --exclude=data \ |
||||
|
--exclude=*tar.gz \ |
||||
|
--transform 's/songbook/songbook-$(DATE)/1' \ |
||||
|
../songbook |
||||
|
|
||||
|
./songbook.py -s books/naheulbeuk.sb |
||||
|
./songbook.py -s books/volume-1.sb |
||||
|
./songbook.py -s books/volume-2.sb |
||||
|
./songbook.py -s books/volume-3.sb |
||||
|
./songbook.py -s books/volume-4.sb |
||||
|
./songbook.py -s books/volume-5.sb |
||||
|
./songbook.py -s books/english.sb |
||||
|
./songbook.py -s books/french.sb |
||||
|
./songbook.py -s books/songbook_fr.sb |
||||
|
./songbook.py -s books/songbook_en.sb |
||||
|
./songbook.py -s books/lyricbook_fr.sb |
||||
|
./songbook.py -s books/lyricbook_en.sb |
||||
|
#make clean |
||||
|
|
||||
|
git status |
||||
|
|
||||
|
if [ $# -eq 1 ] |
||||
|
then |
||||
|
./utils/new-songs-list.sh | cat - NEWS > /tmp/out && mv -f /tmp/out NEWS |
||||
|
echo "\nversion $MAIN.$MAJOR.$MINOR\n" | cat - NEWS > /tmp/out && mv -f /tmp/out NEWS |
||||
|
git add templates/*.tmpl |
||||
|
git add books/naheulbeuk.sb books/volume*.sb NEWS |
||||
|
git commit -m "patacrep release version $MAIN.$MAJOR.$MINOR" |
||||
|
git tag "patacrep_$MAIN.$MAJOR.$MINOR" |
||||
|
fi |
||||
|
|
||||
|
notify-send "Patacrep!" "Release $MAIN.$MAJOR.$MINOR generated" --icon=songbook-client |
||||
|
|
||||
|
export GREP_OPTIONS="$GREP" |
@ -0,0 +1,39 @@ |
|||||
|
#!/usr/bin/python |
||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
#Author: Romain Goffe |
||||
|
#Date: 28/12/2011 |
||||
|
#Description: Resize all covers to 128,128 thumbnails |
||||
|
import os |
||||
|
import Image |
||||
|
|
||||
|
from utils import recursiveFind |
||||
|
|
||||
|
# Process song files |
||||
|
library = "./" |
||||
|
covers = recursiveFind(os.path.join(library, 'songs'), '*.jpg') |
||||
|
for filename in covers: |
||||
|
|
||||
|
source = Image.open(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.save(filename) |
@ -0,0 +1,276 @@ |
|||||
|
#!/usr/bin/python |
||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
import glob |
||||
|
import getopt, sys |
||||
|
import re, os |
||||
|
import logging |
||||
|
import locale |
||||
|
re.LOCALE |
||||
|
|
||||
|
from utils import recursiveFind |
||||
|
|
||||
|
# the dictionary has target_word:replacement_word pairs |
||||
|
word_dic = { |
||||
|
##: oe inclusion |
||||
|
"coeur": "cœur", |
||||
|
"choeur": "chœur", |
||||
|
"boeuf": "bœuf", |
||||
|
"oeuvre": "œuvre", |
||||
|
"soeur": "sœur", |
||||
|
"noeud": "nœud", |
||||
|
"oeil": "œil", |
||||
|
"voeu": "vœu", |
||||
|
"oeuf": "œuf", |
||||
|
"oe{}": "œ", |
||||
|
"\\œ": "œ", |
||||
|
##: Contractions |
||||
|
"ptit": "p'tit", |
||||
|
"Y a": "Y'a", |
||||
|
"ptê": "p't'ê", |
||||
|
"p'tê": "p't'ê", |
||||
|
"p't-ê": "p't'ê", |
||||
|
##: Punctuation |
||||
|
"’": "'", |
||||
|
"‘": "'", |
||||
|
"´": "'", |
||||
|
"Ca ": "Ça ", |
||||
|
"...": "{\\dots}", |
||||
|
"…": "{\\dots}", |
||||
|
"say: ``":"say, ``", |
||||
|
"says: ``":"says, ``", |
||||
|
"said: ``":"said, ``", |
||||
|
#replace tabs with two spaces |
||||
|
" ": " ", |
||||
|
##: Typo |
||||
|
"New-York": "New York", |
||||
|
" i ": " I ", |
||||
|
"avant hier": "avant-hier", |
||||
|
##: Conversion to anglo-saxon chords |
||||
|
"Lam ": "Am ", |
||||
|
"La7": "A7", |
||||
|
"Lasus2": "Asus2", |
||||
|
"Sim ": "Bm ", |
||||
|
"Sim}": "Bm}", |
||||
|
"Sim]": "Bm]", |
||||
|
"Si7": "B7", |
||||
|
"Dom ": "Cm ", |
||||
|
"Do7": "C7", |
||||
|
"Do9": "C9", |
||||
|
"Ré ": "D ", |
||||
|
"Rém ": "Dm ", |
||||
|
"Rém]": "Dm]", |
||||
|
"Ré7": "D7", |
||||
|
"Ré#": "D#", |
||||
|
"Mim ": "Em ", |
||||
|
"Mim]": "Em]", |
||||
|
"Mim7": "Em7", |
||||
|
"Mim}": "Em}", |
||||
|
"Mi7": "E7", |
||||
|
"Mi7sus4": "E7sus4", |
||||
|
"Fa ": "F ", |
||||
|
"Fa}": "F}", |
||||
|
"[Fa\\": "[F\\", |
||||
|
"Fam ": "Fm ", |
||||
|
"Fa7": "F7", |
||||
|
"Sol ": "G ", |
||||
|
"Sol]": "G]", |
||||
|
"Solm ": "Gm ", |
||||
|
"Solm]": "Gm]", |
||||
|
"Sol7": "G7", |
||||
|
"/La": "/A", |
||||
|
"/Si": "/B", |
||||
|
"/Do": "/C", |
||||
|
"/Ré": "/D", |
||||
|
"/Mi": "/E", |
||||
|
"/Fa": "/F", |
||||
|
"/Sol": "/G", |
||||
|
"tab{La": "tab{A", |
||||
|
"tab{Si": "tab{B", |
||||
|
"tab{Do": "tab{C", |
||||
|
"tab{Ré": "tab{D", |
||||
|
"tab{Mi": "tab{E", |
||||
|
"tab{Fa": "tab{F", |
||||
|
"tab{Sol": "tab{G", |
||||
|
"\\[La": "\\[A", |
||||
|
"\\[Si": "\\[B", |
||||
|
"\\[Do": "\\[C", |
||||
|
"\\[Ré": "\\[D", |
||||
|
"\\[Mi": "\\[E", |
||||
|
"\\[Fa": "\\[F", |
||||
|
"\\[Sol": "\\[G", |
||||
|
"\\[Re": "\\[D", |
||||
|
"b]": "&]", |
||||
|
"b7]": "&7]", |
||||
|
#C |
||||
|
"032010": "X32010", |
||||
|
#A |
||||
|
"002220": "X02220", |
||||
|
"002020": "X02020", |
||||
|
"002210": "X02210", |
||||
|
#D |
||||
|
"000232": "XX0232", |
||||
|
"X00232": "XX0232", |
||||
|
"000212": "XX0212", |
||||
|
"000231": "XX0231", |
||||
|
"X00231": "XX0231", |
||||
|
#B |
||||
|
"021202": "X21202", |
||||
|
## LaTeX |
||||
|
"beginchorus": "begin{chorus}", |
||||
|
"endchorus": "end{chorus}", |
||||
|
"beginverse*": "begin{verse*}", |
||||
|
"beginverse": "begin{verse}", |
||||
|
"endverse": "end{verse}", |
||||
|
"}[by=": "}\n [by=", |
||||
|
### end of rules |
||||
|
} |
||||
|
|
||||
|
|
||||
|
def usage(): |
||||
|
print ''' |
||||
|
Usage: rules.py [OPTION] |
||||
|
|
||||
|
OPTIONS |
||||
|
-h, --help |
||||
|
display this help and exit |
||||
|
|
||||
|
-f, --files=FILES |
||||
|
apply the set of rules on FILES |
||||
|
default is songs/*/*.sg |
||||
|
|
||||
|
-l, --log=LEVEL |
||||
|
set the logging level to LEVEL |
||||
|
outputs logging information to rules.log |
||||
|
possible LEVEL values are : debug, info, warning, error and critical |
||||
|
''' |
||||
|
|
||||
|
def replace_words(string): |
||||
|
''' |
||||
|
Search the data string for words defined in the dictionary and |
||||
|
replace them. This method avoids usual spelling and typos mistakes |
||||
|
when writing a song. |
||||
|
''' |
||||
|
logging.info("replace_words: search and replace words from dictionary into song data") |
||||
|
for search, replace in word_dic.items(): |
||||
|
string = string.replace(search, replace) |
||||
|
return string |
||||
|
|
||||
|
#language based typographical rules |
||||
|
def language_rules(string): |
||||
|
''' |
||||
|
Search the data string for common typographical mistakes. |
||||
|
Implemented rules depend on the current song language that is |
||||
|
defined by babel for every .sg file through the macro |
||||
|
\selectlanguage{<lang>} |
||||
|
''' |
||||
|
logging.info("language_rules: looking for common typographical mistakes") |
||||
|
if (re.compile("selectlanguage{french}").search(string)): |
||||
|
logging.info(" song language is set to : french") |
||||
|
#ensure non-breaking spaces before symbols ? ! ; : |
||||
|
string = re.sub("(?P<last_char>\S)(?P<symbol>[!?;:])","\g<last_char> \g<symbol>", string) |
||||
|
#... except for gtabs macros with capos |
||||
|
string = re.sub("(?P<gtab>tab.?{.*)\s:","\g<gtab>:", string) |
||||
|
#... and for urls |
||||
|
string = re.sub("http\s:","http:", string) |
||||
|
#and apply a second time for cases like \gtab{Gm}{10:X02210:} |
||||
|
string = re.sub("(?P<gtab>tab.?{.*)\s:","\g<gtab>:", string) |
||||
|
#ensure no spaces after symbols ( |
||||
|
string = re.sub("(?P<symbol>[\(])\s(?P<next_char>\S)","\g<symbol>\g<next_char>", string) |
||||
|
#convert inverted commas |
||||
|
string = re.sub("``","{\\og}", string) |
||||
|
string = re.sub("''","{\\\\fg}", string) |
||||
|
elif (re.compile("selectlanguage{english}").search(string)): |
||||
|
logging.info(" song language is set to : english") |
||||
|
#ensure no spaces before symbols ? ! ; : ) |
||||
|
string = re.sub("(?P<last_char>\S)\s(?P<symbol>[!?;:\)])","\g<last_char>\g<symbol>", string) |
||||
|
#ensure no spaces after symbols ( |
||||
|
string = re.sub("(?P<symbol>[\(])\s(?P<next_char>\S)","\g<symbol>\g<next_char>", string) |
||||
|
elif (re.compile("selectlanguage{spanish}").search(string)): |
||||
|
logging.info(" song language is set to : spanish") |
||||
|
#ensure no spaces before symbols ? ! ; : ) |
||||
|
string = re.sub("(?P<last_char>\S)\s(?P<symbol>[!?;:\)])","\g<last_char>\g<symbol>", string) |
||||
|
#ensure no spaces after symbols ¿ ¡ ( |
||||
|
string = re.sub("(?P<symbol>[¿¡\(])\s(?P<next_char>\S)","\g<symbol>\g<next_char>", string) |
||||
|
elif (re.compile("selectlanguage{portuguese}").search(string)): |
||||
|
logging.info(" song language is set to : portuguese") |
||||
|
#convert inverted commas |
||||
|
string = re.sub("``","{\\og}", string) |
||||
|
string = re.sub("''","{\\\\fg}", string) |
||||
|
else : |
||||
|
print "Warning: language is not defined for song : " + filename |
||||
|
return string |
||||
|
|
||||
|
def process_lines(lines): |
||||
|
''' |
||||
|
Removes trailing punctuation and multi-spaces from lines. Note |
||||
|
that it preserves whitespaces at the beginning of lines that |
||||
|
correspond to indentation. |
||||
|
''' |
||||
|
logging.info("process_lines: handling song data line by line") |
||||
|
star = False |
||||
|
for index, line in enumerate(lines): |
||||
|
if re.compile("begin{verse\*}").search(line): |
||||
|
star = True |
||||
|
|
||||
|
if re.compile("end{verse\*}").search(line): |
||||
|
star = False |
||||
|
|
||||
|
if star == True and re.compile("end{verse}").search(line): |
||||
|
line = line.replace("verse", "verse*") |
||||
|
star = False |
||||
|
|
||||
|
#remove trailing spaces and punctuation |
||||
|
line = line.rstrip().rstrip(',.;').rstrip() |
||||
|
#remove multi-spaces within lines |
||||
|
line = re.sub("(?P<last_char>\S)\s{2,}","\g<last_char> ", line) |
||||
|
lines[index] = line |
||||
|
return lines |
||||
|
|
||||
|
|
||||
|
def main(): |
||||
|
locale.setlocale(locale.LC_ALL, '') |
||||
|
try: |
||||
|
opts, args = getopt.getopt(sys.argv[1:], |
||||
|
"hf:l:", |
||||
|
["help", "files=", "log="]) |
||||
|
except getopt.GetoptError: |
||||
|
usage() |
||||
|
sys.exit(2) |
||||
|
|
||||
|
library = './' |
||||
|
loglevel = "warning" |
||||
|
|
||||
|
for option, arg in opts: |
||||
|
if option in ("-h", "--help"): |
||||
|
usage() |
||||
|
sys.exit() |
||||
|
elif option in ("-f", "--files"): |
||||
|
songfiles = glob.glob(arg) |
||||
|
elif option in ("-l", "--log"): |
||||
|
loglevel = arg |
||||
|
numeric_level = getattr(logging, loglevel.upper(), None) |
||||
|
if not isinstance(numeric_level, int): |
||||
|
raise ValueError('Invalid log level: %s' % loglevel) |
||||
|
logging.basicConfig(level=numeric_level, filename='rules.log', filemode='w') |
||||
|
else: |
||||
|
assert False, "unhandled option" |
||||
|
|
||||
|
songfiles = recursiveFind(os.path.join(library, 'songs'), '*.sg') |
||||
|
|
||||
|
for filename in songfiles: |
||||
|
with open(filename, 'r+') as songfile: |
||||
|
logging.info("checking file: "+filename) |
||||
|
data = songfile.read() |
||||
|
#no dots for acronyms |
||||
|
#data = re.sub("(?P<capital_letter>[A-Z])\.","\g<capital_letter>", data) |
||||
|
data = replace_words(data) |
||||
|
data = language_rules(data) |
||||
|
lines = process_lines(data.split('\n')) |
||||
|
data = "\n".join(lines) |
||||
|
songfile.seek(0) |
||||
|
songfile.write(data) |
||||
|
songfile.truncate() |
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
main() |
@ -0,0 +1,85 @@ |
|||||
|
#!/usr/bin/python |
||||
|
# |
||||
|
|
||||
|
import sys |
||||
|
import re |
||||
|
from optparse import OptionParser |
||||
|
from utils.utils import recursiveFind |
||||
|
|
||||
|
from utils.utils import recursiveFind |
||||
|
|
||||
|
# Pattern set to ignore latex command in title prefix |
||||
|
gtabPattern = re.compile(r"\\gtab\{(.*)\}\{(.*)\}"); |
||||
|
|
||||
|
def main(): |
||||
|
usage = "usage: %prog [options]" |
||||
|
parser = OptionParser(usage) |
||||
|
parser.add_option("-o", "--output", dest="filename", |
||||
|
help="write result into FILE", metavar="FILE") |
||||
|
(options, args) = parser.parse_args() |
||||
|
|
||||
|
# Options processing |
||||
|
if options.filename: |
||||
|
output = open(options.filename,"w") |
||||
|
else: |
||||
|
output = sys.stdout |
||||
|
|
||||
|
# Actual processing |
||||
|
chords = dict() |
||||
|
positions = dict() |
||||
|
|
||||
|
songfiles = recursiveFind(os.path.join(library, 'songs'), '*.sg') |
||||
|
|
||||
|
for file in songfiles: |
||||
|
for line in open(file): |
||||
|
result = gtabPattern.match(line) |
||||
|
if result: |
||||
|
(chord,position) = result.groups() |
||||
|
if not chords.has_key(chord): |
||||
|
chords[chord] = set() |
||||
|
chords[chord].add(position) |
||||
|
if not positions.has_key(position): |
||||
|
positions[position] = set() |
||||
|
positions[position].add(chord) |
||||
|
|
||||
|
document = [ |
||||
|
'\\documentclass{article}', |
||||
|
'\\usepackage[chorded]{songs}', |
||||
|
'\\usepackage[utf8]{inputenc}', |
||||
|
'\\title{Accords}', |
||||
|
'\\author{Romain Goffe \\and Alexandre Dupas}', |
||||
|
'\\date{}', |
||||
|
'\\begin{document}', |
||||
|
'\\maketitle', |
||||
|
'\\begin{songs}{}', |
||||
|
] |
||||
|
|
||||
|
document.append('\\section{Chords names}') |
||||
|
|
||||
|
chordskeys = chords.keys() |
||||
|
chordskeys.sort() |
||||
|
|
||||
|
for k in chordskeys: |
||||
|
document.append('\\subsection{'+k.replace('#','\\#').replace('&','\\&')+'}') |
||||
|
for p in chords[k]: |
||||
|
document.append('\\gtab{'+k+'}{'+p+'}') |
||||
|
|
||||
|
document.append('\\section{Chords names}') |
||||
|
|
||||
|
positionskeys = positions.keys() |
||||
|
positionskeys.sort() |
||||
|
|
||||
|
for k in positionskeys: |
||||
|
document.append('\\subsection{'+k+'}') |
||||
|
for p in positions[k]: |
||||
|
document.append('\\gtab{'+p+'}{'+k+'}') |
||||
|
|
||||
|
document.extend([ |
||||
|
'\\end{songs}', |
||||
|
'\\end{document}', |
||||
|
]) |
||||
|
|
||||
|
output.write('\n'.join(document)) |
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
main() |
Loading…
Reference in new issue