|
Página 1 de 1
|
Rockola Programada En Gambas
Autor |
Mensaje |
sos-fan
Usuario
Registrado: May 2011
Mensajes: 8
Edad: 38 Ubicación:
|
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 .
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
|
#1 Lunes, 08 Agosto 2011, 09:12 |
|
|
BrunoIV
|
Re: Rockola Programada En Gambas
Supongo que rockola será una ¿emisora de radio? Voy a echarle un ojete, que pinta bien...
|
#2 Lunes, 08 Agosto 2011, 11:40 |
|
|
slasho
Usuario
Registrado: Agosto 2011
Mensajes: 2
Edad: 45 Ubicación:
|
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.
|
#3 Lunes, 08 Agosto 2011, 17:23 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Rockola Programada En Gambas
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"
|
#4 Lunes, 08 Agosto 2011, 20:06 |
|
|
sos-fan
Usuario
Registrado: May 2011
Mensajes: 8
Edad: 38 Ubicación:
|
Re: Rockola Programada En Gambas
Es un programa para controlar ciber rockolas, que son como estos:
Obviamente se controla con un tecladito numerico para laptop.
|
#5 Domingo, 04 Septiembre 2011, 11:38 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
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"
|
#6 Domingo, 04 Septiembre 2011, 15:18 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
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!
|
#7 Miercoles, 08 Febrero 2012, 02:05 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
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
|
#8 Domingo, 19 Febrero 2012, 15:18 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
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!
|
#9 Domingo, 04 Marzo 2012, 21:40 |
|
|
sos-fan
Usuario
Registrado: May 2011
Mensajes: 8
Edad: 38 Ubicación:
|
Re: Rockola Programada En Gambas
La parte de mpProcess_read la modifique, quedando de esta manera.
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.
Así reproduce, pero aun no se como usar MetaAlbum, setVolume, MetaArtist, etc.
|
#10 Sabado, 01 Septiembre 2012, 14:29 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|