Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Rockola Programada En Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Rockola Programada En Gambas 
 
Hola comunidad, desde hace algunas semanas me dio por buscar programa para rockolas que funcionase en Linux, después de buscar tanto encontré varias soluciones, pero se me hacen demasiado exagerado en opciones y muy pesados, así que me registre acá para pedir ayuda con ustedes o algún interesado, pero, para no molestarlos demasiado decidí buscar referencias sobre gambas ya que no había programado nada aquí, y armar algo para no empezar desde cero.

La cosa quedo así, me he inspirado en SK Jukebox para Windows, aunque me hace falta agregarle algo mas   .

 pantallazo

Ahora vengo a pedirles su ayuda para que revisen si algo anda mal, o proponer ideas o código.

Lo que puede hacer:
  • Crea y agrega todas las canciones con extensión mp3 y cover en una base de datos sqlite.
  • Organiza por orden alfabético los albumnes.
  • Maneja crédito pero aun no esta correctamente.(solo falta ventana de control de creditos)
  • Avanza/retrocede la lista de albumnes.
  • Vista ampliada del álbum.
  • Reproduce usando mplayer vía exec.(aun no funciona la barra de progreso por que no se como   )
  • Ventana de configuración se muestra presionando "o"
  • Ordena mas de 9 albumnes, hasta 99
  • Maneja cola de reproducción usando un array.


Lo que no puede hacer pero debería hacerlo en un futuro:
  • Búsqueda, reproducción y organización de vídeos.
  • La sección para karaokes falta.
  • No controla el volumen.
  • Saltar por letra.
  • El formulario de control de créditos falta.
  • Ordenar pocos y muchos albumnes(1 hasta 9, de 100 hasta 999 y 1000 hasta 9999 )
  • Crear miniaturas para los covers, ya que si el cover es muy pesado, se laggea mucho.


descarga fuente

Descargar
 



 
última edición por sos-fan el Domingo, 04 Septiembre 2011, 10:58; editado 5 veces 
sos-fan - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
Supongo que rockola será una ¿emisora de radio? Voy a echarle un ojete, que pinta bien...
 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
yo hace muchos años en gambas 1  hize una Wurlitzer que reproduce video
por la salida S-video y en la pantalla principal tiene el programa que controla
con creditos y todo =)

Tengo que haerle modificaciones para que corra con la ultima version,
cuando lo termine lo colocare aca para que lo puedan ver.
 



 
slasho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
BrunoIV escribió: [Ver mensaje]
Supongo que rockola será una ¿emisora de radio? Voy a echarle un ojete, que pinta bien...


Supongo que será como un "JukeBox", no?
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
Es un programa para controlar ciber rockolas,  que son como estos:

asdf

Obviamente se controla con un tecladito numerico para laptop.
 



 
sos-fan - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
He descargado la aplicación y la he abierto desde gambas, pero lamento decirte que no hace absolutamente nada. No encuentra canciones (y tengo unas cuantas en la carpeta Música) y no responde a ningún evento de teclas o ratón...  Ha creado la base de datos, eso sí, en la carpeta de usuario, pero nada más.

He ojeado el código y no veo por qué no funciona, aunque no he hecho demasiado hincapié. Lo que si he observado es que usas mucho el TRY, pero no controlas los posibles errores mediante ERROR y/o el bloque CATCH, así que si hay un error en tu programa, nunca lo sabremos a ciencia cierta, ya que pasará inadvertido.

También deberías comprobar si existe la carpeta Música (y también las demás), y si no, proporcionar una manera de elegir una ruta alternativa, incluso varias.

Otra crítica constructiva, es que en cualquier aplicación se hace necesaria alguna manera alternativa de interactuar con ella, en este caso algún menú, bien el típico menú de aplicación o un menú emergente con el RMB.

Como ves, aparte de alguna cosa en el código, los fallos mas evidentes están en el ámbito de la usabilidad de tu aplicación. Espero que mi crítica sirva para mejorarla a todos los niveles, ya que, aunque hay muchas aplicaciones similares, la que hace uno  mismo es siempre la "criatura" de uno y el orgullo personal.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
Genial Proyecto.
Vere en que puedo ayudar

Bien.
Encontre que mplayer puede correr en modo esclavo

http://www.mplayerhq.hu/DOCS/tech/slave.txt

un ejemplo en python
http://code.activestate.com/recipes...de-from-python/

entonces si haces un exec con
mplayer -slave -quiet - idle

podras darle comandos y obtener información del archivo en reproducción
como su tiempo y id3

Saludos
 



 
última edición por clsource el Miercoles, 08 Febrero 2012, 04:51; editado 1 vez 
Editado por clsource, Miercoles, 08 Febrero 2012, 04:51: Agregado Info!
clsource - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
Acá he creado una clase con mplayer
' gambas class file

'  * A Simple mplayer wrapper class
'  * Camilo Castro <clsource> 2012
'  * see http://www.mplayerhq.hu/DOCS/tech/slave.txt For more info
'
'  * This program Is Free software.It comes without any warranty, To
'  * the extent permitted by applicable law.You can redistribute it
'  * And / Or modify it under the terms Of the Do What The Fuck You Want
'  * To Public License, Version 2, As Published by Sam Hocevar.See
'  * http://sam.zoy.org/wtfpl/COPYING For more details.

Event mpOutput(data As String)

' If you remove static, you will get a lot of instances of mplayer
Static Private mplayer As Process


Public Sub _new()
    ' Lazy instantiation?
   If Not mplayer Then mplayer = Exec ["mplayer", "-slave", "-idle", "-quiet"] For Read Write As "mpProcess"

End

' Process Methods
Public Sub mpProcess_read()

    Dim sData As String

    sData = Read #Last, -250

    ' We delegate the output parsing to a listener
    Raise mpOutput(sData)

End


Public Sub mpProcess_kill()

    mplayer = Null

End

' Useful procedures
Public Sub kill()

    mplayer.kill

End

Public Sub togglePlayPause()

    If Not mplayer Then Return

    Print #mplayer, " "

End

Public Sub stop()

    If Not mplayer Then Return
    Print #mplayer, "stop"
    ' mplayer.Kill

End

Public Sub play(filePath As String)

    'Print filePath

    If Not mplayer Then Return

    'Print mplayer.Id
    filePath = Quote$(Conv(filePath, Desktop.Charset, System.Charset))
  
    ' Pause the current playing file, then load the new one
    Print #mplayer, "pausing_keep_force pt_step 1"
    'Print #mplayer, "get_property pause"
    Print #mplayer, "loadfile " & filePath

End

Public Sub setVolume(value As Float)
  ' Some checks
  If value <0> 100 Then value = 100
    
  If Not mplayer Then Return
  Print #mplayer, "volume " & value
    
End

' Useful info
Public Sub volume()
    
  If Not mplayer Then Return
  Print #mplayer, "get_property volume"  
    
End

Public Sub fileName()
    
    If Not mplayer Then Return
    Print #mplayer, "get_file_name"  
    
End

Public Sub metaAlbum()
    
    If Not mplayer Then Return
    Print #mplayer, "get_meta_album"  
    
    
End

Public Sub metaArtist()
    
  If Not mplayer Then Return
  Print #mplayer, "get_meta_artist"  

End

Public Sub metaGenre()
    
  If Not mplayer Then Return
  
  Print #mplayer, "get_meta_genre"  
      
End

Public Sub metaComment()
    
  If Not mplayer Then Return
  
  Print #mplayer, "get_meta_comment"  
      
End

Public Sub metaTitle()
    
  If Not mplayer Then Return
  
  Print #mplayer, "get_meta_title"  
      
End

Public Sub metaTrack()
    
  If Not mplayer Then Return
  
  Print #mplayer, "get_meta_track"  
      
End

Public Sub metaYear()
    
  If Not mplayer Then Return
  
  Print #mplayer, "get_meta_year"  
      
End

Public Sub percentage()

    If Not mplayer Then Return
    Print #mplayer, "get_percent_pos"

End

Public Sub length()
    
    If Not mplayer Then Return
    Print #mplayer, "get_time_length"
    
End

Public Sub time()
    
    If Not mplayer Then Return
    Print #mplayer, "get_time_pos"  
    
End
 

 



 
clsource - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
@clsource

Disculpa la siguiente pregunta boba, pero es que de POO no se nada........ Cómo uso tu class???

Lo que hice fue poner tu código en un archivo class de nombre mplayer, y en el código de mi formulario puse:

PUBLIC SUB Form_Open()
  
  DIM mp AS mplayer
  'mp = NEW mplayer
  mp.play("/home/zzz/Music/Diablo Swing Orchestra - The Butcher's Ballroom/01 - Balrog Boogie.ogg")

END
 


Pero me da un error, me dice "Unexpected READ at line 30 in mplayer class" (esto es en el método mpProcess_read())

Gracias por tu código, y espero me puedas auxiliar.

Saludos!
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Rockola Programada En Gambas 
 
La parte de mpProcess_read la modifique, quedando de esta manera.

Public Sub mpProcess_read()

   Dim sData As String

   Read #Last, sData, -250

   ' We delegate the output parsing to a listener
   Raise mpOutput(sData)

End
 


Tambien modifique Play.


Public Sub play(filePath As String)

   'Print filePath

   If Not mplayer Then Return

   'Print mplayer.Id
   'filePath = Quote$(Conv(filePath, Desktop.Charset, System.Charset))
  
   ' Pause the current playing file, then load the new one
   Print #mplayer, "pausing_keep_force pt_step 1"
   'Print #mplayer, "get_property pause"
   Print #mplayer, "loadfile \"" & filePath & "\""

End
 


La parte en FMain lo puse de esta manera.

PUBLIC SUB Form_Open()
 
 DIM mp AS NEW mplayer

 mp.play(User.Home & "/Música/Re Mikus/12.Heart Beat.mp3")

END
 


Así reproduce, pero aun no se como usar MetaAlbum, setVolume, MetaArtist, etc.  
 



 
sos-fan - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Comunicar Un Movil Con Gambas: Bluetooth ... jsbsan General 2 Sabado, 14 Julio 2012, 23:37 Ver último mensaje
sebikul
No hay nuevos mensajes Hay Algun Comando De Gambas Para Saber La ... v3ctor General 11 Jueves, 07 May 2015, 22:49 Ver último mensaje
vuott
No hay nuevos mensajes Cerrar Gambas Para Abrir Otro Proyecto De ... Shell General 5 Jueves, 21 Septiembre 2017, 19:42 Ver último mensaje
shordi
No hay nuevos mensajes Gambas Book. Manual Online Alemán De Gamb... Shell General 3 Martes, 19 Febrero 2019, 14:29 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron