Demande de script mIRC (nécessite sockets)

cs_Miles Prower Messages postés 3 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 28 avril 2006 - 22 avril 2006 à 21:50
romeo34 Messages postés 1 Date d'inscription samedi 29 avril 2006 Statut Membre Dernière intervention 29 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 :

http://www.xbmc.org/utilisation-avance/httpapi/#GetCurrentlyPlaying

La fonction qui m'intéresse, GetCurrentlyPlaying, est formattée de la manière suivante :

http://img181.imageshack.us/img181/8811/xbmcgetcurrentlyplaying5ol.png

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 !

- Miles

8 réponses

S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
23 avril 2006 à 16:40
Ca a pas l'air très dur, mais si je te donnais un code, jsuis presque
sur qu'il y aura un problème... :/ il faudrait pouvoir tester...


------------------------------------
Signature des parents :
0
cs_Miles Prower Messages postés 3 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 28 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"
-
}

#############################################

Qu'en penser ?
0
Christian24100 Messages postés 15 Date d'inscription mercredi 22 novembre 2000 Statut Membre Dernière intervention 12 juin 2009
28 avril 2006 à 00:05
Qui peut me dire la commande /slay pour metre de la zic dans mon script
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
28 avril 2006 à 01:49
/help /splay
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Miles Prower Messages postés 3 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 28 avril 2006
28 avril 2006 à 15:30
Aucun rapport... Merci de m'avoir donné cette fausse joie de réponse. -_-
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
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 ?
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
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é ).
0
romeo34 Messages postés 1 Date d'inscription samedi 29 avril 2006 Statut Membre Dernière intervention 29 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
0
Rejoignez-nous