Hdel qui marche pas

Résolu
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
-
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
-
Voila je realise un lecteur mp3 en ce moment et il y a un probleme
lorsque je ve supprimer un mp3 : il ne supprime pas la ligne de ma list
mais il la remplace par un blanc .



lorsque j'ajoute un mp3 :

if ($did == 3) {

var %a $$sfile(c:)

var %b 1

while ($hget(Mp3,%b)) {

if ($nopath(%a) == $ifmatch) { var %c dd }

inc %b

}

if (%c) { echo -a Tu ne peux
ajouter cette chanson car elle est deja dans ta playlist }

else {

inc %nb

var %artiste $$input(Nom :,e,Quel est le nom de l'artiste de la chanson)

Hadd -m mp3 %nb $nopath(%a)

Hadd -m chemin %nb %a

hadd -m artiste %nb %artiste

liste

}

}

on s'interesse juste au Hadd -m mp3 %nb $nopath(%a)

et lorsque le supprime un mp3 :

elseif ($did == 6) { hdel Mp3
$$did(2).sel | hdel artiste $did(2).sel | hdel Chemin $did(2).sel | dec
%nb | liste }



et l'alias liste :

alias liste {

did -r mp3 2

var %a 1

while ($hget(Mp3,%a).item) {

did -a Mp3 2 $hget(Mp3,%a)

inc %a

}

hsave Mp3 Mp3

}



l'id de ma list est 2 bien sur

Et donc quand je ve supprimer il remplace la chanson par un blanc j'vois pas pourquoi :$

35 réponses

Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Plutôt $inmidi.length, mais le problème est pas là, le truc c'est de connaître le durée de fichier sans l'écouter, afin de pouvoir mettre le temps dans une liste (ex: Titre Artiste Durée).

Et pour ton problème, je pense que le problème vient de $insong.fname, quand on a affaire avec un wav, il faut utiliser $inwave.fname. Normalement $wav retourne toujours les infos, pour n'importe quel type de fichier wave.

$inwave.* => .wav
$inmidi.* => .midi
$insong.* => .mp3/.wma
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Hum ouais ok mais j'ai essayé $wav($inwave.fname).format et cela ne me retourne rien :$
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Euh jviens de me rendre compte que jessayais avec un wma au lieu d'un wav dsl je ressaye. la fatigue...
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Hum² jviens de retester avec un .wma donc.

Et $wma($insong.fname).album devrait retourné quelquechose mais ... rien
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Faut regarder si $insong.fname marche avec des wma.
Car normalement $wma(fichier).album retourne quelque chose si le tag album du WMA a été rempli.
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
arf le tag album j'ai deja vu sa avec l'identifieur $mp3 mais le tag album c'est quoi ?
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

C'est juste le nom de l'album, si l'information album n'a pas été remplie, il est normal que le snippet retourne $null.
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Oui mais ou est ce que on rempli ce tag album ^^ ?
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Dans l'explorateur Windows, clique droit sur le fichier->Propriétés->Résumé->Avancé >>
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Hu ? Apres proprieté moi je ne peux pas aller dans "resumé"

J'ai win 98 Se :$
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Hum c bon en ouvrant winamp je peux configurer merci beaucoup pour tout :)
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Mais bizarement g verifier ds le tag et l'auteur exist mais

//echo -a $wma(C:\Mes documents\Mes fichiers reçus\Beatles 07 Yellow submarine).artist ne retourne rien

$wma(C:\Mes documents\Mes fichiers reçus\0Beatles 07 Yellow submarine.wma).artist non plus

J'comprend plus trop
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Euh oui, c'est normal $wma ne permet pas d'obtenir l'artiste et le titre.
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Ouais mais regarde ton alias :x

alias wma {

if (!$isfile($1)) return $null

bread $shortfn($1) 0 8192 &wma

if ($prop == genre) return
$chra($bvar(&wma,$calc($bfind(&wma,0,87 0 77 0 47 0 71 0 101 0
110 0 114 0 101 0 0 0) +22),60))

if ($prop == album) return $chra($bvar(&wma,$calc($bfind(&wma,0,87 0 77 0 47 0 65 0 108 0 98 0 117 0 109 0 84 0 105 0 116 0 108 0 101) +31),60))

if ($prop == year) return $chra($bvar(&wma,$calc($bfind(&wma,0,87 0 77 0 47 0 89 0 101 0 97 0 114) +20),60))

if ($prop == url) return
$chra($bvar(&wma,$calc($bfind(&wma,0,87 0 77 0 47 0 80 0 114 0
111 0 109 0 111 0 116 0 105 0 111 0 110 0 85 0 82 0 76) +36),60))

if ($prop == bitrate) return $gettok($chra($bvar(&wma,$calc($bfind(&wma,0,107 0 98 0 112 0 115)-9),60)),1,32)

if ($prop == sample) return $gettok($chra($bvar(&wma,$calc($bfind(&wma,0,107 0 98 0 112 0 115) +9),60)),1,32)

if ($prop == mode) return $gettok($chra($bvar(&wma,$calc($bfind(&wma,0,107 0 98 0 112 0 115) +25),60)),1-,32)

if ($prop == length) return $int($calc($calc($file($1).size /
$calc($calc( $gettok($chra($bvar(&wma,$calc($bfind(&wma,0,107 0
98 0 112 0 115) -9),60)),1,32) -2)/8) /1024 )))

return $1

}

le .album sert a retourner koi alors ?
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Oula la fatigue d'hier reprend le dessus artist != album dsl...