PDA

Ver la versión completa : Sobre las Minimal Lib de Rlyeh y el sonido



kounch
20/12/2005, 05:44
Hola
resulta que estoy trabajando en una interfaz de selección de archivos (pensando sobre todo en cargar ROMs en el emulador de GameBoy de K-Teto), y estoy usando las minimal lib, y me he encontrado que, si se lanza un proceso externo (via execvp) después de haber inicializado las mismas, el sonido deja de funcionar.

Es una situación poco común, pero de todas maneras lo comento porque no se si esto podría influir para otros usos de dichas librerías.

Por ahora la solución que he encontrado consiste en hacerme una versión modificada de la función gp2x_init, que no abre los dispositivos de sonido de la consola (mi programa no usa sonido).

Si alguien quiere verlo con más detalle, puede bajar el programa y el código fuente aquí:

http://www.gp32spain.com/foros/showthread.php?t=25617

Un saludo
kounch

hermes PS2R
22/12/2005, 07:19
Antes de lanzar el proceso externo, deberias salir de las librerias con gp2x_deinit() y así cerraría el device que controla el sonido (supongo que el problema es que solo un proceso puede controlar el sonido y al salir de la aplicacion sin cerrar el device, ninguna aplicacion puede despues controlarlo)

kounch
22/12/2005, 22:14
Hola
Eso ya lo estuve probando (por cierto, tuve que editar la función, ya que gp2x_deinit llama al menu de gp2x y cierra el programa, con lo que no me servía tal cual), y el problema se seguía produciendo, y por eso opté por no inicializar el sonido, ya que mi programa no lo usa.

De hecho, ayer comprobé que sucede exactamente lo mismo con el emulador de PC Engine, que creo que también usa la minimal lib. Si lo lanzas, juegas un rato, luego te sales y lanzas otro programa, como por ejemplo el Quake, comprobarás que este último no tiene sonido. Creo que debe haber algo en el código de las minimal lib que no cierra todo lo que corresponde al sonido y deja este "pillado".

Un saludo
kounch

kounch
03/01/2006, 17:35
Al final parece que es algo con la pausa (gp2x_sound_play) o el volumen (gp2x_sound_volume), he vuelto a cambiar el código para que no toque ninguna de las dos cosas, y ahora el sonido va bien siempre.

Makoe
03/01/2006, 18:08
Si ves que falla esperate a las 0.b ke deben estar cerca de salir.