Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/09/2012, à 10:49

thurston

[INFO] Script de synchronisation contenu musical à player de TOUT type

Bonjour

Ce post est un "mémoire" et présente des infos, et ne demande pas d'aide en particulier. Peut être aidera t il une tierce personne qui se pose les mêmes questions et l'orientera t il alors vers les bons posts.
J'ai eu l'idée d'un script qui me permette de gérer les lecteurs mp3 d'une famille (4 enfants de 3 à 10 ans + ma femme non experte en informatique).

L'idée est:

  1. de pouvoir utiliser n'importe quel outil musical (création de m3u) ou non (folder ou files) pour la sélection de contenu

  2. utiliser un fichier texte global qui renferme les owners + leurs préférences + leur sélections, fichier utilisé à chaque synchro

  3. compresser la musique une fois pour toute, à la première demande, en la stockant compressée et en attente d'utilisation

  4. synchroniser les players des uns des autres au regard de l'owner du player pour aller chercher ses sélections, qui peuvent soit faire appel à:

    • fichiers directement

    • folders complets

    • listes m3u
      et important

    • avec la possibilité de concaténer tout type d'origine (file + folder + m3u)

    • avec la possibilité de séparer en répertoire spécifique sur le player
      ex: speed.m3u + pop.m3u > Player/rapide et, dans la même synchro, zen.m3u + /cool/ > Player/lent/

    • le type de player utilisé pour organiser la musique en optimisant son stockage

Mon expérience/vécu
Les infos que je peux donner sur le sujet (mon script fait 1200 lignes environ, et n'a pas je pense d'intérêt à être posté en vrac):

  • Un player mp3 gerant les tags ne demandent pas d'attention quant au stockage et à la manipulation de la source à la destination

  • Un player très basique à navigation par folder only mais à forte capacité (carte uSD) est très problématique, si le choix de lecture n'est pas l'aléatoire (car-player, china-low cost player...). Il faut en effet faire face à 2 fortes limitations habituelles

    • L'afficheur très limité: 16 char voire moins

    • La navigation dans 200 ou 300 folders devient vite un cauchemar.

Mes choix:

  • rsync pour la synchronisation d'une structure à chaque fois ré-écrite en lien dur dans un répertoire temp (en fonction des préférences). Ce choix était judicieux je trouve pour ré-utiliser les fichiers déjà compressés et dispo et les réarranger, voire les renommer si besoin pour les réutiliser à dessein pour synchro avec le contenu du player.

  • une navigation folder sous la forme (important pour les navigation par folder only)
    /media/player/MUSIC/genre/artiste/YYYY-album/song.mp3
    /media/player/selection/artiste/YYYY-album/song.mp3
    sélection représente alors une envie d'un type de musique: zen, speed avec le contenu qui suit.
    ou encore pour certains players très limité (ARCHOS 10B)
    /media/player/selection/artiste.song.mp3

  • Une structure adaptée si trop nombreux répertoires
    (100 artistes sous le même genre demande 50 clics pour accéder au centre, quand on peut réduire la distance à 10 clics ( en subdivisant les 100 artistes en 10 sous folders ce qui donne une distance max de (<>) 5 + 5(^v)  2 sens autorisés) avec une structure auto adaptative)

  • Une navigation faisant appel à un naming des fichiers et folders adaptés à des display low char, et donc à un compactage fort artiste(8)-title(7) (dans le cas d'un display 16 char only)

  • Une interface zenity qui lance la synchro (owner + player connecté détecté) automatiquement (ou pas, avec possibilités de synchroniser en manuel)

Le résultat est splendide (toute la famille est contente)

  • on fait les playlist sur ario ou quodlibet (playlist automatique possible)

  • on fait (moi) une fois pour toutes le fichier de correspondance entre owner et preferences

  • chaque owner connecte son lecteur mp3 recensé, appuie sur une icone et zou.

Le gros + par rapport à n'importe quel soft dispo (j'ai pas regardé ce qui existait à vrai dire) concerne les players à navigation par folder only et se situe sur

  • la gestion des display low char, et la navig par folder adapté au player.
    (mon car player a retrouvé mes grâces dans les déplacements dans les folders)

  • la gestion intelligente de plusieurs milliers de mp3

"Mon" script repose pour les partie les plus avancées (et les plus utiles) sur les contributions de 2 personnes à qui je voudrais rendre "hommage", en rassemblant leur efforts ci dessous

  1. pingouinux
    [RESOLU] Compacter une phrase complète pour low char display

  2. sputnick
    [RESOLU]Compacter un répertoire avec de nombreux sous répertoires

J'ai également utilisé ce post pour des problèmes d'affichage retrouvant dans les liens des contenus les infos minimale à destination de l'utilisateur pour rendre plus facile le choix.
[RESOLU] Aide sed awk et printf pour chaîne char à manipuler

Merci donc au forum et à pingouinux & sputnick, je suis un fan absolu de musique (alternative) avec plusieurs milliers de CD numérisés et autres digital songs prises (gratuites) sur bandcamp, et ce script change ma vie.
A+
T

PS:
(je recommande au fait le player SANDISK SANSA CLIP ZIP, assez merveilleux - navigation par tag)
si moins d'argent, j'ai utilisé beaucoup le MPMAN30WOM (carte micro sd) à 10 euros nécessitant alors le script

exemple de structure obtenu par le script et les astuces développées dans les post ci dessus

tree /media/virtualmp3/TEST
/media/virtualmp3/TEST
├── Alternative.Rock
│   └── Free.Kitten
│       ├── Fre.Kitt-1.10.mp3
│       ├── Fre.Kitt-Ala.Lic.mp3
│       ├── Fre.Kitt-Bananas.mp3
│       ├── Fre.Kitt-Billboa.mp3
│       ├── Fre.Kitt-Bli.Fes.mp3
│       ├── Fre.Kitt-Bou.Boy.mp3
│       ├── Fre.Kitt-Cal.Bac.mp3
│       ├── Fre.Kitt-Cleopat.mp3
│       ├── Fre.Kitt-Coc.The.mp3
│       └── Fre.Kitt-Dad.Lon.mp3
└── Noise
    ├── A-H
    │   ├── Ada.Fran.Bol.Mel
    │   │   ├── Ada.Fran-Car.Cit.mp3
    │   │   ├── Ada.Fran-Guernic.mp3
    │   │   ├── Ada.Fran-I.Mecha.mp3
    │   │   ├── Ada.Fran-I.Right.mp3
    │   │   ├── Ada.Fran-Lor.Was.mp3
    │   │   ├── Ada.Fran-Mar.Gun.mp3
    │   │   ├── Ada.Fran-She.Clo.mp3
    │   │   └── Ada.Fran-Sin.Shi.mp3
    │   ├── Adam.Franklin
    │   │   ├── Ada.Fran-Aut.Lea.mp3
    │   │   ├── Ada.Fran-Big.Sur.mp3
    │   │   ├── Ada.Fran-Birdson1.mp3
    │   │   ├── Ada.Fran-Birdson.mp3
    │   │   ├── Ada.Fran-Bir.Moo.mp3
    │   │   ├── Ada.Fran-Bol.Mel.mp3
    │   │   └── Ada.Fran-Can.Isl.mp3
    │   └── Heavy.Blanket
    │       ├── Hea.Blan-Blockhe.mp3
    │       ├── Hea.Blan-Cor.Thr.mp3
    │       ├── Hea.Blan-Dr.Mart.mp3
    │       ├── Hea.Blan-Gal.Unk.mp3
    │       ├── Hea.Blan-No.Tell.mp3
    │       └── Hea.Blan-Spi.The.mp3
    ├── J-M
    │   ├── Jay.Mascis
    │   │   ├── Jay.Masc-A.Littl.mp3
    │   │   ├── Jay.Masc-Amm.Wha.mp3
    │   │   ├── Jay.Masc-Hea.Nan.mp3
    │   │   ├── Jay.Masc-Hel.Amm.mp3
    │   │   ├── Jay.Mascis-Can.I.mp3
    │   │   ├── Jay.Masc-Is.Done.mp3
    │   │   ├── Jay.Mascis-Lokah.mp3
    │   │   ├── Jay.Masc-I.Think.mp3
    │   │   └── Jay.Masc-Lea.Pla.mp3
    │   ├── Jay.Masc.The.Fog
    │   │   ├── Ja.Mas.Th-Bobbin.mp3
    │   │   ├── Jay.Masc-All.Gir.mp3
    │   │   ├── Jay.Masc-Ammarin.mp3
    │   │   ├── Jay.Masc-Bac.Bef.mp3
    │   │   ├── Jay.Masc-Can.Sto.mp3
    │   │   ├── Jay.Masc-Can.Tak.mp3
    │   │   ├── Jay.Masc-Doe.Kis.mp3
    │   │   ├── Jay.Masc-Eve.Let.mp3
    │   │   ├── Jay.Masc-Freedom.mp3
    │   │   ├── Jay.Masc-Fre.Fre.mp3
    │   │   ├── Jay.Masc-Gro.You.mp3
    │   │   └── Jay.Masc-I.Fine.mp3
    │   └── Magnetic.Morning
    │       ├── Magn.Mor-And.Won.mp3
    │       ├── Magn.Mor-At.Cros.mp3
    │       ├── Magn.Mor-Athen.5.mp3
    │       ├── Magn.Mor-Col.Cla.mp3
    │       ├── Magn.Mor-Col.Kid.mp3
    │       ├── Magn.Mor-Com.Bac.mp3
    │       ├── Magn.Mor-Don.Dre.mp3
    │       └── Magn.Mor-Ind.Sum.mp3
    └── P-T
        ├── Pixies
        │   ├── Pixies-Alec.Eiff.mp3
        │   ├── Pixies-Bai.s.Wal.mp3
        │   ├── Pixies-Bi.Dr.Oly.mp3
        │   ├── Pixies-Bone.Mach.mp3
        │   ├── Pixies-Bre.My.Bo.mp3
        │   ├── Pixies-Bri.Is.Re.mp3
        │   ├── Pixies-Brok.Face.mp3
        │   ├── Pixies-Buil.High.mp3
        │   ├── Pixies-Cactus.mp3
        │   ├── Pixies-Caribou.mp3
        │   ├── Pixies-Crac.Jone.mp3
        │   ├── Pixies-Dan.Th.Ma.mp3
        │   ├── Pixies-Dead.mp3
        │   ├── Pixies-Debaser.mp3
        │   ├── Pixies-Dis.Eq.Ti.mp3
        │   ├── Pixies-Ed.Is.Dea.mp3
        │   ├── Pixies-Evil.Hear.mp3
        │   ├── Pixies-Gigantic.mp3
        │   ├── Pixies-Goug.Away.mp3
        │   ├── Pixies-Head.On.mp3
        │   ├── Pixies-He.Com.Yo.mp3
        │   ├── Pixies-Hey.mp3
        │   ├── Pixies-I.Bee.Tir.mp3
        │   ├── Pixies-I.Bleed.mp3
        │   ├── Pixies-I.m.Amaze.mp3
        │   ├── Pixies-In.Th.Whi.mp3
        │   ├── Pixies-Is.De.Enc.mp3
        │   ├── Pixies-La.Lov.Yo.mp3
        │   ├── Pixies-Le.To.Mem.mp3
        │   ├── Pixies-Levita.Me.mp3
        │   ├── Pixies-Lovel.Day.mp3
        │   ├── Pixies-Mo.Go.Hea.mp3
        │   ├── Pixies-Mot.To.Ro.mp3
        │   ├── Pixies-Mr.Grieve.mp3
        │   ├── Pixies-N°.13.Bab.mp3
        │   ├── Pixies-Nim.s.Son.mp3
        │   ├── Pixies-Oh.My.Hol.mp3
        │   ├── Pixies-Pal.Th.Br.mp3
        │   ├── Pixies-Pla.Of.So.mp3
        │   ├── Pixies-Rive.Euph.mp3
        │   ├── Pixies-Silver.mp3
        │   ├── Pixies-Som.Ag.Yo.mp3
        │   ├── Pixies-Space.mp3
        │   ├── Pixies-Subbacult.mp3
        │   ├── Pixies-Tame.mp3
        │   ├── Pixies-The.Fr.Na.mp3
        │   ├── Pixies-The.Go.Gu.mp3
        │   ├── Pixies-The.Thing.mp3
        │   ├── Pixies-Th.Hol.So.mp3
        │   ├── Pixies-Th.Nav.Kn.mp3
        │   ├── Pixies-Th.Sa.Pun.mp3
        │   ├── Pixies-Ton.s.The.mp3
        │   ├── Pixies-Tro.le.Mo.mp3
        │   ├── Pixies-U.Mass.mp3
        │   ├── Pixies-Vamos.II.mp3
        │   ├── Pixies-Vamos.mp3
        │   ├── Pixies-Wa.Of.Mut.mp3
        │   ├── Pixies-We.At.Sch.mp3
        │   └── Pixies-Whe.Is.Mi.mp3
        ├── Sebadoh
        │   ├── Sebadoh-All.Kind.mp3
        │   ├── Sebadoh-Arbi.Hig.mp3
        │   ├── Sebadoh-I.Dont.mp3
        │   ├── Sebadoh-Kee.Aliv.mp3
        │   └── Sebadoh-My.Drugs.mp3
        └── Toshack.Highway
            ├── Tosh.Highw-Theme.mp3
            ├── Tos.High-Bel.Tra.mp3
            ├── Tos.High-Boa.Bul.mp3
            ├── Tos.High-Can.Isl.mp3
            ├── Tos.High-Can.Row.mp3
            ├── Tos.High-Cou.Gra.mp3
            ├── Tos.High-Eve.Sav.mp3
            ├── Tos.High-Har.Cop.mp3
            ├── Tos.High-I.Felli.mp3
            ├── Tos.High-I.Thoug.mp3
            └── Tos.High-Jus.Lan.mp3

Dernière modification par thurston (Le 03/09/2012, à 20:41)

Hors ligne