MP3 EN DIALOG ET INPUT

uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011 - 24 févr. 2009 à 22:04
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 - 25 févr. 2009 à 23:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49349-mp3-en-dialog-et-input

fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
25 févr. 2009 à 23:01
j'ai fais un tuto sur les lecteurs mp3 il peut y avoir des trucs intéressants :)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
25 févr. 2009 à 22:26
Mdr, comme j'ai essaye de lui faire comprendre, mais sans succes, ce n'est pas cette option qui a fait que ca marche, cette option sert simplement a t'indiquer quand tu utilise un identifiers qui n'existe pas (cette option bloque le code).J'ai donc suppose que tu avais mal utilise $scriptdir (une faute de frappe surement), ce qui est tres probablement le cas vu que tu m'a fais le meme coup quand on a teste en direct (avant que tu pete un cable).
Je te l'ai dis et je te le redis, au lieu de croire que je te descend dans les commentaires, dis toi plutot que je te montre ou ca ne vas pas, ta methode est tres tres mauvaise, c'est confirme par Uaip (3-4 seconde sur 10 fichier = ~50mo, imagine sur du 6go ?).
Je testerai pas ce soir, mais avant que je te donne la solution de la bonne methode, regarde les autre lecteurs mp3, beaucoup utilise mal $findfile et bcp de commentaire en parle.
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 20:08
mdr, bon non ca marche en faite il fallait que je fasse alt + r > option > identifiers warning , coche (merci wims)
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 20:05
J'ai du lui montrer pour qu'il me croye :(
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
25 févr. 2009 à 20:01
Je précise juste en effet que le chargement des fichiers est assez long, la fenêtre bloque mIRC pendant facilement 3, 4 secondes (alors que mon dossier ne contenait qu'une petite dizaine de musiques).
Pour ce qui est de "mal codé", je rajoute l'utilisation des hashtables, comme précisé dans mon commentaire plus haut. C'est donc la réflexion du code qu'il faudrait revoir. Mais pour l'optimisation syntaxique... je ne vois pas de gros points négatifs (pour ma part).
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
25 févr. 2009 à 19:47
Ben pour moi ou pour un autre, il existe des dizaines de lecteur mp3 et des mieux (tu confirme que ce que tu voulais dire, c'est que ton lecteur mp3 est donc le deuxieme meilleur du site ??), je suis pas negatif (mais je devrais, tres franchement), c'est une constatation en plus d'etre une critique.

Dis plutot que tu n'arrives pas a faire marcher $scripdir, parce que ca marche.
Je t'apporterai des solutions quand j'aurais teste, histoire de pas dire de connerie, mon precedent post etais plus une reponse general par rapport au autre commentaire, pas sur ta source (sauf le truc du $findfile qui m'a choque !)
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 19:39
eu wims, un mp3 de + pour toi pas pour tt le monde avant de le poser j'ai regarder sur le site sur 10 mp3 j'en est trouver qu'un qui était plus rechercher ne sois pas si négatif.. et tu dis ca et ca ne vont pas mais tu n'apporte aucune solution sur t'es critiques..
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 19:33
j'ai déjà dit, que quand je faisait ce que tu me dit wordDMT, mes bouttons et ma listview ne fonctionne plus.. lorsque avec dll/etc ou $mircdirdll/bla.dll ca marche pour moi mais avec $scriptdir ca ne marche pas.. donc j'vais pas changer un truc, qui ne marche pas pour moi.. Sauf si ca te fait plaisir :)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
25 févr. 2009 à 19:32
Il n'est pas oblige d'utilise $scriptdir, mais c'est plus que fortement conseille, simplement parce que ca laisse le choix a l'user pour teste/utilise le code.

$scriptdit retourne le repertoire ou se trouve le fichier du code.
$mircdir retourne le repertoire des setting de mirc.
Il se peut que ces repertoire soit les memes, ou non, mais ca ne doit rien changer au fonctionnement de ton code.

L'erreur de Uaip (error allocating memory) est juste une prevention, c'est mirc qui te dis qu'un alias se rapelle lui meme plusieurs fois et que ca finira par bouffer la memoire (la recursivite pur n'existe pas en mirc, pour des raisons un peu conne...).

J'ai pas teste le script, mais putain ce que c'est mal code, au lieu de stocker le chemin vers un fichier, tu stock simplement son repertoire et tu refais un $findfile a chaque /splay si j'ai pas trop lu en travers, c'est extremement mauvais, generalement les gens ont des dossiers de musique tres tres gros, surtout aujourdui.Je testerai p-e plus tard histoire de voir les options qu'il a, mais il me semble qu'il en manque pas mal, enfin ca fait un Nieme lecteur mp3 en plus, et il n'a rien de particulie :/...
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
25 févr. 2009 à 19:27
n'importe quoi :/
le $scriptdir conduit le chemin du fichier ou le script loadé donc meme si on met n'importe ou le dossier du code ça doit marcher

rien a y voir avec $mircdir c'est pas tout le monde qui connais comment trouvé le repertoir mIRC avec les versions 6.3+

ça doit etre avec $scriptdir

pour l'alias mdx utilise cette alias comme ça c'est mieu

alias -l mdx return $dll($qt($scriptdirdll/mdx.dll),$1,$2-)

utilisation dans init

mdx SetMircVersion $version
mdx MarkDialog $dname
mdx SetBorderStyle 3,4,5,10
mdx SetControlMDX 3,4,5 ToolBar flat nodivider list > $scriptdirdll\bars.mdx
ect..
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 19:17
uaip || wordDMT c bon maintenant pour ceux qui son sur xp ?
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 19:07
ouais mais quand je fait ca $qt($mircdirdll\bars.mdx) ca ne marche pas pour moi..
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 19:03
et moi sur vista le mp3 marche impéc bizzare ton soucis avec le drawsave
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 19:01
d'accord, merci (et si j'ai modif 3 fautes que tu m'avais dites) je corrige la suite now :)
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
25 févr. 2009 à 18:56
aucune * pardon.
C'est $scriptdir si le script a bien été chargé dans /scripts/ (ce qui devrait se faire). Or, rien à critiquer puisque tu as précisé que le script devait être chargé dans le répertoire racine de mIRC, donc c'est bien $mircdir.
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
25 févr. 2009 à 18:52
Salut,
En effet, ton alias devrait être :
alias mdx return $qt($scriptdirdll/mdx.dll)

Idem pour tous les fichiers dépendants de mdx :
dll $mdx SetControlMDX 14 statusbar sizeGrip > $scriptdirdll/bars.mdx
dll $mdx SetControlMDX 10 Trackbar tooltips size > $scriptdirdll/bars.mdx
dll $mdx SetControlMDX 3,4,5 ToolBar flat nodivider list > $scriptdirdll/bars.mdx
dll $mdx SetControlMDX 2 listview report showsel infotip grid nosortheader > $scriptdirdll/views.mdx

J'ai aussi un problème d'affichage : aucune icone ne s'affiche.

Autre problème, lorsque je lis une musique :
* /drawsave: error allocating memory (line 30, mp3.mrc)
-
* /drawsave: error allocating memory (line 30, mp3.mrc)
-
* /drawsave: error allocating memory (line 30, mp3.mrc)
-
* /drawsave: error allocating memory (line 30, mp3.mrc)
-
* /drawsave: error allocating memory (line 30, mp3.mrc)
-
* /drawsave: error allocating memory (line 30, mp3.mrc)
-
* /drawsave: error allocating memory (line 30, mp3.mrc)

etc... boucle infinie (et aucun son ne sort de mes enceintes).

Ensuite, petite remarque :
if ($hget(mp3,mp3echo)) did -c $dname 37
if ($hget(mp3,mp3rien)) did -c $dname 38
if ($hget(mp3,mp3msg)) did -c $dname 39
Vu que lorsqu'on clique, après, les checkboxes sont disabled, alors autant le faire dès le début, avec -cb au lieu de -c, puis tes 3 lignes se résument en 1 : ça ne sert à rien de rentrer 40 items dans la hashtable simplement pour un booléen, ici par exemple, au lieu d'avoir les items mp3echo, mp3rien et mp3msg, il suffit d'avoir 1 seul item, par exemple mp3Check et de lui affecter les valeurs "mp3echo", "mp3rien" ou "mp3msg". Ca réduit par 3 la mémoire allouée pour la hashtable.

Enfin, aucun des fautes d'orthographe n'a été corrigée.
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 18:52
en faite avec $scriptdir ca me retourne le chemin jusquau dossier "scripts" c'est pour ca que sa ne marche pas pour moi :/
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 18:47
voila, j'ai mis $mircdir a la place ($scriptdir), car moi ca ne marche pas sur mon pc quand je le fait avec $scriptdir a savoir pourquoi...
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
25 févr. 2009 à 16:34
et le $scriptdir?? t'a pas utilisé

attention déjà dit sur d'autre source, le repertoire $mircdir des versions 6.3+ sont different des autres versions et ça va tjr faire que ton code ne foctionne pas


@+
Vor4x Messages postés 11 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 13:58
Merci pour vos commentaires, j'ai mis a jour ma source :)
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
25 févr. 2009 à 10:57
salut
tjr pas de consideration de $scriptdir et c'est ce qui va faire trouble pour l'execution de ton code

il faut utilisé $scriptdir sinon ton code va pas fonctionné voilà déjà uaip n'a pas put testé

exp sur

alias mdx return dll\mdx.dll

tu dois faire

alias mdx return $qt($scriptdirdll\mdx.dll)

$qt est aussi important car si il y a dans le repertoir un dossier avec 2 mots separé fera trouble


pour alias loadbuf.mp3 est mal faite car si le dossier contien des fichier images ou autre on les trouvera dans la playlist c'est moche!!

et pour les $findfile en cascade si le dossier est costo ça va bugué

le chemin je ne vois pas l'interet met juste le titre genre duré

pour /splay $token($token($did(2).seltext,6-,32),1,9) si le nom de la musique est ecrit en chinois ou arabe ou autre format non supprté par le lecteur

le lecteur va lire en tant que ??? ?????.mp3 là il n'y a pas de ??? ????.mp3 donc un msg d'erreur

bon le reste j'ai pas trop regardé si je vois autre chose entre temp je te dirais :)

bonne continuation


@+
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
24 févr. 2009 à 22:04
Salut,
Au niveau du code, je ne vois pas trop quoi dire, mise à part quelques petites fautes d'orthographe : "addon bien chargé" et non "charger", "aucun info n'est disponible" et non "aucune infos est disponible", "Vous n'avez pas cliqué sur la liste [...] aucune musique ne peut se lire" et non "Vous n'avez pas cliquer sur la list [...] aucune musique ne peut ce lire", "Lire la musique sélectionnée" et non "selectionner".

Sinon, je ne vois pas d'erreurs ni d'absurdité dans le script, donc bon boulot de ce niveau là.

Cependant (en jouant le nigaud), dès le chargement de l'addon (sans toucher à tes dossiers ni rien), je vois ceci :
* /hload: unable to open file 'C:\***\mIRC\data\data.txt'
En effet, tu fais hload data data\data.txt alors qu'il n'y a aucun dossier "data" dans tes fichiers.
Puis quand j'ouvre le dialog (/mp3) :
* /dll: unable to open file 'C:\***\mIRC\dll\mdx.dll' (line 19, mp3.mrc)
Tu ne fais aucune allusion à mdx dans ta description, et (toujours en jouant le nigaud) je ne sais pas ce que c'est.

Bref, même en rajoutant mdx à ton projet, je ne sais pas ce que contient data.txt, je ne peux donc pas tester le mp3.
Une petite mise à jour s'impose ;)