[DS] Libreria eSound

Bueno, pues ya la teneis aquí:

http://mods.elotrolado.net/~hermes/eSound.zip

He incluido el codigo fuente completo de la librería, el de mi juego 'Asteroids and Gems' y dos ejemplos mas: keyboard que es el teclado que usé en mi primera demo y mic_capture, que muestra como implementar una grabación de microfono y posterior reproduccion.

Tambien incluyo una completa documentacion en español, en formato PDF ;)

La librería está pensada para usarla junto con LIBNDS, aunque no debereis usar nada de LIBNDS relacionado con el sonido.

Supongo que con PAlib no se llevará bien... yo no utilizo esta libreria pero se que tiene partes de sonido, que como poco debereis evitar. Tal vez así funcione... o tal vez necesite de una adaptación.

En todo caso, a mi no me preocupa: con LIBNDS y esta librería de sonido, hay mas que suficiente para hacer juegos como 'Asteroids and Gems' o mas sofisticados :)

Al final, a ultima hora he añadido la posibilidad de cambiar la frecuencia de grabación del microfono (estaba fijada a 16000Hz) lo cual resulta interesante, pues para algunos usos, se puede poner una frecuencia alta y ganar calidad y para otros, una frecuencia baja será suficiente (por ejemplo, en 'Asteroids and Gems' ahora capturo a 8000Hz). Recordad que el microfono hace uso de un timer y eso supone que si se programa a 16000Hz, se producen 16000 interrupciones por segundo y eso resta capacidad al ARM7 para otras tareas.

En fin, si teneis alguna duda, preguntad.
Muchas gracias, ahora le pego una ojeada y comento que me parece ;) pero muy buen curro, eso lo digo sin habera mirado ni nada.

Gracias.
Madre mia, se ve que está de putisima madre :D

Te doy mis felicitaciones, tendré en cuenta tu liberia en un futuro, porque ahora estoy encasquetado con las bases de las libnds (dejando atras las PALib)

Una genial documentacion, y espero que la funcion para pausar el sonido MOD te permita que el sonido continue porque el MOD de PALib es tremendamente "buggy"

De nuevo mis felicitaciones, quizas podrias contactar con los que llevan lo de la libnds a ver si pueden integrar esto ;)

Saludos

EDIT: WAAAAAAAAAAAAAAAAAA

ME HE EMOCIONAO, CON LO DE CAPTURAR SONIDO Y LUEGO REPRODUCIRLO, Y EL JUEGUECILLO.

Mis mas sinceras felicitaciones tio :D
Lupi escribió:Madre mia, se ve que está de putisima madre :D

Te doy mis felicitaciones, tendré en cuenta tu liberia en un futuro, porque ahora estoy encasquetado con las bases de las libnds (dejando atras las PALib)

Una genial documentacion, y espero que la funcion para pausar el sonido MOD te permita que el sonido continue porque el MOD de PALib es tremendamente "buggy"

De nuevo mis felicitaciones, quizas podrias contactar con los que llevan lo de la libnds a ver si pueden integrar esto ;)

Saludos

EDIT: WAAAAAAAAAAAAAAAAAA

ME HE EMOCIONAO, CON LO DE CAPTURAR SONIDO Y LUEGO REPRODUCIRLO, Y EL JUEGUECILLO.

Mis mas sinceras felicitaciones tio :D


Gracias, gracias!

Si, aqui puedes pausar y luego continuar la reproduccion del Mod y ademas, cuando termina de reproducirse el MOD, el sonido se apaga (vamos que no se quedan los registros de sonido tocando las pelotillas) y tambien tiene un control de volumen que no afecta al volumen general....


Si no me equivoco, el reproductor de PAlib es mas o menos el mismo que el que uso yo, pero claro, yo le he añadido ciertas pequeñas modificaciones ;)


EDIT: Sobre lo de contactar con los que hacen LIBNDS, me da palo: mi inglés es muy malo, malote X-D
Bueno, ya lo he estado mirando, hay que hacer algo especial para compilar las demos? es que yo me creo un bat con make y pause... y me compila sin errores aparentes, pero despues esos archivos no me funcionan.

gracias
Joder, es estupenda! Ahora estoy estudiando un poco como funciona. Me vendra de perlas porque hasta ahora reproducia sonido a lo chapucero y me daba muchos problemas. Ahora podré poner musica de fondo a mi juego.

Saludos [bye]
Neopiro escribió:Bueno, ya lo he estado mirando, hay que hacer algo especial para compilar las demos? es que yo me creo un bat con make y pause... y me compila sin errores aparentes, pero despues esos archivos no me funcionan.

gracias


¿has editado el fichero nds_rules y añadido la variable ARM7BIN en tu makefile?

Si no lo has hecho, mirate la pagina 18 del PDF que adjunto, que ahi lo explico todo y si lo has hecho, prueba a poner la ruta global de donde se encuentre el arm7.bin.


La NDSTOOL mete un binario para arm7 por defecto, si no se le especifica uno como parametro y evidentemente, no te funcionará.


Por cierto, yo suelo utilizar el emulador Dualis que funciona bastante bien con estas demos. Tengo que decir que ahí no puedo garantizar un funcionamiento optimo de la librería, debido a que este emulador no soporta la interrupcion IPC del ARM7 que yo utilizo enla libreria, y que en su defecto, se utiliza la interrupcion VBLANK para interpretar los comandos, lo cual añade demoras (el codigo de ARM7 contiene un pequeño truco para detectar cuando está rulando bajo el emulador)
Gracias por contestar, ya me habia leido el PDF, y ya tenia modificado el DS rules... ademas uso los makefiles que traen tus ejemplos, los he mirado y estan bien ... solo se me ocurre que uses otra version del devkit... que version usas?
Neopiro escribió:Gracias por contestar, ya me habia leido el PDF, y ya tenia modificado el DS rules... ademas uso los makefiles que traen tus ejemplos, los he mirado y estan bien ... solo se me ocurre que uses otra version del devkit... que version usas?


Pues la ultima versión en todo devkitarm release 19b y la ulltima version de LIBNDS.

De todas formas, verifica que la NDSTOOL pilla el arm7.bin bueno.

Por cierto, si es un problema de a version de tus libs, prueba a compilar el arm7 primero y luego los ejemplos, pues a mi me pasó como a ti al principio, cuando trate de incluir un binario de arm7 antiguo, con estos compiladores
si que era cuestion de versiones, ya que he actualizado todo y ahor ame funciona muy bien. gracias por el curro de documentacion y todo ;)
pues nada, 5 estrellitas para ti, que este post no se pierda, a ver si le ponen chincheta!!

Estoy de acuerdo en que deberias contactar con los que hacen libNDS y demas librerias, a lo mejor podeis unificarlas en una sola. Buscate a alguien que domine el ingles :D

Aparte de eso, leyendo he visto lo del fallo en la libreria FAT, que tambien deberias reportar para que lo corrijan cuanto antes ;)

Un saludo!
chesko escribió:pues nada, 5 estrellitas para ti, que este post no se pierda, a ver si le ponen chincheta!!

Estoy de acuerdo en que deberias contactar con los que hacen libNDS y demas librerias, a lo mejor podeis unificarlas en una sola. Buscate a alguien que domine el ingles :D

Aparte de eso, leyendo he visto lo del fallo en la libreria FAT, que tambien deberias reportar para que lo corrijan cuanto antes ;)

Un saludo!


Buenas, ahora la libreria buena es esta:

http://www.elotrolado.net/showthread.php?s=&threadid=617139

Sobre los autores de LIBNDS, cuando tenga la traduccion de este trabajo nuevo, quizá trate de ponerme en contacto con ellos, por mediación de alguien (mi ingles es malo)

Sobre el bug de la librería FAT, lo reporté aqui, pero se me quitaron las ganas de reportarlo fuera cuando estoy bien que cada fabricante opta por sacar unas librerias exclusivas para su modelo, sin publicar fuentes ni nada.

Yo tengo una libreria que va perfectamente con mi M3 SD, pero pocas ganas me entran de hacer aplicaciones que puedan leer/escribir en la SD si luego mucha gente va a tener problemas por culpa de las incompatibilidades...
11 respuestas