Joined: 24 Dec 2004
Mensajes: 3230
Localización: Alicante
Como veo el tema del software muy parado, he decidido retomar el tema del frontend donde lo dejé (sólo tenía hecho un reproductor básico con el ocx del windows media player).
He estado hurgando en el código del roadrunner y he tomado ideas e incluso partes del código aunque las he adaptado y corregido a mi gusto.
Las bases del diseño son de momento:
-Reproducción por carpetas (audio y video), como mi radio-cd, nada de playlists enormes, cambio rápido de carpeta adelante/atrás, o con el audiobrowser.
-Compatibilidad parcial con skins roadrunner/mediacar. He cambiado la forma en la que se ven los indicator, ahora la imagen de indicator activado es la down, y lucen con la imagen on al pasar sobre ellos, como los botones.
-Uso de gps como programa externo.
De momento tengo implementada la carga y los eventos de los skins (botones, indicators y labels de momento) y la ejecución de algunos comandos (cambio de pantallas, salida).
Tenía ya hecho un control para las listas de canciones/directorios con iconos y colores personalizables, pero tenía el defecto del parpadeo al refrescar, pero lo he solucionado.
No prometo nada en cuestión de fechas, pero voy a intentar sacar algo usable en breve, al menos la parte de reproducción de audio.
Por cierto, para los que dudais entre varios lenguajes, visual basic 6 no es ni más lento ni más rápido que otros si te apoyas en las librerias api y ocx para realizar las tareas "gordas", es decir, dibujar en pantalla y la reproducción de audio/video( el tema del reproductor audio/video, está resuelto con el ocx del windowsmediaplayer y el directshow).
El código cíclico en visual basic que necesita ejecutarse supone una carga irrisoria respecto a esas otras tareas. Es decir se trata "sólo" de controlar a los que reamente llevan la carga pesada.
Otra cosa es el .net, que sólo para cargar el entorno de ejecución necesita cantidades inmensas de ram. En visual basic 6 usando sólo los controles básicos la cantidad de ram necesaria es mucho más reducida.
Joined: 20 May 2006
Mensajes: 1782
Localización: Bilbao
Pues si señor Visenri has dado en el clavo con lo de la reproducción por carpetas. Es una cosa que no entiendo como no la traen por defecto los frontends, es mucho más sencilla de usar, no tienes que hacer nuevas listas cada vez que añades canciones... Mucho más usable y práctico, desde luego. Parece que los programas que usamos estan aun orientados más a ordenadores que a sistemas multimedia.
Desde ahora te digo que aquí tienes a un beta-tester dispuesto para probarlo.
Joined: 24 Dec 2004
Mensajes: 3230
Localización: Alicante
Bueno, he tenido un poco de tiempo y ya tengo hecha la lógica de selección de carpetas siguente/anterior, la misma que usa cualquier radio-cd.
Son un par de funciones que actuan sobre un listbox seleccionando la carpeta siguiente o la anterior, restringiendo el movimiento a un directorio en concreto (c:\musica) que se pasa como parámetro.
Joined: 20 May 2006
Mensajes: 1782
Localización: Bilbao
Oye visenri, has pensado en la opción de integrar tu reproductor en el RoadRunner? A mi me gusta bastante el RR, salvo lo de tener que usar listas, me gusta más el metodo que tu propones, pero en lo demás el RR esta bastante bien, y en constante evolución.
Joined: 24 Dec 2004
Mensajes: 3230
Localización: Alicante
Bueno, esto ya se mueve, por supuesto, en versión super alfa. Reproduce audio y muestra la lista de archivos que se puede controlar con los botones.
He eliminado los labels y ahora uso métodos gráficos para mostrar los labels y los scrollers, con lo cual se acabarón los labels de hora y tiempo de pista que parpadean, como en roadrunner. además el formulario ahora prácticamente no tiene controles (carga más rápida, sólo tiene el de la lista de archivos), y he implementado mi propia función para los labels con scroll (estaba usando un control del roadrunner).
Necesitais instalado el windows media player 9 o 10, que es lo que usa internamente para reproducir.
Sólo esta implementado lo básico, pista adelante, atrás, siguiente dir, dir anterior (pulsación larga en los botones de pista) y lo básico para moverse por los menus.
Los botones ya funcionan con repetición y con códigos de hold (mantener botón pulsado)
Hay implementados algunos codigos para los labels, las estáticas, el tiempo de pista, la hora, la fecha, el directorio actual y la pista actual.
Para los que quieran probar basta con darle un directorio con mp3 y darle al command1 (y el ya busca el primero reproducible), el skin yo no lo cambiaria porque es demasiado pronto aún para eso y puede que haya bastantes cosas que no funcionen en los cualquier otro skin. En cualquier caso el skin se puede editar perfectamente con el editor de roadrunner.
Podeis probar antes de darle al command1 la lógica de las carpetas con los botones cuadrados de abajo.
Sobre lo de integrar este tipo de reproducción en roadrunner, paso, no quiero echarme horas y horas revolviendo código del roadrunner, lo pensé al principio, pero he preferido comenzar de 0 prácticamente.
Joined: 24 Dec 2004
Mensajes: 3230
Localización: Alicante
Tengo un pequeño problema que se que está solventado con el .net, pero no quiero usar el .net.
Lo que quiero es Crear un objeto (formulario) que se ejecute en un thread independiente en VB6.
He encontrado un par pero ninguna de ellas me parece muy elegante que digamos:
Ambas se basan en crear un exe de tipo ActiveX, con un subproceso por cada objeto (en las propiadades de proyecto).
PRIMERA SOLUCION: el exe activeX será directamente el ejecutable final, y con cada neva instancia crearemos un nuevo thread, lo malo es que se instancia un nuevo objeto entero cada vez (todo el proyecto).
SEGUNDA SOLUCIÓN: el exe activeX lo compilaremos como un componente externo a la aplicación en si, y dentro de ese activeX pondremos los objetos (formularios, clases), que queramos instanciar en nuevos threads, lo malo es que hay que registrar dicho componente activex en el pc en el que se vaya a ejecutar (ya deja de ser un exe de copiar y pegar que es lo que me gusta a mi), y hay un exe de más ejecutándose en la lista de tareas.
Todo este lio porque quiero ejecutar tareas en segundo plano para evitar que la interfaz de usuario se bloquee durante unos segundos (buscar nuevo directorio con canciones, por ej).
Joined: 05 May 2005
Mensajes: 272
Localización: Barcelona
visenri escribió:
Tengo un pequeño problema que se que está solventado con el .net, pero no quiero usar el .net.
...
Todo este lio porque quiero ejecutar tareas en segundo plano para evitar que la interfaz de usuario se bloquee durante unos segundos (buscar nuevo directorio con canciones, por ej).
Ya sabes que en .net creas un thread y listo no? no tiene mas complicacion. Por otro lado, porque dices que no quieres usar .net?
Yo de ti lo probaria y a lo mejor te llevas la sorpresa de que te va mas rapido y todo.
Joined: 24 Dec 2004
Mensajes: 3230
Localización: Alicante
Bueno, esto sigue avanzando, ya funcionan correctamente:
El audioplayer (desde el que también se pueden abrir videos)
El audiobrowser (desde el que también se pueden abrir videos)
Los modos de visualización en el audioplayer
Suavizado de los ruidos de pop al cambiar de pista (reduciendo y elevando posteriormente el volumen del control windows media player al realizar el cambio de pista).
Integración con el interfaz serie kenwood que me fabriqué, de forma que ahora controlo la mayor parte del audioplayer y el audiobrowser desde los botones de la radio (sin usar programas externos tipo girder), me falta rizar el rizo, que es sacar el tiempo y número de pista por la pantalla del kenwood (a eso me pongo ahora).
Si tengo un rato luego adjunto unos archivos con el nuevo skin y el programa.
Ver tema siguiente Ver tema anterior No puedes escribir nuevos temas en este foro No puedes responder temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en encuestas en este foro You cannot attach files in this forum You cannot download files in this forum