cs_Miles Prower
Messages postés3Date d'inscriptionsamedi 22 avril 2006StatutMembreDernière intervention28 avril 2006
-
22 avril 2006 à 21:50
romeo34
Messages postés1Date d'inscriptionsamedi 29 avril 2006StatutMembreDernière intervention29 avril 2006
-
29 avril 2006 à 18:29
Bonjour,
Je souhaitais créer un petit script mIRC, mais je ne touche que peu à la programmation et ne suis pas encore vraiment à l'aise avec les scripts mIRC un peu "complexes". Pour celui-ci, j'ai besoin de faire appel à des sockets, ce qui n'est pas dans mes domaines de compétence. :P
Ce script est un simple "Now Playing" du genre que l'ont peu trouver partout pour des lecteurs multimédias comme Winamp ou autres : son but est d'afficher le nom de la chanson en cours de lecture, ainsi que l'artiste et l'album, dans un channel IRC (par remote ou popup, voire les deux, n'importe). Sauf que dans mon cas, le lecteur en question est Xbox Media Center.
Xbox Media Center possède de nombreuses fonctionnalités, dont un serveur Web capable de renvoyer ce type d'informations sur un réseau local.Pour cela, on fait appel à une bête library nommée "HTTPAPI", dont la doc est disponible ici :
Il s'agit donc maintenant de créer un script capable d'isoler chacune des informations (Titre, Artiste, Album, etc) pour les réexploiter sous la forme d'un "Now Playing". Pour cela, on m'a dit sur IRC que je devrais utiliser des sockets. Mais j'en suis incapable.
Quelqu'un pourrait-il me donner un coup de main ? Merci !
cs_Miles Prower
Messages postés3Date d'inscriptionsamedi 22 avril 2006StatutMembreDernière intervention28 avril 2006 24 avril 2006 à 11:02
Après quelques recherches supplémentaires, j'ai trouvé une base de script, que j'ai un peu modifiée pour s'adapter à ce que je recherche. Je suis sûr qu'il y a moyen, en organisant un peu mieux le code, de faire appel à plusieurs de ces HTTPAPI pour contrôler le Media Center depuis IRC et récupérer encore plus d'infos :P
Voila le code en question :
##########################################
# Script de base par Zool #
# - - - #
# Use/Edit this at your own risk #
# Thanks to Xomp for Idea/Testing/Layout #
# Thanks to Vic10us for http syntax help #
# Thanks to all the people who helped #
# contact me at zool@dead-blood.com #
# or on efnet as GiZmoe in #evolutionx #
##########################################
# Modifié par Miles_Prower/GoldenFox, #
# sur les conseils de Ag2X #
# #
# (irc.epiknet.org | #GX-Mod.com #
# | #Planete-Sonic #
# | #scripts ) #
##########################################
alias gog { sockopen xbmc %xboxip 80 }
on *:sockopen:xbmc:{
sockwrite -n $sockname GET /xbmcCmds/xbmcHttp?command=getcurrentlyplaying HTTP/1.1
sockwrite -n $sockname Host: %xboxip $+ $crlf $+ $crlf
}
on *:sockopen:xbmc2:{
sockwrite -n $sockname GET /xbmcCmds/xbmcHttp?command=GetTagFromFileName¶meter= $+ %file HTTP/1.1
sockwrite -n $sockname Host: %xboxip $+ $crlf $+ $crlf
}
on *:sockread:xbmc:{
if ($sockerr) { echo -a 4Erreur (timeout) : vérifiez la connexion à la Xbox et vos paramètres. | halt }
else {
var %temp
sockread %temp
if (<li> isin %temp) getxboxnp %temp
}
}
on *:sockread:xbmc2:{
if ($sockerr) { echo -a 4Erreur (timeout) : vérifiez la connexion à la Xbox et vos paramètres. | halt }
else {
var %temp
sockread %temp
if (<li> isin %temp) getxboxnp %temp
}
}
on 1:load:{ set %xboxip $$?="Quelle est l'IP de la XBox ?" }
alias getxboxnp {
if (<li>Filename isin $1-) { set %file1 $remove($1-,<li>Filename:) | set %file $remove($replace(%file1,$chr(32),'%20'),') | sockopen xbmc2 %xboxip 80 }
if (<li>Duration isin $1-) { set %time1 $remove($1-,<li>Duration:) | set %time $asctime(%time1,n:ss) }
if (<li>Time isin $1-) { set %curr $remove($1-,<li>Time:) | set %curr1 $calc($gettok(%curr,2,58) + $calc($gettok(%curr,-2,58) * 60)) }
if (<li>Artist isin $1-) { set %art $remove($1-,<li>Artist:) }
if (<li>Title isin $1-) { set %title $remove($1-,<li>Title:) }
if (<li>Release isin $1-) { xboxnpx }
}
alias xboxnpx {
describe %chan écoute : [ $+ %art $+ $chr(32) $+ 14¤ $chr(32) $+ $+ %title $+ ] ( $+ %curr $+ / $+ %time $+ ) [7XBMC]
}
alias xboxnp {
set %chan $chan
gog
}
Menu channel {
-
XBMC Now Playing
.Afficher la piste en cours: xboxnp
.Changer l'Ip de la XBox: set %xboxip $$?="Entrez ici l'IP de votre XBox"
-
}
fjxokt
Messages postés840Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention25 février 20091 28 avril 2006 à 18:44
d'un autre coté, pour pouvoir répondre correctement à ta question, il faudrait l'avoir correctement posée non ?
quelle commande /slay ? comment ça mettre de la zik ? dans ton script ou dans ton code ?
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 29 avril 2006 à 16:26
Euh la seule commande pour jouer de la musique avec mirc c /splay, as tu regardé dans l'aide de mirc a /help /splay ? avant de dire que la réponse de fjxokt n'a aucun rapport avec ta question ( mal posé ).
romeo34
Messages postés1Date d'inscriptionsamedi 29 avril 2006StatutMembreDernière intervention29 avril 2006 29 avril 2006 à 18:29
bonjour je voudrais me creer mon propre script et je ne sais pas ou aller cher le lien pour creer son propre script alors aider moi svp merci et aider moi pour les remote , pour alias et pour autre svp merci encore bonne journée