Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- on *:LOAD:{
- if ($version < 7) {
- echo -a 12-----------------------------------
- echo -a 12Você precisa da versão 7.0 ou superior do mirc para executar esse script.
- echo -a 12-----------------------------------
- /unload -rs $script
- }
- set %mpcolor1 12
- set %mpcolor2 14
- set %mpcolor3 12
- set %mpcolor4 14
- echo -a 12-----------------------------------
- echo -a 12MPClassic info carregado.
- echo -a 12É necessário uma versão recente do MPC-HC para que esse script funcione corretamente.
- echo -a 12Certifique-se que a interface web do seu player está ativada na porta 13579
- echo -a 12Se não estiver vá em options>player>web interface e marque "[x]Listen on port"
- echo -a 12Para sua segurança ative a opção "Allow access from localhost only"
- echo -a 12Comandos:
- echo -a 12Escreva "/mpc" com o player aberto mostrar a info...
- echo -a 12Escreva "/mpconfig" para configurar as cores.
- echo -a 12Escreva "/mpcshot" para salvar uma snapshot do vídeo em reprodução em um servidor remoto.
- echo -a 12Escreva "/mpcshot local" para salvar uma snapshot do vídeo em uma pasta local.
- echo -a 12-----------------------------------
- }
- on *:UNLOAD:{
- echo -a 12-----------------------------------
- echo -a 04MPClassic info descarregado...
- echo -a 12-----------------------------------
- }
- alias mpc {
- if ($active == Status Window) {
- echo -a */mpc Você não está em um canal.
- } | else {
- sockopen player localhost 13579
- }
- }
- on *:sockopen:player:{
- if ($sockerr) {
- echo -a [ Player não está rodando. ]
- sockclose player
- }
- else {
- sockwrite -nt player GET /status.html HTTP/1.1
- sockwrite -nt player
- }
- }
- on *:sockread:player:{
- if ($sockerr) return
- :nexthread
- sockread -f %temp
- if ($sockbr == 0) return
- if (%temp == $null) %temp = -
- if (OnStatus isin %temp) {
- var %statusinfo = $regex(statusinfo,%temp,OnStatus[(]'(.*)', '(.*)', (.*), '(.*)', (.*), '(.*)', (.*), (.*), '(.*)'[)])
- if (%statusinfo == 1) {
- var %mpcFile = $regml(statusinfo,1)
- var %mpcFile = $replace(%mpcFile,$chr(92),$NULL)
- var %mpcStatus = $regml(statusinfo,2)
- var %mpcFrame = $regml(statusinfo,3)
- var %mpcTotalFrame = $regml(statusinfo,5)
- var %mpcTime = $regml(statusinfo,4)
- var %mpcTotalTime = $regml(statusinfo,6)
- var %percent = $int($round($calc(($int(%mpcFrame)*100)/$int(%mpcTotalFrame)),1))
- var %filelocation = $regml(statusinfo,9)
- var %color1 = $+ %mpcolor1
- var %color2 = $+ %mpcolor2
- if (%mpcolor3) && (%mpcolor4) {
- var %barcolor1 = $+ %mpcolor3 $+ , $+ %mpcolor3 $+ >
- var %barcolor2 = $+ %mpcolor4 $+ , $+ %mpcolor4 $+ =
- } | else {
- var %barcolor1 = >
- var %barcolor2 = =
- }
- var %barin = $int($calc(%percent / 7))
- var %barout = $int($calc(100 / 7 - %barin))
- var %progressbar = $str(%barcolor1,%barin) $+ $str(%barcolor2,%barout)
- var %hours = $gettok(%mpcTotalTime, 1, 58)
- var %minutes = $gettok(%mpcTotalTime, 2, 58)
- var %seconds = $gettok(%mpcTotalTime, 3, 58)
- var %totalseconds = $int($calc($calc(%hours * 60 * 60) + $calc(%minutes * 60) + %seconds))
- var %filerate = ~ $+ $int($calc(($file(%filelocation).size / 1024) / %totalseconds)) $+ KB/s
- if ($int($calc($file(%filelocation).size / 1024 / 1024)) >= 1) {
- var %filesize = $int($calc($file(%filelocation).size / 1024 / 1024)) $+ MB
- } | else {
- var %filesize = $int($calc($file(%filelocation).size / 1024)) $+ KB
- }
- var %finalmsg = %color1 $+ :: $+ %color2 %color2 $+ MPClassic %color1 $+ :: [ $+ %progressbar $+ ] $+ %color2 %percent $+ % %color1 $+ :: $+ %color2 %mpcFile %color1 $+ :: $+ %color2 %mpcTime / %mpcTotalTime %color1 $+ :: $+ %color2 %filerate %color1 $+ :: $+ %color2 %filesize $+ %color1 ::
- if (c isincs $gettok($chan($active).mode,1,32)) {
- var %finalmsg = $strip(%finalmsg)
- }
- msg $active %finalmsg
- }
- }
- goto nexthread
- }
- dialog mpclassicdiag {
- title "MPClassic info: config"
- size -1 -1 230 190
- text "(Número da cor)", 1, 26 10 140 15, right
- text "Cor da fonte 1:", 2, 20 30 80 15, right
- text "(1-15)", 8, 160 30 30 15, right
- edit "", 3, 105 28 50 20
- text "Cor da fonte 2:", 4, 20 58 80 15, right
- text "(1-15)", 9, 160 58 30 15, right
- edit "", 5, 105 55 50 20
- text "Cor da Barra 1:", 10, 20 88 80 15, right
- text "(1-15)", 11, 160 88 30 15, right
- edit "", 12, 105 85 50 20
- text "Cor da Barra 2:", 13, 20 120 80 15, right
- text "(1-15)", 14, 160 120 30 15, right
- edit "", 15, 105 117 50 20
- button "OK", 7, 75 150 100 30, ok cancel
- }
- on *:DIALOG:mpclassicdiag:*:*: {
- if ($devent == init) {
- if (%mpcolor1) { did -a $dname 3 %mpcolor1 }
- else {
- did -a $dname 3 12
- }
- if (%mpcolor2) { did -a $dname 5 %mpcolor2 }
- else {
- did -a $dname 5 14
- }
- if (%mpcolor3) { did -a $dname 12 %mpcolor3 }
- else {
- did -a $dname 12 12
- }
- if (%mpcolor4) { did -a $dname 15 %mpcolor4 }
- else {
- did -a $dname 15 14
- }
- }
- if ($devent == close) {
- var %save1 = $did($dname, 3).text
- var %save2 = $did($dname, 5).text
- var %save3 = $did($dname, 12).text
- var %save4 = $did($dname, 15).text
- if (%save1 isnum) {
- if (%save1 <= 15) && (%save1 >= 1) {
- set %mpcolor1 $int(%save1)
- }
- }
- if (%save2 isnum) {
- if (%save2 <= 15) && (%save2 >= 1) {
- set %mpcolor2 $int(%save2)
- }
- }
- if (%save3 isnum) {
- if (%save3 <= 15) && (%save3 >= 1) {
- set %mpcolor3 $int(%save3)
- }
- }
- if (%save4 isnum) {
- if (%save3 <= 15) && (%save3 >= 1) {
- set %mpcolor4 $int(%save4)
- }
- }
- }
- }
- alias mpconfig { if (!$dialog(mpclassicdiag)) { dialog -m mpclassicdiag mpclassicdiag } }
- alias mpcshot {
- if ($active == Status Window) {
- echo -a */mpcshot Você não está em um canal.
- } | else {
- if ($sock(mpcshot,status) == 1) || ($sock(mpcsupload,status) == 1) {
- echo -a Alguma transferência está em andamento, aguarde o término da mesma.
- halt
- }
- if ($1 == local) {
- var %tempfilename = $ctime $+ _ $+ $rand(100,999) $+ .jpg
- set %sdldir $mircdir $+ %tempfilename
- unset %tempupfile
- } | else {
- var %tempfilename = $ctime $+ _ $+ $rand(100,999) $+ .jpg
- set %sdldir $mircdir $+ %tempfilename
- set %tempupfile $mircdir $+ %tempfilename
- }
- sockopen mpcshot localhost 13579
- }
- }
- alias mpcsup {
- %hostofphpfile = api.imgur.com
- %locationofphpfile = /2/upload
- %mpcsuploadkey = 0272dfc8c40bf29cb6ceb6865f862c7f
- if (%tempupfile != $null) {
- if ($exists(%tempupfile) == $true) {
- %dest = %tempupfile
- .remove mpcsupload.tmp
- if ($active != Status Window) {
- echo -s Enviando arquivo...
- } | else {
- echo -s Enviando arquivo...
- }
- sockopen mpcsupload %hostofphpfile 80
- } | else {
- echo -s Não foi possível carregar o arquivo temporário.
- unset %tempupfile
- }
- }
- }
- On *:sockopen:mpcsupload:{
- var %b = $md5(mpcsupload) | write -c mpcsupload.tmp $+(--,%b,$lf,$&
- Content-Disposition: form-data; name='key',$lf,$lf,$&
- %mpcsuploadkey,$lf,$&
- --,%b,$lf,$&
- Content-Disposition: form-data; name='image'; filename=',$nopath(%dest),',$lf,$lf)
- .copy -a " $+ %dest $+ " mpcsupload.tmp
- write mpcsupload.tmp -- $+ %b
- var %write = sockwrite -tn mpcsupload
- %write POST %locationofphpfile HTTP/1.1
- %write Host: %hostofphpfile
- %write Connection: close
- %write Content-Type: multipart/form-data; boundary= $+ %b
- %write Content-Length: $file(mpcsupload.tmp)
- %write
- .fopen mpcsupload mpcsupload.tmp
- }
- On *:sockwrite:mpcsupload:{
- if $sock(mpcsupload).sq > 8192 || !$fopen(mpcsupload) { return }
- if $fread(mpcsupload,8192,&a) {
- sockwrite mpcsupload &a
- }
- else .fclose mpcsupload
- }
- on *:sockread:mpcsupload:{
- if ($sockerr) return
- :nextread
- sockread %temp
- if ($sockbr == 0) return
- if (%temp == $null) %temp = -
- if ($regex(%temp,HTTP/1.1 200 OK) >= 1) {
- echo -s Status... OK.
- echo -s 12-----------------------------------
- }
- elseif ($regex(%temp,HTTP/1.1 (30[0-9]|40[0-9]|50[0-9])) >= 1) {
- echo -s Status... ERRO.
- echo -s 12-----------------------------------
- .sockclose mpcsupload
- }
- var %original = $regex(original,%temp,<original>(.*)</original>)
- var %filesize = $regex(fsize,%temp,<size>(.*)</size>)
- var %fwidth = $regex(fwidth,%temp,<width>(.*)</width>)
- var %fheight = $regex(fheight,%temp,<height>(.*)</height>)
- if (%original == 1) {
- var %filesize = $int($calc($regml(fsize,1) / 1024))
- var %fwidth = $regml(fwidth,1)
- var %fheight = $regml(fheight,1)
- var %color1 = $+ %mpcolor1
- var %color2 = $+ %mpcolor2
- var %snapshotmsg = $regml(original,1)
- if (c isincs $gettok($chan(%chantarget).mode,1,32)) {
- var %snapshotmsg = $strip(%snapshotmsg)
- }
- /msg %chantarget %snapshotmsg
- }
- goto nextread
- }
- On *:sockclose:mpcsupload:cleanmpcsupload
- alias cleanmpcsupload {
- .sockclose mpcsupload
- if $fopen(mpcsupload) { .fclose mpcsupload }
- .remove mpcsupload.tmp
- .remove %tempupfile
- unset %chantarget
- unset %sdldir
- unset %dest
- unset %hostofphpfile
- unset %locationofphpfile
- unset %mpcsuploadkey
- unset %tempupfile
- }
- on *:sockopen:mpcshot:{
- if ($sockerr) {
- echo -a [ Player não está rodando. ]
- sockclose mpcshot
- }
- else {
- sockwrite -nt mpcshot GET /snapshot.jpg HTTP/1.1
- sockwrite -nt mpcshot
- }
- }
- on *:sockread:mpcshot:{
- if (!$sockerr) {
- while $sock($sockname).rq {
- sockread &b
- bwrite %sdldir -1 -1 &b
- }
- }
- else .sockclose $sockname
- unset %dl.dir
- }
- On *:sockclose:mpcshot:{
- .sockclose mpcshot
- if $fopen(mpcshot) { .fclose mpcshot }
- if ($exists(%sdldir) == $true) {
- if ($file(%sdldir).size <= 110) {
- .remove %sdldir
- echo -a Erro ao baixar snapshot. | halt
- }
- var %numline = 1
- :nextlopp
- if ($regex($read(%sdldir,%numline),ÿØÿÛ) == 1) {
- goto continue
- } | else {
- var %tamanho = $calc(%tamanho + $len($read(%sdldir,%numline)))
- inc %numline
- goto nextlopp
- }
- :continue
- var %tamanho = $calc(%tamanho + 20)
- bread %sdldir %tamanho $calc($file(%sdldir).size - %tamanho) &unheaderfile
- write -c %sdldir
- bwrite %sdldir -1 -1 &unheaderfile
- if (%tempupfile != $null) {
- echo -s 12-----------------------------------
- echo -s Salvando arquivo temporário... OK.
- set %chantarget $active
- .mpcsup
- } | else {
- echo -a Arquivo salvo em: %sdldir
- }
- } | else {
- echo -a Erro ao baixar snapshot.
- }
- unset %sdldir
- unset %setline
- }
Add Comment
Please, Sign In to add comment