diff --git a/NEWS b/NEWS index 1a473109..9d8ee2ff 100644 --- a/NEWS +++ b/NEWS @@ -1,806 +1,102 @@ - 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: + Undocumented bug corrections and improvements. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. version 3.5.2 -broph: - Noir Désir - Lazy - William Baldé - Rayon de soleil + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + Undocumented. 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 + + Undocumented. 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. @@ -810,30 +106,6 @@ songbook (v0.7) 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 @@ -846,23 +118,6 @@ songbook (v0.6) 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 @@ -875,52 +130,6 @@ songbook (0.5) 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 @@ -930,7 +139,6 @@ songbook (0.4) 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. diff --git a/utils/cover.sh b/utils/cover.sh deleted file mode 100755 index bfca9aee..00000000 --- a/utils/cover.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/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; diff --git a/utils/emacs-format-file.el b/utils/emacs-format-file.el deleted file mode 100644 index b5571c46..00000000 --- a/utils/emacs-format-file.el +++ /dev/null @@ -1,44 +0,0 @@ -;;; File: emacs-format-file.el -;;; Description: use this for batch indentation with emacs (see indent.sh) -;;; Author: Romain Goffe -;;; Date: 27/10/2010 -;;; Commentary: based on the work of Stan Warford (emacs-format-mode) and Scott Andrew Borton (indent-mode) - -(defun songbook-indent-line () - "Indent current line as SONGBOOK code." - (interactive) - (beginning-of-line) - (if (bobp) - (indent-line-to 0) ; First line is always non-indented - (let ((not-indented t) cur-indent) - (if (looking-at "^[ \t]*\\(\\\\end\\)") ; If the line we are looking at is the end of a block, then decrease the indentation - (progn - (save-excursion - (forward-line -1) - (setq cur-indent (- (current-indentation) 2))) - (if (< cur-indent 0) ; We can't indent past the left margin - (setq cur-indent 0))) - (save-excursion - (while not-indented ; Iterate backwards until we find an indentation hint - (forward-line -1) - (if (looking-at "^[ \t]*\\(\\\\end\\)") ; This hint indicates that we need to indent at the level of the END_ token - (progn - (setq cur-indent (current-indentation)) - (setq not-indented nil)) - (if (looking-at "^[ \t]*\\(\\\\begin\\)") ; This hint indicates that we need to indent an extra level - (progn - (setq cur-indent (+ (current-indentation) 2)) ; Do the actual indenting - (setq not-indented nil)) - (if (bobp) - (setq not-indented nil))))))) - (if cur-indent - (indent-line-to cur-indent) - (indent-line-to 0))))) ; If we didn't see an indentation hint, then allow no indentation - -(defun emacs-format-function () - "Format the whole buffer." - (set (make-local-variable 'indent-line-function) 'songbook-indent-line) - (indent-region (point-min) (point-max) nil) - (untabify (point-min) (point-max)) - (save-buffer) - ) diff --git a/utils/header-english b/utils/header-english deleted file mode 100644 index bed49cc7..00000000 --- a/utils/header-english +++ /dev/null @@ -1,13 +0,0 @@ -{ -"template" : "patacrep.tmpl", -"lang" : "english", -"bookoptions" : [ - "diagram", - "lilypond", - "pictures" - ], -"booktype" : "chorded", -"subtitle" : "English songs", -"picture" : "Music_by_Katie8594", -"title" : "Guitar Songbook", -"songs" : [ \ No newline at end of file diff --git a/utils/header-french b/utils/header-french deleted file mode 100644 index 68685567..00000000 --- a/utils/header-french +++ /dev/null @@ -1,10 +0,0 @@ -{ -"template" : "patacrep.tmpl", -"lang" : "french", -"subtitle" : "chanson francaise", -"bookoptions" : [ - "diagram", - "lilypond", - "pictures" - ], -"songs" : [ diff --git a/utils/header-last-volume b/utils/header-last-volume deleted file mode 100644 index 57e21525..00000000 --- a/utils/header-last-volume +++ /dev/null @@ -1,13 +0,0 @@ -{ -"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" : [ diff --git a/utils/indent.sh b/utils/indent.sh deleted file mode 100755 index 08584721..00000000 --- a/utils/indent.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -#Author: Romain Goffe -#Date: 27/10/2010 -#Descritpion: correctly indent all songs with emacs -#Commentary: can't manage to use a relative path to emacs-format-file.el -# so be sure to indicate the right path - -for song in songs/*/*.sg ; do - emacs -batch $song -l ~/songbook/utils/emacs-format-file.el -f emacs-format-function ; -done; diff --git a/utils/langbooks.sh b/utils/langbooks.sh deleted file mode 100755 index 4d90e93c..00000000 --- a/utils/langbooks.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/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" diff --git a/utils/language.sh b/utils/language.sh deleted file mode 100755 index d512fb88..00000000 --- a/utils/language.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/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; diff --git a/utils/last-volume.sh b/utils/last-volume.sh deleted file mode 100755 index b123e6e5..00000000 --- a/utils/last-volume.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/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" diff --git a/utils/make-html b/utils/make-html deleted file mode 100755 index f21775d4..00000000 --- a/utils/make-html +++ /dev/null @@ -1,119 +0,0 @@ -#!/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( ) -{ - 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 ''; diff --git a/utils/new-songs-list.sh b/utils/new-songs-list.sh deleted file mode 100755 index 8adb6696..00000000 --- a/utils/new-songs-list.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/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" diff --git a/utils/perms.sh b/utils/perms.sh deleted file mode 100755 index 9d5d6e24..00000000 --- a/utils/perms.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -#Author: Romain Goffe -#Date: 07/03/2012 -#Description: Check directories and files permissions - -chmod 755 songs/* -chmod 644 songs/*/*.* -chmod 644 lilypond/*.ly - -exit 0 \ No newline at end of file diff --git a/utils/release.sh b/utils/release.sh deleted file mode 100755 index 9f6e9d98..00000000 --- a/utils/release.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/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" diff --git a/utils/resize-cover.py b/utils/resize-cover.py deleted file mode 100755 index 1ce540f7..00000000 --- a/utils/resize-cover.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/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) diff --git a/utils/rules.py b/utils/rules.py deleted file mode 100755 index f86b8567..00000000 --- a/utils/rules.py +++ /dev/null @@ -1,276 +0,0 @@ -#!/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{} - ''' - 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\S)(?P[!?;:])","\g \g", string) - #... except for gtabs macros with capos - string = re.sub("(?Ptab.?{.*)\s:","\g:", 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("(?Ptab.?{.*)\s:","\g:", string) - #ensure no spaces after symbols ( - string = re.sub("(?P[\(])\s(?P\S)","\g\g", 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\S)\s(?P[!?;:\)])","\g\g", string) - #ensure no spaces after symbols ( - string = re.sub("(?P[\(])\s(?P\S)","\g\g", 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\S)\s(?P[!?;:\)])","\g\g", string) - #ensure no spaces after symbols ¿ ¡ ( - string = re.sub("(?P[¿¡\(])\s(?P\S)","\g\g", 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\S)\s{2,}","\g ", 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[A-Z])\.","\g", 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() diff --git a/utils/songbook-gtab.py b/utils/songbook-gtab.py deleted file mode 100755 index c957a8ca..00000000 --- a/utils/songbook-gtab.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/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()