SOUNDS MANAGER PERSONALISABLE

cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 - 29 avril 2006 à 21:19
Clrore Messages postés 10 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 11 mai 2008 - 4 mai 2008 à 16:50
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/37330-sounds-manager-personalisable

Clrore Messages postés 10 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 11 mai 2008
4 mai 2008 à 16:50
ah ouais, effectivement,
inattention, erreur et boulette de ma part.. :/

Sinon, je maintiens ce que j'ai dit : excellent ce code ^^
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
4 mai 2008 à 16:34
j'ai vérifié j'ai tellement scripté d'autres trucs que je l'ai laissé tel quel encore ce code.... je vais m'y remettre ^^'
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
4 mai 2008 à 16:02
effectivement ^^'
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
4 mai 2008 à 15:56
Hum en fait /sounds n'est pas censé mettre les son sur on, c'est /sound sans "s", donc il n'y a rien a changé, faut juste savoir tapé les bonnes commandes =]
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
4 mai 2008 à 15:18
tient mon code ressurgit du placard,je me rappel même plus si je l'ai finis optimisé,je vais jeter un oeil...

C'est vrai que j'avais pas fais attention à ce détail comme ne pas mettre un nom d'alias qui corresponde déja à une option mirc...
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
4 mai 2008 à 00:16
change le nom de l'alias ligne 121, remplace sounds par smp et tape /smp :)
Clrore Messages postés 10 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 11 mai 2008
4 mai 2008 à 00:04
* Sound requests are on

voilà tout ce qui s'affiche dans la fenetre de texte...
je n'ai pas la fenetre de configuration de sons comme sur
le screenshot de l'auteur du code....
autres pistes s'il vous plait ?
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
3 mai 2008 à 23:02
Suffit de taper /sounds dans une editbox de mirc (là ou tu écris)
Clrore Messages postés 10 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 11 mai 2008
3 mai 2008 à 22:38
ça très prometteur, vraiment.

Je vais passer pour un... naze... mais... comment on fait apparaitre la fenetre de configuration des sons une fois le code copié dans 'remote' s'il vous plait ?

( je sais, plus noob que moi.... y a pas )
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
8 mai 2006 à 14:03
ha bin effectivement nickel chrome ca marche , merci à toi je viens d'apprendre une autre variable bien pratique pour racourcir encore mon code RCA arKanis ;o)
Je continue ma quête du code le + court possible pour cet addon :p
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
8 mai 2006 à 11:51
pas de while pour ça à mon avis :
if ($did isnum 113-122) { splay %sound [ $+ [ $calc($did - 112) ] ] }

ta ligne $did($dname,%f) splay $($+(%,sound,%g),2) ne veut rien dire ^^
le premier mot de chaque ligne, c'est le nom de la fonction qu'elle utilisera. Sur cette ligne, c'est un nombre ...

en plus tu as alias splay, alors que cet alias est déjà utilisé par mIRC ...
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
8 mai 2006 à 10:34
arf rien a faire j'ai beau tester dans tous les sens je n'arrive pas à remplacer le reste des variables par des whiles pourtant je reprend le même principe que au dessus mais je bloque ca me renvoi des erreurs.

if ($did == 113) { splay %sound1 }
if ($did == 114) { splay %sound2 }
if ($did == 115) { splay %sound3 }
if ($did == 116) { splay %sound4 }
if ($did == 117) { splay %sound5 }
if ($did == 118) { splay %sound6 }
if ($did == 119) { splay %sound7 }
if ($did == 120) { splay %sound8 }
if ($did == 121) { splay %sound9 }
if ($did == 122) { splay %sound10 }

je remplace par :

alias splay {
var %f 113 ,%g 1 ,%h = 122
while (%f <= %h) {
$did($dname,%f) splay $($+(%,sound,%g),2)
inc %f
inc %g
}
}
et autres variantes genres : $did($dname) %f - $did($dname),%f) etc , j'ai que des erreur de invalides parameters et unknow commands >< , le principe étant le même à part l'action à effectuer (jouer le son correspondant) rien à faire je trouve pas , j'ai capté le principe des whiles mais pas encore bien l'application des placements et noms des variables à mettre pour que ca marche , genre ou mettre exactement les () et les % et les , =(
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
6 mai 2006 à 18:35
bon j'entame la conversion des autres variables selon le même principe , je me tape des erreurs a gogo mais je persever lol , dur dur
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
5 mai 2006 à 10:29
j'avais compris que mirc collait pas la variable mais je galerais sur le système de $+ qui ne prenait pas en compte non plus , éffectivement j'aurais du penser à faire une variable sous la forme $($+(%,sound,%b),2) ... je vais voir ca merci à toi de m'aider à faire avancer mon shmilblik wims ;o)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
3 mai 2006 à 20:12
Bah en regardant bien, tu aurai vu que mirc ne collait pas la variable %b et donc qu'il affichait %sound et %b dans l'id.
Comme %sound n'existe pas il te met juste %b
Remplace did -a $dname %a %sound $+ %b par did -a $dname %a $($+(%,sound,%b),2) ...
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
1 mai 2006 à 20:50
oui voila ce que ca m'affiche dans le dialogue ( j'ai pas oublié les accolade) :

http://lebaronrouge1.free.fr/lol/sounderor.png

il m'affiche des chiffre au lieu du nom du son selectionné dans les id
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
1 mai 2006 à 20:31
bah il manque l'accolade } qui ferme la while mais sinon ca devrait marcher, ya des erreurs ?
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
1 mai 2006 à 20:09
j'ai viré la colonne que j'ai c/c la au dessus pour mettre a la place le code que tu proposait pour tester , a savoir :

var %a 43 ,%b 1 ,%c = 52
while (%a <= %c) {
did -a $dname %a %sound $+ %b
inc %a
inc %b

j'ai bien compris le principe de l'incrémentation via le var et le while qui le fait fonctionner je dois merde juste sur la mise en pratique mais bon je débute en while la :)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
1 mai 2006 à 19:59
euh tu a remplacé tout tes did -a par quoi dans l'init ?
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
1 mai 2006 à 17:25
parce que la ca me renvoi dans chaques id un chiffre qui va de 1 a 10 au lieu de m'afficher le nom du son sété par la selection lors de l'affichage du dialogue :s
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
1 mai 2006 à 17:01
did -a $dname 43 %sound1
did -a $dname 44 %sound2
did -a $dname 45 %sound3
did -a $dname 46 %sound4
did -a $dname 47 %sound5
did -a $dname 48 %sound6
did -a $dname 49 %sound7
did -a $dname 50 %sound8
did -a $dname 51 %sound9
did -a $dname 52 %sound10
correspondent à l'init du dialogue , on peut utiliser directement des while dans un init de dialogue??? ou faut faire un alias?
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
1 mai 2006 à 16:54
id du code réorganisé arkanis ;)
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
1 mai 2006 à 14:51
ha bin oui mais la j'ai déja du mal alors je vais y aller petit hein ;)puis uen fois que j'aurais réussis à optimiser ce code ci avec les while je pourrais faire de même aux autres de mon script qui conteitn pas mal de code long et répétitif comme celui-ci , et que je voudrais donc optimiser aussi au maximum :)
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
1 mai 2006 à 12:54
pas forcement croissant
et les deux bornes peuvent varier toutes les deux

on pourrait très bien avoir :
var %a 1, %b 10
while %a <= %b {
inc %a
dec %b
}

voir même aucune incrémentation :
var %ok = 1
while %ok {
if (condition) { ... }
else unset %ok
}

des boucles infinies existent, mais elles font planter ton mIRC (hehe :D) t'en feras un jour, t'inquiètes pas :)
fais ctrl + pause pour stopper ton code avant que mIRC ne soit planté

après, t'auras aussi des boucles dans des boucles (qui elles même peuvent être dans des boucles :D)
enfin bref, c'est vraiment un outil très important et utile, faut absolument t'y mettre si tu veux faire de beaux codes rapides et courts
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
1 mai 2006 à 12:36
ok donc en fait on peut utiliser plusieur var dans la même boucle tant que celles ci se suivent dans un ordre croissant corect et s'incrémentent donc au fur et à mesure de la boucle afin de passer de la premiere à la suivante et ceci jusque la derniere :)
Merci à toi de consacrer de ton temps à m'aider c'est très bien expliqué (pas comme mac abber et son commentaire aussi constructif et utile qu'un frigidaire au pôle nord).
Je vais donc m'atteler à mettre ton aide en pratique (faut que j'y arrive ca me servira grandement), encore merci ;o)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
30 avril 2006 à 22:29
Le but de l'optimisation c'est d'avoir les id ds l'ordre pour pouvoir boucler. je te detaille le code si tu veux :

;on déclare la var %a qui est egal au premier id ou l'on va boucler
;on déclare la var %b qui sera la var utilisé pour %sound
;on déclare la var %c qui définis la fin de la boucle
var %a 43 ,%b 1 ,%c = 52
;tant que %a <= %c ( au debut tant que 43 <= 52 donc )
while (%a <= %c) {
;on ajoute l'info corespondante
did -a $dname %a %sound $+ %b
;on incremente %a pour qu'il arrive jusqu'a "tant que 53 <= 53
inc %a
;on incremente %b car on l'utilise pour afficher les differente variable %sound
inc %b
}

Il te suffit juste de placer les id qui recoive le meme traitement avec seulement un parametre de difference dans l'ordre
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
30 avril 2006 à 20:38
merci a toi wims pour ce coup de main constructif,je vais tenter d'optimiser comme ca mais faut déja que je comprenne que sont les %a %c %b 1 , car la c'est un peu chinois même si j'ai tout à fait compris le principe qui permet d'obtenir la même chose que mon code mais en évitant de repeter chaque long bout de code pour chaque mêmes actions ;)
Mc_AbBeR Messages postés 301 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 19 février 2007
30 avril 2006 à 19:18
Les couleurs sont moches.. Ton code est beaucoup trop long, apprend les picwin :)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
30 avril 2006 à 16:11
ON *:op:#:{
if ($opnick $me) && (%soundf on) {
.splay %sound6
}
}

devient : on *:op:#:if (($opnick == $me) && (%soundf)) .splay %sound6

devient on *:op:#:if ($opnick == $me && %soundf) .splay %sound6
:x

Pour optimiser ton code tu devrai réorganiser tout tes id, comme ca sur un sclick au lieu de vérifié 20 fois ou ta cliké tu fait tj la meme action en remplacant le dernier parametre

par exemple ici :

# did -a $dname 43 %sound1
# did -a $dname 44 %sound2
# did -a $dname 45 %sound4
# did -a $dname 46 %sound3
# did -a $dname 47 %sound6
# did -a $dname 48 %sound5
# did -a $dname 49 %sound8
# did -a $dname 50 %sound7
# did -a $dname 51 %sound10
# did -a $dname 52 %sound9

fait en sorte que %sound1 corresponde a l'id 43 et %sound10 a l'id 52 et ca donne
var %a 43 ,%b 1 ,%c = 52
while (%a <= %c) {
did -a $dname %a %sound $+ %b
inc %a
inc %b
}

c'est le meme principe ici :

# if ($did == 96) { splay %sound1 }
# if ($did == 114) { splay %sound2 }
# if ($did == 115) { splay %sound3 }
# if ($did == 116) { splay %sound4 }
# if ($did == 117) { splay %sound5 }
# if ($did == 118) { splay %sound6 }
# if ($did == 119) { splay %sound7 }
# if ($did == 120) { splay %sound8 }
# if ($did == 121) { splay %sound9 }
# if ($did == 122) { splay %sound10 }

et egalement le meme ici

# if ($mouse.x isnum 140-210 && $mouse.y isnum 40-60) {
# did -r $dname 43 | unset %sound1 {
# set %sound1 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 43 %sound1
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 70-90) {
# did -r $dname 44 | unset %sound2 {
# set %sound2 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 44 %sound2
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 100-120) {
# did -r $dname 46 | unset %sound3 {
# set %sound3 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 46 %sound3
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 130-150) {
# did -r $dname 45 | unset %sound4 {
# set %sound4 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 45 %sound4
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 160-180) {
# did -r $dname 48 | unset %sound5 {
# set %sound5 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 48 %sound5
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 195-215) {
# did -r $dname 47 | unset %sound6 {
# set %sound6 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 47 %sound6
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 225-245) {
# did -r $dname 50 | unset %sound7 {
# set %sound7 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 50 %sound7
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 265-285) {
# did -r $dname 49 | unset %sound8 {
# set %sound8 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 49 %sound8
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 295-315) {
# did -r $dname 52 | unset %sound9 {
# set %sound9 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 52 %sound9
# }
# }
# if ($mouse.x isnum 140-210 && $mouse.y isnum 325-345) {
# did -r $dname 51 | unset %sound10 {
# set %sound10 $$sfile( sounds\*.mp3, Choix du son, add) | did -a $dname 51 %sound10
# }
# }
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
30 avril 2006 à 15:37
ok c'est fait j'ai compris le principe me reste à reussir la mise en oeuvre par rapprt à mon code la c'est pas gagné :s
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
30 avril 2006 à 15:19
bien sûr :
/help /while
peut-être que de connaître la traduction de while t'aiderait : tant que

sinon regarde des sources sur ce site, pas mal utilisent des boucle while
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
30 avril 2006 à 14:29
voila qui est fait ;)

Je suis partant pour apprendre encore a l'optimiser et jeter un oeil au while comme conseillé par sorndrixer , mais je n'y connais rien à ca, un peu d'aide? :)
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
30 avril 2006 à 14:22
rha mince j'ai pas posté le bon ><
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
30 avril 2006 à 13:39
t'en as oublié plein.
par ex :
ON *:op:#:{
if ($opnick $me) && (%soundf on) {
.splay %sound6
}
}

devient : on *:op:#:if (($opnick == $me) && (%soundf)) .splay %sound6

pareil avec les autres
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
30 avril 2006 à 13:04
voila c'est fait arkanis ;) merci , autres propositions d'optimisations bienvenues :)
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
30 avril 2006 à 11:41
remplace tes set %soundc on par set %soundc 1
tes if ( %soundd == off ) par if (!%soundd)
tes elseif ( %soundh == on ) par elseif (%soundh) voir par else { ... }
tes if (%soundi == on) par if (%soundi) ...
cs_lebaronrouge Messages postés 288 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 14 février 2009
30 avril 2006 à 10:55
Merci pour vos commantaires :)
SornDrixer je suis conscient que le coté couleur peut ne pas plaire à tout le monde mais bon un dialogue classique je trouve ca triste.
Pour l'optimisation du code je ne demande qu'à apprendre , les /while je ne maitrise pas du tout encore malheureusement. Un petit exemple que je fasse une maj? ;)
Arkanis je ne saisis pas : "pense pour tes variables %soundi, %soundf, etc ... d'utiliser 1 et 0, c'est bcp plus court" ???
Quand au choix limité à 10 events , j'aurais pus biensur ajouter des emplacements libres de choix pour y entrer ce que l'on veut selon ses gouts , mais en dehors de ces 10 events je ne vois pas trop lesquelles? hormis sil l'on veut par exemple pouvoir faire réagir ce code sur des pseudos ou mots choisis de facon personnelles :)
Mon but étant avant d'apprendre c'est pour cette raison que j'ai posté en débutant et je serais ravis d'optimiser ce code en apprenant comment :)
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
30 avril 2006 à 00:32
ça dépend pour qui...
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
29 avril 2006 à 23:46
ben, une solution serait de faire fabriquer ton code à l'aide d'un autre code
tu fais écrire dans un fichier que tu load après. Ca reste très largement abordable
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
29 avril 2006 à 23:38
un petit combo avec le choix de l'event, ça c'est du concept ;-)
un pb: il serait impossible de créer un code "universel" (pas possible de faire un on *:%var:)
Pas grand chose à dire à part que j'ai rarement vu un dialog aussi laid !
Le code pourrait également être réduit de moitié (les boucles voyons!)
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
29 avril 2006 à 23:31
RCA ArKanis : et il y a que 10 events dans mIRC ? ;) on devrait pouvoir associer l'event de NOTRE CHOIX au son de notre choix, et ne pas être limit à 10 events pré-choisi.
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
29 avril 2006 à 22:31
sorn, les 10 sons, ce sont parce qu'il y a 10 events (highlight, ...)

m'enfin c'est vrai, le code est très long alors qu'il se répète souvent

les if ($nick == Barman), t'aurais pu les zapper quand tu as collé ici :/

pense pour tes variables %soundi, %soundf, etc ... d'utiliser 1 et 0, c'est bcp plus court
tes if (%variable == on) deviendront if (%variable), et tes if (%variable != on) deviendront if (!%variable)

du coup, t'aurais set %variable 1 et set %variable 0 (voir unset %variable)

plutôt original et au moins t'as fais un dialog ^^ (les picwins c'est mieux si tu veux utiliser des couleurs)
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
29 avril 2006 à 21:19
Dommage, j'avais plus de 10 sons à ajouter, je passe donc mon chemin (comprendre par là qu'il serait bien d'en gérer un nombre illimité)

Ton utilisation de MDX est inutile, tout le monde n'aime pas les couleurs que tu as choisies (fond violet et flèche verte ôO, 2 couleurs qui vont pas vraiment ensemble je pense), et ca encombre inutilement le ZIP.

Pour résumer, en 2 conseils :
- apprend les boucles (/while), ton code sera plus complet et 10 fois plus court (tu as tellement de ligne redondante là)
- oublie MDX (ou alors utilise le, mais dans un cas NECESSAIRE, pour faire une listview, une treeview, etc)

Bonne continuation, en espérant voir une MAJ de ton code ;)
Rejoignez-nous