[PSP][LUA] Problema con cuelgues al reproducir sonido

Hola, en primer lugar no estoy muy seguro de que esto venga aquí, pero si no es así agradezco a los moderadores que lo muevan. Veréis, estoy empezando a programar con LUA en PSP. Llevo ya algunos programillas poco útiles hechos, y con mi "estrella" XDXD el PEOS (Phisical Exotic & Original System) tengo un buen problema con los cuelgues. No sé por qué, pero antes de que pase un minuto de andar dando botones se cuelga y se apaga la PSP. Unas veces antes y otras despúes. Os dejo el código para que le echéis un vistazo:

--PEOS 1.22 Beta
--Autor: Juan The Most Wanted
--Idea original: Yusta Sk8
--Keroxeno Hax CopyLeft
--keroxenohax.foroactivo.com
rojo = Color.new(255,0,0)
azul = Color.new(0,0,255)
verde = Color.new(0, 255, 0)
blanco = Color.new(255,255,255)
amarillo = Color.new(255,255,0)
Music.volume(128)
while true do
screen:clear()
pad = Controls.read()
if pad:up() then
   Music.playFile("mojado.it", false)
end
if pad:down() then
   Music.playFile("nervioso.it", false)
end
if pad:left() then
   Music.playFile("tos.it", false)
end
if pad:right() then
   Music.playFile("vendaval.it", false)
end
if pad:l() then
   Music.playFile("vomito2.it", false)
end
if pad:r() then
   Music.playFile("risa2.it", false)
end
if pad:triangle() then
   Music.playFile("comun.it", false)
end
if pad:circle() then
   Music.playFile("dejahuella.it", false)
end
if pad:cross() then
   Music.playFile("dejahuella.it", false)
end
if pad:square() then
   Music.playFile("comun.it", false)
end
  if pad:select() then
  System.Quit()
  end
screen:print(10, 100, "ARRIBA ---> Pedo Mojado", blanco)
screen:print(10, 110, "ABAJO ---> Pedo Nervioso", blanco)
screen:print(10, 120, "IZQUIERDA ---> Pedo Disimulado", blanco)
screen:print(10, 130, "DERECHA ---> Pedo Vendaval", blanco)
screen:print(10, 140, "TRIANGULO/CUADRADO ---> Pedo Comun", blanco)
screen:print(10, 150, "CIRCULO/X ---> Pedo Desgarrador", blanco)
screen:print(10, 160, "BOTON L ---> Vomito", blanco)
screen:print(10, 170, "BOTON R ---> Risa Floja", blanco)
screen:print(10, 180, "SELECT ---> Salir", rojo)
screen:print(10, 250, "Idea original: Yusta Sk8", azul)
screen:print(10, 260, "Keroxeno Hax Copyleft. Creado por Juan The Most Wanted.", amarillo)
screen:print(10, 10, "Battery %: "..System.powerGetBatteryLifePercent(), verde)
screen:print(410, 10, os.date("%H:%M:%S"), verde)
screen:print(410, 20, os.date("%d/%m/%y"), verde)
screen.waitVblankStart()
   screen.flip()
end


Espero que no se me juzgue por el tipo de programa, que ya sé que no es demasiado "normal" XDXD.

Muchas gracias por vuestra ayuda.
Estaba dando un voltio para ver como iba esto de LUA en la psp.... en cualquier caso. Así a botepronto y sin saber nada de LUA. veo que tienes un bucle que dependiento de boton que pulses suena un sonido u otro. No se como irá realmente la función Music.Playfile... pero puesto que continuamente la usas sin parar antes la musica puede que por ello se cuelga. Si existiese un Music.Stopfile o algo así, usala antes de cada Music.Play
Prueba a meter los If's debajo de los Print.
En la versión 3.00 ya no se imprime prácticamente nada. De todas maneras, se sigue colgando de vez en cuando (cada 3 o 4 minutos de uso).

Muchas gracias.

Saludos.
3 respuestas