Volume controle ( wave + master )

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 034 fois - Téléchargée 31 fois

Contenu du snippet

Voilà un petit script pour le contrôle du volume général et du wave il est assez pratique du moin pour moi et comme c'est mon premier script j'aimerai avoir l'avi de personnes un peu plus expérimentées.

J'essaye de faire en sorte qu'il soit moin lourd mais j'ai du mal alors si vous avez des idées n'hésitez pas

Source / Exemple :


Voici une petite optimisation :

menu channel,menubar { 

  • Contrôle du volume :dialog -mr volume volume
} dialog volume { title "Volume" size -1 -1 160 120 box "Contrôle du volume",13,5 1 150 110 text "Volume Général",1,10 15 120 15 button "-",2,10 35 20 20 list 3,35 36 25 35 button "+",4,65 35 20 20 check "Mute Général",9, 90 37 15 15 text "Muet",10,110 37 30 30 text "Volume Wave",5,10 65 120 15 button "-",6,10 85 20 20 list 7,35 86 25 35 button "+",8,65 86 20 20 check "Mute Wave",11,90 88 15 15 text "Muet",12, 110 88 30 30 } on *:dialog:volume:init:00:{ var %VG $calc($vol(master) / 6500), %VW $calc($vol(wave)/6500) var %voldialmaster $iif(%vg < 10,$left(%VG,1),10) var %voldialwave $iif(%vw < 10,$left(%VW,1),10) did -a volume 3 %voldialmaster did -a volume 7 %voldialwave } alias -l vdgm { var %x $calc($vol(master) / 6500) if (%x >= 1 && %x < 10) vol -v $calc(6500 * $calc($left(%x,1) - 1)) elseif (%x >= 10) vol -v $calc(6500 * $calc( $left(%x,2) - 1)) } alias -l vdwm { var %x $calc($vol(wave) / 6500) if ( %x >= 1 && %x < 10) vol -w $calc(6500 * $calc($left(%x,1) - 1)) elseif (%x >= 10) vol -w $calc( 6500 * $calc($left(%x,2) - 1)) } alias -l vdwp { var %x $calc( $vol(wave) / 6500 ) $iif(%x < 10,vol -w $calc(6500 * $calc($left(%x,1) + 1)),vol -w 65000) } alias -l vdgp { var %x $calc($vol(master) / 6500) $iif(%x < 10,vol -v $calc(6500 * $calc($left(%x,1) + 1)),vol -v 65000) } on *:dialog:volume:sclick:*:{ if $did == 4 { var %i $did(volume,3,1) if %i <= 9 { did -r volume 3 did -a volume 3 $calc( %i + 1 ) | vdgp } } elseif $did == 2 { var %i $did(volume,3,1) if ( %i > 0 ) { did -r volume 3 did -a volume 3 $calc( %i - 1 ) | vdgm } } elseif $did == 8 { var %i $did(volume,7,1) if ( %i <= 9 ) { did -r volume 7 did -a volume 7 $calc( %i + 1 ) | vdwp } } elseif $did == 6 { var %i $did(volume,7,1) if ( %i > 0 ) { did -r volume 7 did -a volume 7 $calc( %i - 1 ) | vdwm } } elseif ($did == 9) $iif($did(9).state == 1,vol -vu1,vol -vu2) elseif ($did == 11) $iif($did(11).state == 1,vol -wu1,vol -wu2) }

Conclusion :


Il y a 2 petits beugs
- quand on change le son via le panneau de contrôle de windows on doit éteindre et réouvrire la fenêtre

- si le muet est activé avant l'ouverture de la fenêtre il faut activer la check et la désactiver pour pouvoir enlever le muet

C'est un script de gros newbies alors svp soyez pas méchant merci

A voir également

Ajouter un commentaire

Commentaires

Messages postés
150
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
24 août 2010
2
Merci c'était un plaisir :)
Messages postés
4
Date d'inscription
vendredi 31 décembre 2004
Statut
Membre
Dernière intervention
4 décembre 2005

ça roule. Merci bcp zova. t'es drolement doué "nétoyé" les codes. Je m'excuse de fournir des codes pas très propres.
Messages postés
150
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
24 août 2010
2
Voici une petite optimisation :

menu channel,menubar {
*Contrôle du volume :dialog -mr volume volume
}

dialog volume {
title "Volume"
size -1 -1 160 120
box "Contrôle du volume",13,5 1 150 110
text "Volume Général",1,10 15 120 15
button "-",2,10 35 20 20
list 3,35 36 25 35
button "+",4,65 35 20 20
check "Mute Général",9, 90 37 15 15
text "Muet",10,110 37 30 30
text "Volume Wave",5,10 65 120 15
button "-",6,10 85 20 20
list 7,35 86 25 35
button "+",8,65 86 20 20
check "Mute Wave",11,90 88 15 15
text "Muet",12, 110 88 30 30
}

on *:dialog:volume:init:00:{
var %VG $calc($vol(master) / 6500), %VW $calc($vol(wave)/6500)
var %voldialmaster $iif(%vg < 10,$left(%VG,1),10)
var %voldialwave $iif(%vw < 10,$left(%VW,1),10)
did -a volume 3 %voldialmaster
did -a volume 7 %voldialwave
}

alias -l vdgm { var %x $calc($vol(master) / 6500)
if (%x >= 1 && %x < 10) vol -v $calc(6500 * $calc($left(%x,1) - 1))
elseif (%x >= 10) vol -v $calc(6500 * $calc( $left(%x,2) - 1))
}

alias -l vdwm { var %x $calc($vol(wave) / 6500)
if ( %x >= 1 && %x < 10) vol -w $calc(6500 * $calc($left(%x,1) - 1))
elseif (%x >= 10) vol -w $calc( 6500 * $calc($left(%x,2) - 1))
}

alias -l vdwp { var %x $calc( $vol(wave) / 6500 )
$iif(%x < 10,vol -w $calc(6500 * $calc($left(%x,1) + 1)),vol -w 65000) }

alias -l vdgp { var %x $calc($vol(master) / 6500)
$iif(%x < 10,vol -v $calc(6500 * $calc($left(%x,1) + 1)),vol -v 65000) }

on *:dialog:volume:sclick:*:{
if $did == 4 { var %i $did(volume,3,1)
if %i <= 9 { did -r volume 3
did -a volume 3 $calc( %i + 1 ) | vdgp }
}
elseif $did == 2 { var %i $did(volume,3,1)
if ( %i > 0 ) { did -r volume 3
did -a volume 3 $calc( %i - 1 ) | vdgm }
}
elseif $did == 8 { var %i $did(volume,7,1)
if ( %i <= 9 ) { did -r volume 7
did -a volume 7 $calc( %i + 1 ) | vdwp }
}
elseif $did == 6 { var %i $did(volume,7,1)
if ( %i > 0 ) { did -r volume 7
did -a volume 7 $calc( %i - 1 ) | vdwm }
}
elseif ($did 9) $iif($did(9).state 1,vol -vu1,vol -vu2)
elseif ($did 11) $iif($did(11).state 1,vol -wu1,vol -wu2)
}
Messages postés
4
Date d'inscription
vendredi 31 décembre 2004
Statut
Membre
Dernière intervention
4 décembre 2005

J'étais de passage et ma source ma faite peur. Je me demande comment j'ai pu poster ça ... enfin bon j'ai essayé de faire quelque chose de plus léger et de moins sale. C'est pas parfait loin de la mais c'est un tantinet plus propre que ça
Messages postés
1052
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
30 novembre 2009
2
j'ai fais la meme chose mais pour controler juste le master en picwin et je n'ai pas de bouton
http://www.ircfr.com/code.aspx?ID=27056
bonne continuation
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_Christophe_B)