Últimos Codigos Enviados

Top Snippets mejor calificados

Top Me gustan Snippets

Últimos Artículos

Lo mas popular

Iniciar Sesión

Nombre de Usuario

Contraseña



¿No eres miembro?
Regístrate aquí.

¿Contraseña olvidada?
Recupera tu contraseña.

Usuarios Conectados

· Invitados: 1
· Miembros: 0
· Total Miembros: 352
· Último Miembro: DaNnY

Últimas Visitas:

AfraN 1 día
SykO 1 día
FsDk 2 días
NiGhT 1 Semana
MaCLeoD 8 Semanas
kn1ght 15 Semanas
aM3 20 Semanas
Zetup 37 Semanas
slim 69 Semanas
El_tio_la... 84 Semanas

Últimas Descargas

Últimos Comentarios

Mini Charla

Tienes que logearte para enviar un mensaje.

11-01-2018 09:31
0_o

04-07-2017 22:29
Angry Sad Angry

13-05-2017 00:03
omg saludos a todos!!

21-01-2017 21:03
Shock Grin Shock

07-01-2017 01:25
Angry Sad Angry Cool

Ver el Tema

 Imprimir Tema
Video Tutorial mSL Parte 3
SykO
Hola, bueno ya tenia varios meses que grabe esta parte pero se me olvido subirlo jajaja pero bueno aqui esta:

https://www.youtu...VsBdcJqmr8

codigo:

Descargar código fuente.  Código.
/*

Simple Reproductor v0.1 creado por SykO

*/

alias -l SRVERSION return 1.0
alias -l VENTANA   return @SimpleReproductor

alias simpleReproductor {
  var %ventana = $VENTANA
  if ($window(%ventana)) {
    window -a %ventana
  }
  else {
    window -BCpfkz +t %ventana -1 -1 400 70
    titlebar %ventana v $+ $SRVERSION creado por SykO
    ;dibuja fondo
    drawrect -rfn %ventana $rgb(face) 1 0 0 400 70
    dibujaInformacion
    dibujaProgreso
    ;anterior
    drawrect -rn %ventana $rgb(frame) 1 5 45 30 20
    drawtext -rn %ventana $rgb(text) webdings 15 12 45 9
    dibujaBotonDePauseYTocar
    ;detener
    drawrect -rn %ventana $rgb(frame) 1 75 45 30 20
    drawtext -rn %ventana $rgb(text) webdings 15 82 45 <
    ;siguiente
    drawrect -rn %ventana $rgb(frame) 1 110 45 30 20
    drawtext -rn %ventana $rgb(text) webdings 15 117 45 :
    ;repetir
    drawrect -rn %ventana $rgb(frame) 1 150 45 30 20
    drawtext -rn %ventana $rgb(text) webdings 15 157 45 `
    ;aleatorio
    drawrect -rn %ventana $rgb(frame) 1 185 45 30 20
    drawtext -rn %ventana $rgb(text) webdings 15 192 45 q
    ;directorio
    drawrect -rn %ventana $rgb(frame) 1 225 45 65 20
    drawtext -rn %ventana $rgb(text) tahoma 12 230 47 Directorio
    dibujaVolumen
    drawdot %ventana
  }
}

alias -l dibujaInformacion {
  var %ventana = @SimpleReproductor
  drawrect -rfn %ventana $rgb(face) 1 5 5 390 20
  drawrect -rn %ventana $rgb(frame) 1 5 5 390 20
  var %info = Simple Reproductor v $+ $SRVERSION creado por SykO
  if (%sr_tocando_cancion) {
    %info = $infoCancion
  }
  elseif (%sr_en_pause) {
    %info = PAUSE
  }
  var %x = $calc((390 - $width(%info,tahoma,12)) / 2 + 5)
  if (%x < 5) {
    %x = 5
  }
  drawtext -rcn %ventana $rgb(text) tahoma 12 %x 7 390 20 %info
}

alias -l dibujaProgreso {
  var %ventana = @SimpleReproductor
  drawrect -rfn %ventana $rgb(face) 1 5 30 390 10
  if (%sr_tocando_cancion) {
    drawrect -rfn %ventana $rgb(frame) 1 5 30 $int($calc($insong.pos / $insong.length * 390)) 10
    .timerProgresoDeCancion 1 1 dibujaProgreso
  }
  drawrect -rn %ventana $rgb(frame) 1 5 30 390 10
  drawdot %ventana
}

alias -l dibujaBotonDePauseYTocar {
  var %ventana = @SimpleReproductor
  drawrect -rfn %ventana $rgb(face) 1 40 45 30 20
  drawrect -rn %ventana $rgb(frame) 1 40 45 30 20
  var %boton = 4
  if (%sr_tocando_cancion) {
    %boton = ;
  }
  drawtext -rn %ventana $rgb(text) webdings 15 47 45 %boton
}

alias -l dibujaVolumen {
  var %ventana = @SimpleReproductor
  drawrect -rfn %ventana $rgb(face) 1 295 50 100 10
  drawrect -rn %ventana $rgb(frame) 1 295 50 100 10
}

;Formato para crear comandos: alias [-l] nombre comando(s)

alias -l anuncia {
  echo -est Escuchando: $infoCancion en mi Simple Reproductor v $+ $SRVERSION creado por SykO
}

alias -l acualizaProgreso echo -est Acualizando progreso

alias -l cancionAnterior {
  if (%sr_directorio) {
    dec %sr_cancion
    tocaCancion
  }
  else {
    echo -est * Necesitas especificar un directorio de sonidos.
  }
}

alias -l pausaCancion {
  if (%sr_tocando_cancion) {
    splay pause
    set %sr_en_pause $true
    set %sr_tocando_cancion $false
    dibujaInformacion
    dibujaBotonDePauseYTocar
    drawdot @SimpleReproductor
  }
}

alias -l tocaCancion {
  if (%sr_directorio) {
    if (%sr_en_pause) {
      set %sr_tocando_cancion $true
      set %sr_en_pause $false
      splay resume

    }
    else {
      if (!%sr_cancion) {
        set %sr_cancion 1
      }
      var %buscando = $true
      var %posible_sonido = $findfile(%sr_directorio,*.mp3,%sr_cancion)
      while (%buscando) {
        if (!$sound(%posible_sonido).length) {
          inc %sr_cancion
          %posible_sonido = $findfile(%sr_directorio,*.mp3,%sr_cancion)
        }
        else {
          %buscando = $false
        }
        if (%sr_cancion > $findfile(%sr_directorio,*.mp3,0)) {
          %buscando = $false
        }
      }
      set %sr_tocando_cancion $true
      splay $qt(%posible_sonido)
      anuncia
    }
    dibujaInformacion
    dibujaProgreso
    dibujaBotonDePauseYTocar
    drawdot @SimpleReproductor
  }
  else {
    echo -est * Necesitas especificar un directorio de sonidos.
  }
}

alias -l detenerCancion {
  if (%sr_tocando_cancion) || (%sr_en_pause) {
    splay stop
    set %sr_en_pause $false
    set %sr_tocando_cancion $false
    dibujaInformacion
    dibujaBotonDePauseYTocar
    drawdot @SimpleReproductor
  }
}

alias -l siguienteCancion {
  if (%sr_directorio) {
    inc %sr_cancion
    if (%sr_cancion > $findfile(%sr_directorio,*.mp3,0)) {
      set %sr_cancion $v2
    }
    tocaCancion
  }
  else {
    echo -est * Necesitas especificar un directorio de sonidos.
  }
}

alias -l modoRepetir {

}

alias -l modoAleatorio {

}

alias -l infoCancion {
  var %cancion = $findfile(%sr_directorio,*.mp3,%sr_cancion)
  var %info = $sound(%cancion).artist $sound(%cancion).title
  if (!%info) {
    %info = $left($nopath(%cancion),-4)
  }
  return %info
}

menu @SimpleReproductor {
  sclick: {
    var %m_x = $mouse.x
    var %m_y = $mouse.y
    if ($inrect(%m_x,%m_y,5,30,390,10)) && (%sr_tocando_cancion) {
      splay seek $int($calc((%m_x - 5) / 389 * $insong.length))
    }
    elseif ($inrect(%m_x,%m_y,5,45,30,20)) {
      cancionAnterior
    }
    elseif ($inrect(%m_x,%m_y,40,45,30,20)) {
      if (%sr_tocando_cancion) {
        pausaCancion
      }
      else {
        tocaCancion
      }
    }
    elseif ($inrect(%m_x,%m_y,75,45,30,20)) {
      detenerCancion
    }
    elseif ($inrect(%m_x,%m_y,110,45,30,20)) {
      siguienteCancion
    }
    elseif ($inrect(%m_x,%m_y,150,45,30,20)) {
      modoRepetir
    }
    elseif ($inrect(%m_x,%m_y,185,45,30,20)) {
      modoAleatorio
      ;$rand(1,$findfile(%sr_directorio,*.mp3,0))
    }
    elseif ($inrect(%m_x,%m_y,225,45,65,20)) {
      set %sr_directorio $qt($$sdir(*,"Directorio de sonidos"))
    }
  }
}

on *:MP3END: {
  if (%sr_tocando_cancion) {
    set %sr_tocando_cancion $false
    ;modo repetir tocar cancion
    dibujaInformacion
    dibujaBotonDePauseYTocar
    drawdot @SimpleReproductor
  }
}




espero alguien le sirva esto saludos
Editado por SykO el 25-09-2018 04:15
Todo lo que se pierde se puede volver a encontrar, menos el tiempo perdido!
 
http://syko.wormzweb.com/
AfraN
hay un buen código pero hay deficiencias, por ejemplo, se debe duplicar y restar y se debe mostrar la lista de mp3.
Si me preguntas, ¿completarás mis defectos?
 
SykO
Imitar una lista de texto es simplemente dibujar elementos de texto visibles, es decir si tienes 10 elementos y tu lista solo permite ver 3 elementos a la vez esta solo dibujara 3 elementos a la vez. Mientras que tengas una lista que solo muestre menos de 100 elementos quizas puedas simplemente crear esto utilizando un while loop.

Ejemplo:

Descargar código fuente.  Código.
alias dibujaLista {
  ;las siguientes variables deberian ser globales
  var %primera_linea_visible = 1
  var %total_de_lineas_visibles = 3
  var %lineas_totales = 10

  ;las siguientes variables serian locales
  var %linea_actual = %primera_linea_visible
  var %ultima_linea_visible = %linea_actual + %total_de_lineas_visibles
  while (%linea_actual <= %ultima_linea_visible  || %linea_actual <= %lineas_totales) {
    echo -s dibujar linea: %linea_actual
    inc %linea_actual
  }
}




Claro esto es algo muy simplificado pero contiene el concepto principal. Como comente en el ejemplo, tendrias algunas variables globales. La principal para la lista es %primer_linea_visible, la cual incrementarias o disminuirias basado en dos botones que controlen la vision de tu lista o de un track como la de la cancion o volumen. Cada que el usuario precione uno de estos controles (botones y/o track) deberias llamar el dibujarLista.

Espero esto te ayude.
Todo lo que se pierde se puede volver a encontrar, menos el tiempo perdido!
 
http://syko.wormzweb.com/
Saltar al Foro:
EScripting.NET #eScripting, ChatHispano utiliza cookies. Las cookies nos permiten ofrecer nuestros servicios. Más información. Por favor, haga clic en el botón Aceptar para ocultar esta barra y aceptar nuestras cookies. Si usted continúa utilizando Nuestro sitio sin realizar ninguna acción, vamos a suponer que usted consiente nuestras cookies de todos modos.
Cookiebar Panel fromVenue
Generado en 0.25 segundos
1,947,279 Visitas Únicas