Bennu Game Development

Foros en Español => Extensiones => Mensaje iniciado por: FreeYourMind en Febrero 22, 2010, 12:13:02 pm

Título: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 12:13:02 pm
Hheheheheheheh, en 3 minutos he echo mi primer mod para Bennu (despues de llevar semanas con otro modulo que tengo abandonadito el cual iba a ser el primero y resulta que no lo ha sido  ::)), y todo por el foro del Pong, donde sugeria que Bennu hicierá Beeps, para poder hacer un Pong sin usar recursos.

Y aqui esta, lo he echo, os lo paso y el código ejemplo, hehheheeheheheh

importar el modulo "mod_beep" en 'bgdc.import'.


Código:


BEGIN
              set_mode(m320x200);
    set_fps(60, 0);
   
    beep(100, 300); // Frequencia, Tiempo
   
    loop
    frame; end
END


Que lo disfruteis ;)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 12:21:16 pm
jajajajaja... perdon, buenisimo...

;)

programate algun ejemplo de alguna melodia... alguno de spectrum?

obviamente, karma.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 12:26:56 pm
Eso os lo dejo a vosotros, para que enseñeis vuestros dotes musicales, hehehhe.

(Por cierto tenia unas cuantas en qbasic, es una pena que no tenga aqui el programa para copiar los tiempos).
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 01:59:23 pm
eso de copiar es simple...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 02:13:10 pm
Una copiada :I

Beep(329,300); //E
Beep(493,300); //B
Beep(698,300); //F^
Beep(659,600); //E^

Beep(783,300); //G^
Beep(698,300); //F^
Beep(659,600); //E^

Beep(329,100);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(392,250);
Beep(440,200);
Beep(587,300);

Beep(349,250);
Beep(587,500);

Beep(329,300);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(783,300);
Beep(698,300);
Beep(659,600);

Beep(329,100);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(392,250);
Beep(440,200);
Beep(587,300);

Beep(349,250);
Beep(587,400);
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 02:14:28 pm
a probar! jejeje!
Título: Re: [Bennu Module] mod_beep
Publicado por: Windgate en Febrero 22, 2010, 02:36:30 pm
Vamos a probar :D

Podías poner las fuentes de la .dll, a ver si aprendemos algo aunque sea a base de ver el código de otros :(

Grande, gracias!
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 02:38:22 pm
caramba! no funciona, tiene dependencias a librerias opengl, tiene parte del codigo de bennu3d, incluyendo toda la inicializacion de las libs 3d... y algunos simbolos estan exportados como sumarlib y otros como mod_open3d...

la cosa es que no funciona... podrias poner el codigo o una version correcta de este modulo?
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 03:03:12 pm
Tchaaammm, nueva version, ahora se admite el sleep (con esto creo que esta completo). Y ya no depende de open gl, hhehhe, creo yo, fue un error de mi parte ya que utilizé el otro para crear este ;)

Ejemplo, el código quedaria así:

Beep(739.99, 210);
Beep_Sleep(600);
Beep(739.99, 210);

Edito, mira a ver si esta ya correcto sino mañana lo creo como nuevo para que no queden restos de nada.

Mirar este video, la musica de super mario, le he pedido todos los beeps, a ver si me los envia :)

http://www.youtube.com/watch?v=PKHBHSTybDA&feature=player_embedded
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 03:09:10 pm
vamos a probar!
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 03:11:09 pm
pide "glut32.dll"... pon el codigo please...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 03:12:11 pm
Ahora saco la version 3, y por mis huevos no va pedir nada ;)
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 03:18:34 pm
Si me dices que vuelve a pedir cosas ajenas me pego una ostia a mi mismo :)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 03:22:27 pm
jajaja... vamos a ver ahora...
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 22, 2010, 03:24:45 pm
eres mas duro que arturo, mira que te cuesta dejar el src :D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 03:27:56 pm
ahora si... no pide nada, pero no hace nada... pongo codigo de ejemplo...

Código: [Seleccionar]
import "mod_beep";

begin

Beep(329,300); //E
Beep(493,300); //B
Beep(698,300); //F^
Beep(659,600); //E^

Beep(783,300); //G^
Beep(698,300); //F^
Beep(659,600); //E^

Beep(329,100);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(392,250);
Beep(440,200);
Beep(587,300);

Beep(349,250);
Beep(587,500);

Beep(329,300);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(783,300);
Beep(698,300);
Beep(659,600);

Beep(329,100);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(392,250);
Beep(440,200);
Beep(587,300);

Beep(349,250);
Beep(587,400);

end

probe tambien poner un loop con frame... no hace nada...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 03:30:49 pm
No puede ser, si a mi me va, lo probe incluso con la 3.

    set_mode(m320x200);
    set_fps(60, 0);
    /*
    beep(100, 300); // Freq, Tiempo
    beep(50, 300);
    beep(150, 300);
    beep(100, 300);
    beep(150, 300);
    beep(50, 600);
    beep(200, 500);
    beep(230, 400);
    beep(100, 700);
    */

/*   
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
Beep(876,500);
Beep(982,500);
Beep(1050,500);

*/

Beep(329,300); //E
Beep(493,300); //B
Beep(698,300); //F^
Beep(659,600); //E^

Beep(783,300); //G^
Beep(698,300); //F^
Beep(659,600); //E^

Beep(329,100);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(392,250);
Beep(440,200);
Beep(587,300);

Beep(349,250);
Beep(587,500);

Beep(329,300);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(783,300);
Beep(698,300);
Beep(659,600);

Beep(329,100);
Beep(493,300);
Beep(698,300);
Beep(659,600);

Beep(392,250);
Beep(440,200);
Beep(587,300);

Beep(349,250);
Beep(587,400);

/*
Beep(739.99, 210);
Beep_Sleep(1600);
Beep(739.99, 210);
*/


   
    loop
    frame; end
END
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 03:36:53 pm
eres mas duro que arturo, mira que te cuesta dejar el src :D

Que va, si no tiene nada, sólo llama directamente al beep de C y lo exporta en funciones de Bennu, nada nuevo para ti ni para nadie, no lo puse porque sencillamente estoy utilizando otro modulo al crear este pequeño modulo, o sea, ni tiene su proprio modulo, ya que comente otras funciones y puse estas, como iba a poner basura del otro que todavia ni siquierá lo tengo preparado para sacarlo (y lo que me queda ademas). Esto sólo fue un experimento, que me alegro el día por cierto, he vuelto al tiempo de qbasic cuando me curraba musiquillas para el speaker  ;D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 03:45:28 pm
sera cosas de wine...

alguien mas puede confirmar si le va?
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 03:48:11 pm
Tiene que funcionar vamos, si va en el mio, no puedes reiniciar el wine ? Igual se quedo algo pillado en memoria.
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 03:54:36 pm
el wine es una aplicacion... pero no hace nada me refiero a que ejecuta todo y sale en decimas de segundo...

a vos te puede funcionar porque tenes el entorno armado de cierta forma, por eso te iba la opengl... pero bueno, nada... deberia funcionar, es algo bastante basico...
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 22, 2010, 04:15:11 pm
en mi windows xp con el último bennu y el mod beep a secas va de poca madre, no me pide nada de nada.
el juego de sonidos que has puesto Splinter me recuerda a un juego de spectrum pero no caigo ahora cual es, lo hiciste a posta o es casualidad ;D
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 04:20:14 pm
Lo he puesto yo, era un ejemplo, es mera casualidad.
Bueno, por lo menos se confirma que funciona en tu máquina.
Me voy a dormir, mañana a ver si el crio ese me pasa la del super mario que esta muy bien recreada. Ciao.
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 04:24:13 pm
me gusta este hilo, lastima que no funciona en linux... a menos que el amigo ponga el codigo... no quiero tener que hacerme una lib yo...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 04:29:17 pm
Jo, ostias con el código, ;)

toma a ver si te sirve ;)

int beep(INSTANCE *my, int *params, char *title[])
{
         Beep(params[0], params[1]);
}

int beep_sleep(INSTANCE *my, int *params, char *title[])
{
         Sleep(params[0]);
}

Tambien quieres que te enseñe como se exportan a funciones Bennu ;) ???

PS: ya se que tiene errores de parametros, etc, etc, pero funciona ;)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 04:35:22 pm
jajaja... dale, si me explicas como se hacen las dlls para bennu quizas me atreva a hacer un modulo... sino no...

wait! eso esta mal, vas a hacer que la aplicacion caiga... no puedes hacer eso cuando se espera otra cosa...

quita ese parametro title... por eso quizas no me funciona en linux...

otro detalle, esas funciones no son de C, son de windows, por eso no podras hacerlo portable...
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 22, 2010, 05:06:09 pm
Que diver, recomponiendo mis canciones que tocaba al organillo de peque, aquella época en que tener un ordenata era todo un privilegio y nos divertíamos con la casio haciendo ruidos o pulsando la demo y diciendo que eras tu el que tocaba :D.
menos mal que me hice una tabla con la frecuencia de las notas musicales.
Por cierto, es una lástima que no acepte float el beep ese, las frecuencias de las notas no son todo lo exactas que deberían ser, yo por si acaso he puesto el valor real de frecuencia que deben de tener, ahora mismo bennu los redondea a enteros y no se escucha la nota todo lo real que debería ser pero da el pego.
A ver si alguien sabe qué cancion es esta :D.
Código: [Seleccionar]
import "mod_beep";

#define DO_1 65.406
#define DOsos_1 69.296
#define RE_1 73.416
#define REsos_1 77.782
#define MI_1 82.407
#define FA_1 87.307
#define FAsos_1 92.499
#define SOL_1 97.999
#define SOLsos_1 103.826
#define LA_1 110
#define LAsos_1 116.541
#define SI_1 123.471

#define DO_2 130.813
#define DOsos_2 138.591
#define RE_2 146.832
#define REsos_2 155.563
#define MI_2 164.814
#define FA_2 174.614
#define FAsos_2 184.997
#define SOL_2 195.998
#define SOLsos_2 207.652
#define LA_2 220
#define LAsos_2 233.082
#define SI_2 246.942

#define DO_3 261.626
#define DOsos_3 277.183
#define RE_3 293.665
#define REsos_3 311.127
#define MI_3 329.628
#define FA_3 349.228
#define FAsos_3 369.994
#define SOL_3 391.995
#define SOLsos_3 415.305
#define LA_3 440
#define LAsos_3 466.164
#define SI_3 493.883

#define DO_4 523.251
#define DOsos_4 554.365
#define RE 4 587.33
#define REsos_4 622.254
#define MI_4 659.255
#define FA_4 698.456
#define FAsos_4 739.989
#define SOL_4 783.991
#define SOLsos_4 830.609
#define LA_4 880
#define LAsos_4 932.328
#define SI_4 987.767

#define DO_5 1046.502
#define DOsos_5 1108.731
#define RE_5 1174.659
#define REsos_5 1244.508
#define MI_5 1318.51
#define FA_5 1396.913
#define FAsos_5 1479.978
#define SOL_5 1567.982
#define SOLsos_5 1661.219
#define LA_5 1760
#define LAsos_5 1864.655
#define SI_5 1975.533

#define DO_6 2093.005
#define DOsos_6 2217.461
#define RE_6 2349.318
#define REsos_6 2489.016
#define MI_6 2637.02
#define FA_6 2793.826
#define FAsos_6 2959.955
#define SOL_6 3135.963
#define SOLsos_6 3322.438
#define LA_6 3520
#define LAsos_6 3729.31
#define SI_6 3951.066

#define DO_7 4186.009
#define DOsos_7 4434.922
#define RE_7 4698.636
#define REsos_7 4978.032
#define MI_7 5274.041
#define FA_7 5587.652
#define FAsos_7 5919.911
#define SOL_7 6271.927
#define SOLsos_7 6644.875
#define LA_7 7040
#define LAsos_7: 7458.62
#define SI_7 7902.133

#define DO_8 8372.018
#define DOsos_8 8869.844
#define RE_8 9397.273
#define REsos_8 9956.063
#define MI_8 10548.082
#define FA_8 11175.303
#define FAsos_8 11839.822
#define SOL_8 12543.854
#define SOLsos_8 13289.75
#define LA_8 14080
#define LAsos_8 14917.24
#define SI_8 15804.266

begin

Beep(DO_2,200); //E
Beep(RE_2,200);
Beep(MI_2,200);
Beep(MI_2,300);

Beep(DO_2,200);
Beep(RE_2,200);
Beep(MI_2,200);
Beep(MI_2,300);

Beep(DO_2,200);
Beep(RE_2,200);
Beep(MI_2,400);

Beep(SOL_2,200);
Beep(FA_2,200);
Beep(MI_2,200);
Beep(RE_2,200);
Beep(RE_2,300);
Beep(RE_2,200);
Beep(MI_2,200);
Beep(FA_2,200);
Beep(FA_2,300);
Beep(MI_2,200);
Beep(RE_2,200);
Beep(MI_2,200);
Beep(MI_2,300);

Beep(RE_2,200);
Beep(DO_2,200);
Beep(RE_2,400);
Beep(FA_2,200);
Beep(MI_2,200);
Beep(RE_2,200);
Beep(DO_2,400);

end
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 22, 2010, 05:14:50 pm
splinter, encontré esto para linux, podría integrarse con una macro en el módulo para que sirva para los SOS.

http://www.frank-buss.de/beep/index.html
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 05:50:29 pm
excelente... si, se podria usar...
Título: Re: [Bennu Module] mod_beep
Publicado por: Drumpi en Febrero 22, 2010, 06:27:26 pm
Juas, creo que podríamos dar un premio a la librería mas friki... o más retro :D
¿En serio sería portable a la Wiz y todo? La wiz no tiene buzzer, no se yo si...
Título: Re: [Bennu Module] mod_beep
Publicado por: Prg en Febrero 22, 2010, 07:35:21 pm
genial el modulo, gracias :)
karma++
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 08:45:46 pm
a wiz no se...
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 08:48:54 pm
por cierto, si es el modulo mas friki, sin duda...

a esto se me ocurre alguna competencia a ver quien crea el modulo mas friki... (sin bugs, claro esta...)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 08:57:24 pm
splinter, encontré esto para linux, podría integrarse con una macro en el módulo para que sirva para los SOS.

http://www.frank-buss.de/beep/index.html

en mi pc no hace nada... estoy empezando a pensar que tengo el speaker desconectado... q raro...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 22, 2010, 10:45:25 pm
Esto sólo demuestra que a veces hay cosas o ideas tan sencillas que hasta un crio puede hacer y a nadie se le ocurre, a ver si os ocurre alguna idea sencilla para ser millionarios, aún estais a tiempo, hheheheheh  ;D

Ni el DIV tenia semejante opcion, con lo normal que era en esos tiempos un juego DOS hacer BEEP's  :D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 11:00:05 pm
corrije el tema de los parametros, no puedes cambiar los formatos (prototipos) de las funciones de los modulos... si los cambias, luego de algunas corridas tendras corrupcion de datos y/o caidas del proceso... y vaya a saber que cosas mas puedes poner en riesgo...
Título: Re: [Bennu Module] mod_beep
Publicado por: Windgate en Febrero 22, 2010, 11:19:10 pm
Tampoco estoy convencido de si mi portátil tiene ese altavocito interno, si lo tiene jamás lo he oído :D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 22, 2010, 11:28:45 pm
lo mio era un chiste, si tengo conectado el speaker, lo escucho cuando booteo... pero no me funciona en linux esos metodos...
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 22, 2010, 11:49:12 pm
la mia dctools, para hacer fibonacci, ¿no cuenta? :D
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 23, 2010, 12:13:29 am
En mi portatil los sonidos speaker salen tambien por su sistema megasurround sound hehehehe.

Splinter, luego cuando llegue a casa (en 9 horas heheheh) te corrijó la dll como debe de ser y hago pruebas a ver si funciona en cualquier punto de un juego sin interferir en lo demás.

Me imagino que no funcione en Linux ya que tira de encabecados made by Microsoft, lo mejor seria currarse una compatible con Linux y Windows, DCelso ya ha pasao la paginilla esa.

Por cierto como quedarian la funciones haciendo la modificación de la forma que dices ?
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 23, 2010, 12:21:43 am
int beep(INSTANCE *my, int *params)
{
         Beep(params[0], params[1]);
}

int beep_sleep(INSTANCE *my, int *params)
{
         Sleep(params[0]);
}
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 23, 2010, 12:39:09 am
lol, eso lo sabia pero grácias ;) Lo pregunté porque Splinter a veces tampoco se entiende muy bien ;)

El parametro que tenia lo uso en la funcion de generacion de una ventana en Open GL, donde le pasaba el titulo de la ventana, por lo que veo los parametros por defecto permite ponerle los parametros que uno quiera pero tienen que ser del tipo int, estoy en lo cierto ?
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 23, 2010, 01:41:29 am
No, ni mucho más lejos, es algo más complejo el sistema
 es un array de variables de tipo int, pero estos pueden almacenar cualquier tipo de dato además del típico int , desde un puntero a un string, a un float. Te sugiero que te mires mis módulos dctools,mappy y espeak que son facilotes y te dicen cómo convertir a cada tipo de dato, luego si quieres entrar más en materia puedes ver los módulos smpeg o svg o cualquier otro del código fuente de BennuGD ya que estos son más complejos y usan un montón de más funcionalidades, como definición de constantes, definición de dependencias, funciones de ejecución al iniciarse el módulo, funciones de ejecución en cada frame y unas cuantas cosas de más envergadura.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 23, 2010, 02:59:24 am
Vale grácias, la guerra de los modulos ha empezado  ;D
Seria guay un concurso de modulos en lugar de juegos, así todo el mundo ayudaba Splinter a mejorar Bennu con más ganas, que os parece ?
Creo que Bennu por ahora esta necesitando este empujón.

Yo encantado estaria de jurado, ya que con el desarollo de SkullMan tengo para todo el año  :P
Título: Re: [Bennu Module] mod_beep
Publicado por: Windgate en Febrero 23, 2010, 04:42:23 am
lol un concurso de módulos :D no es mala idea la verdad
Título: Re: [Bennu Module] mod_beep
Publicado por: Drumpi en Febrero 23, 2010, 08:52:58 am
Hombre, si se da de plazo unos cuantos meses, yo me apunto, que ya lo tengo empezado :D :D :D :D
Título: Re: [Bennu Module] mod_beep
Publicado por: DCelso en Febrero 23, 2010, 08:58:45 am
qué módulo.
Título: Re: [Bennu Module] mod_beep
Publicado por: Drumpi en Febrero 23, 2010, 09:32:40 am
http://forum.bennugd.org/index.php?topic=1178.0
;D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 23, 2010, 10:19:27 am
Es como dijo DCelso... y no puede modificar la cantidad de parametros, son 2 y deben ser 2... asi como lo copio DCelso, que le respondiste que ya sabias y que yo no me entiendo... :P
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 23, 2010, 11:09:19 am
Me acabo de enterar en Gp32spain que todavia me faltan cosas por arreglar y otras que implementar. Voy a ver si hago una cosa decente como debe de ser, y fijo, a partir de la proxima release viene siempre con codigo fuente (lo voy a poner en un proyecto aparte), a ver si nos dejamos de malos rollos de una vez, encima por una chorrada de nada (y más aún cuando ya he puesto por aqui 80% del código fuente que utilizo, vamos... no veo sentido).  ::)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 23, 2010, 12:31:47 pm
lo importante es que funcione, ya si tiene muchos features va a dejar de ser el modulo mas friki visto para bennu...

este modulo me recuerda a esto http://www.youtube.com/watch?v=Z86V_ICUCD4

me encanta el modulo, lastima que no lo puedo usar...
Título: Re: [Bennu Module] mod_beep
Publicado por: panreyes en Febrero 23, 2010, 02:08:17 pm
SPOILER AHEAD!!

Los beeps en Vista y 7 suenan por los altavoces, no por el buzzer xD

Me ha hecho gracia el asunto, voy a trastear con ello xD

Pd: Y con un retraso de 100ms entre nota y nota :S
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 23, 2010, 10:56:56 pm
Lo prometido es deuda, la canción de Super Mario :)

BEGIN
   
    Beep(1480,200);   
    Beep(1568,200);   
    Beep(1568,200);   
    Beep(1568,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);
    Beep(369.99,200);
    Beep(392,200);
    Beep(369.99,200);
    Beep(392,200);
    Beep(392,400);
    Beep(196,400);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(783.99,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(783.99,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(880,200);
    Beep(830.61,200);
    Beep(880,200);
    Beep(987.77,400);
    Beep(880,200);
    Beep(783.99,200);
    Beep(698.46,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(783.99,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(783.99,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(880,200);
    Beep(830.61,200);
    Beep(880,200);
    Beep(987.77,400);
    Beep_Sleep(200);
    Beep(1108,10);
    Beep(1174.7,200);
    Beep(1480,10);
    Beep(1568,200);
    Beep_Sleep(200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(783.99,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(783.99,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(880,200);
    Beep(830.61,200);
    Beep(880,200);
    Beep(987.77,400);
    Beep(880,200);
    Beep(783.99,200);
    Beep(698.46,200);
    Beep(659.25,200);
    Beep(698.46,200);
    Beep(784,200);
    Beep(880,400);
    Beep(784,200);
    Beep(698.46,200);
    Beep(659.25,200);
    Beep(587.33,200);
    Beep(659.25,200);
    Beep(698.46,200);
    Beep(784,400);
    Beep(698.46,200);
    Beep(659.25,200);
    Beep(587.33,200);
    Beep(523.25,200);
    Beep(587.33,200);
    Beep(659.25,200);
    Beep(698.46,400);
    Beep(659.25,200);
    Beep(587.33,200);
    Beep(493.88,200);
    Beep(523.25,200);
    Beep_Sleep(400);
    Beep(349.23,400);
    Beep(392,200);
    Beep(329.63,200);
    Beep(523.25,200);
    Beep(493.88,200);
    Beep(466.16,200);
    Beep(440,200);
    Beep(493.88,200);
    Beep(523.25,200);
    Beep(880,200);
    Beep(493.88,200);
    Beep(880,200);
    Beep(1760,200);
    Beep(440,200);
    Beep(392,200);
    Beep(440,200);
    Beep(493.88,200);
    Beep(783.99,200);
    Beep(440,200);
    Beep(783.99,200);
    Beep(1568,200);
    Beep(392,200);
    Beep(349.23,200);
    Beep(392,200);
    Beep(440,200);
    Beep(698.46,200);
    Beep(415.2,200);
    Beep(698.46,200);
    Beep(1396.92,200);
    Beep(349.23,200);
    Beep(329.63,200);
    Beep(311.13,200);
    Beep(329.63,200);
    Beep(659.25,200);
    Beep(698.46,400);
    Beep(783.99,400);
    Beep(440,200);
    Beep(493.88,200);
    Beep(523.25,200);
    Beep(880,200);
    Beep(493.88,200);
    Beep(880,200);
    Beep(1760,200);
    Beep(440,200);
    Beep(392,200);
    Beep(440,200);
    Beep(493.88,200);
    Beep(783.99,200);
    Beep(440,200);
    Beep(783.99,200);
    Beep(1568,200);
    Beep(392,200);
    Beep(349.23,200);
    Beep(392,200);
    Beep(440,200);
    Beep(698.46,200);
    Beep(659.25,200);
    Beep(698.46,200);
    Beep(739.99,200);
    Beep(783.99,200);
    Beep(392,200);
    Beep(392,200);
    Beep(392,200);
    Beep(392,200);
    Beep(196,200);
    Beep(196,200);
    Beep(196,200);
    Beep(185,200);
    Beep(196,200);
    Beep(185,200);
    Beep(196,200);
    Beep(207.65,200);
    Beep(220,200);
    Beep(233.08,200);
    Beep(246.94,200);

END
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 24, 2010, 05:38:57 am
por dios, un recompilado de melodias estaria genial... deseo oir esto...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 25, 2010, 11:12:56 am
Una más de Super Mario:

Begin

Beep(783.99, 300);
           Beep(523.25, 100);
           Beep(659.26, 300);
           Beep(783.99, 400);
           Beep(523.25, 100);
           Beep(659.26, 300);
           Beep(783.99, 100);
           Beep(523.25, 135.4);
           Beep(659.26, 135.4);
           Beep(783.99, 135.4);
           Beep(987.77, 250);
           Beep(880, 650);
           Beep_Sleep(200);
           Beep(783.99, 300);
           Beep(523.25, 100);
           Beep(659.26, 300);
           Beep(783.99, 400);
           Beep(523.25, 100);
           Beep(659.26, 300);
           Beep(783.99, 100);
           Beep(554.37, 135.4);
           Beep(659.26, 135.4);
           Beep(783.99, 135.4);
           Beep(987.77, 250);
           Beep(880, 650);
           Beep_Sleep(150);
           Beep(987.77, 100);
           Beep(1046.5, 300);
           Beep(987.77, 100);
           Beep(1046.5, 300);
           Beep(880, 400);
           Beep(1046.5, 100);
           Beep(987.77, 300);
           Beep(880, 100);
           Beep(783.99, 300);
           Beep(733.99, 100);
           Beep(783.99, 300);
           Beep(659.26, 400);
           Beep(554.37, 100);
           Beep(587.33, 300);
           Beep(659.26, 100);
           Beep(698.46, 300);
           Beep(659.26, 100);
           Beep(698.46, 200);
           Beep(493.88, 400);
           Beep(659.86, 100);
           Beep(587.33, 300);
           Beep_Sleep(100);
           Beep(523.25, 1200);

End
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 25, 2010, 11:28:13 am
3 musiquillas más:


BEGIN
// Charge
Beep(210, 100);
Beep(280, 100);
Beep(348, 100);
Beep(420, 200);
Beep(348, 100);
Beep(420, 400);

END

-----------------------------------


// Mary had a little lamb

BEGIN
Beep(348, 200);
Beep(315, 200);
Beep(280, 200);
Beep(315, 200);
Beep(348, 100);
Beep_Sleep(100);
Beep(348, 100);
Beep_Sleep(100);
Beep(348, 200);
Beep_Sleep(200);
Beep(315, 100);
Beep_Sleep(100);
Beep(315, 100);
Beep_Sleep(100);
Beep(315, 200);
Beep_Sleep(200);
Beep(348, 100);
Beep_Sleep(100);
Beep(415, 100);
Beep(458, 100);
Beep(415, 100);
Beep(372, 100);
Beep(348, 100);
Beep(310, 100);
Beep(348, 200);
Beep(315, 200);
Beep(280, 200);
Beep(315, 200);
Beep(348, 100);
Beep_Sleep(100);
Beep(348, 100);
Beep_Sleep(100);
Beep(348, 100);
Beep_Sleep(100);
Beep(348, 100);
Beep_Sleep(100);
Beep(315, 200);
Beep(315, 200);
Beep(348, 200);
Beep(315, 200);
Beep(280, 600);

END

-------------------------------------------------

BEGIN

// Fur Elise
Beep(420, 200);
Beep(400, 200);
Beep(420, 200);
Beep(400, 200);
Beep(420, 200);
Beep(315, 200);
Beep(370, 200);
Beep(335, 200);
Beep(282, 600);
Beep(180, 200);
Beep(215, 200);
Beep(282, 200);
Beep(315, 600);
Beep(213, 200);
Beep(262, 200);
Beep(315, 200);
Beep(335, 600);
Beep(213, 200);
Beep(420, 200);
Beep(400, 200);
Beep(420, 200);
Beep(400, 200);
Beep(420, 200);
Beep(315, 200);
Beep(370, 200);
Beep(335, 200);
Beep(282, 600);
Beep(180, 200);
Beep(215, 200);
Beep(282, 200);
Beep(315, 600);
Beep(213, 200);
Beep(330, 200);
Beep(315, 200);
Beep(282, 600);

END

-------------------------
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 27, 2010, 03:48:05 am
Despues de varias peleas y intentos fallidos, he conseguido poner Threads en los Beeps (cada uno tiene un Thread), pero siguen haciendo que las demás acciones del programa esperen a que terminen los Beeps para que se ejecuten....

Pongo una foto ejemplo, puse algunos beeps al epezar el logo y cuando terminan escriben en la linea de comandos, sólo despues de que terminen todos, el logo aparece. Estoy ya saturado del modulo...

(http://forum.bennugd.org/index.php?action=dlattach;topic=1197.0;attach=905)
Título: Re: [Bennu Module] mod_beep
Publicado por: Windgate en Febrero 27, 2010, 07:09:36 am
Interesante, deberíamos intentar poner el máximo de threads en todos los módulos, dentro de la medida de lo posible, claro, te doy un karma, toma, pilla :D
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 27, 2010, 07:26:29 am
Me das un karma por la mierda que estoy haciendo  ;D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Febrero 27, 2010, 08:33:37 am
tenes que hacer 1 solo thread y colas...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 27, 2010, 09:06:19 am
Como la que tiene DCElso en su modulo ?

Pero a cual le asignaria la thread ? o sea, tendria que llamar por ejemplo un Start_Beeps con thread y despues al final de los Beeps un Stop_Beeps ?

Que significan los parametros "S" y "SP" en las fuciones export que utilizan threads en los modulos ?

Por utilizar theads el modulo se me ha quedado en 278kb, una burrada ya que sin el sólo ocupa unos 8kb, y no he visto tal difeencia en los modulos oficiales...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Febrero 27, 2010, 11:06:27 am
Mientras no saco una segunda version donde resuleva estas dudas, os regalo la version 1.0.

Viene con un ejemplo con varias musiquillas y con codigo fuente, o sea, viene el proyecto completo para poder compilar en Windows, aparte de ser el modulo más friki según vosotros, tambien es el más sencillo de todos, ya nadie tendrá excusas para hacerse un modulo con code blocks, apuesto que lo compilais a la primera si poneis el proyecto en la ruta: "D:\BennuGD Beep", si no teneis drive D, pues yo editaria la ruta antes de abrir el proyecto con codeblocks, con un editor de texto.

Espero que os guste y que me ayudeis con la proxima version ;)

Descarga en mi página: http://www.gecasoft.no.sapo.pt (http://www.gecasoft.no.sapo.pt)

(http://forum.bennugd.org/index.php?action=dlattach;topic=1197.0;attach=907)
Título: Re: [Bennu Module] mod_beep
Publicado por: Windgate en Febrero 27, 2010, 11:46:33 am
Vamos a ver eso :D
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 09, 2010, 11:43:42 am
Ya hay novedades al repeto. Por fin ya tengo una segunda versión con multithread que permite tocar beeps sin pausar el resto del programa Bennu :)

De momento tengo otros problemas, ya que ahora las threads salen volando y las musicas se descuadran un poco. Intentaré probar con thread_sleep o algo que se me ocurra a ver si lo puedo arreglar, cuando salga de mi descanso, que estoy harto de tanto proyecto.
Título: Re: [Bennu Module] mod_beep
Publicado por: l1nk3rn3l en Mayo 09, 2010, 03:42:48 pm
utiliza getticks() para controlar pausas durante un tiempo determinado...

http://www.libsdl.org/intro.en/usingtimers.html






..
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Mayo 09, 2010, 05:04:56 pm
getticks consume cpu... mejor usar sdl_delay...
Título: Re: [Bennu Module] mod_beep
Publicado por: Drumpi en Mayo 10, 2010, 04:52:15 am
¿Y delay a secas no? yo recuerdo haberlo usado en C++
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Mayo 10, 2010, 05:19:42 am
digo sdl_delay para que sea mas portable.
Título: Re: [Bennu Module] mod_beep
Publicado por: Drumpi en Mayo 10, 2010, 05:42:06 am
Por eso, como delay es del propio C, pensé que sería aun más portable que las propias SDL, que necesitan ser recompiladas para cada plataforma ^^U
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 10, 2010, 07:56:13 am
Lo que es casi seguro es que tendré que poner multithread tambien al Beep_Sleep, sino al hacer un sleep entre beeps seguramente bloqueé tambien la ejecución del resto del juego.
Estoy con ganas de llegar a casa y ponerme con ello :)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Mayo 10, 2010, 08:31:04 am
delay no esta en todos lados...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 10, 2010, 11:31:10 am
No hay manera...

SDL_Delay me anula los threads.

El problema es el siguiente:

1 - Si pongo sólo un Beep por ejemplo en un if(key_1) Beep(100, 120); end se me repite por los menos 3 veces (habria que hacer que sólo inicié uno al darle al botón).

2 -

Si pongo varios beeps dentro del begin end principal, ya funcionan (sólo se llama una vez cada beep), pero otro problema que tengo es que si son muchos no llegan a tocar todos, apesar de que todas las threads se crean...

Este es sin duda el mayor problema, ya que por alguna extraña razón no tocan todos...
Título: Re: [Bennu Module] mod_beep
Publicado por: Windgate en Mayo 10, 2010, 11:46:58 am
Código: [Seleccionar]
IF ( key ( _1 ) )
   WHILE ( key ( _1 ) )
      FRAME;
   END
   beep ( 100 , 200 );
END

Es una de tantas formas de filtrar teclas, de hecho creo que ya hablé sobre mod_key, debería haber una forma sencilla de detectar sólo la pulsación o sólo la liberación de la tecla pulsada, para estos casos tan bizarros.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 10, 2010, 12:05:24 pm
Grácias Wind, aunque la solución para eso es lo de menos, el otro problema es mas gordo :)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Mayo 10, 2010, 02:06:30 pm
es que solo tenes que tener 1 thread para los beeps... no mas que eso...
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 10, 2010, 09:50:12 pm
No Splinter, sigues insistiendo en eso, tiene que ser un thread/beep... Lo que tu dices ya lo he probado y no funciona.
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Mayo 11, 2010, 06:10:18 am
pero hombre, si que funciona, mira la funcion de carga de graficos en background...

no podes hacer muchos threads lanzando sonidos, porque el parlante no es una placa de sonido donde le podes mandar comandos, es un dispositivo que suena mediante envios de ondas, pulsar, no pulsar... si vos quisieras enviar varios beeps a la vez, deberias mezclar la onda y manejarla la "excitacion" del parlante a mano, haciendo los OUTs adecuados al mismo, no podes enviar beeps y pretender que funcione...

tiene que ser un hilo que vaya consumiendo de una lista (buffer) de notas, y la funcion principal va llenando esa cola cada vez que mandas un beep... tal cual lo hace el sistema operativo con el buffer de teclado u otras tantas cosas que tienen buffers...

necesitas usar y comprender esto http://en.wikipedia.org/wiki/Circular_buffer

mas links

http://www.proz.com/kudoz/german_to_spanish/computers:_software/845350-ringspeicher.html

http://www.todopic.com.ar/foros/index.php?topic=23922.0

http://www.infor.uva.es/~benja/apuntes-semaforos-POSIX.html

http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Ada/Tareas/Ejemplos
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 11, 2010, 06:52:30 am
Es muy facil hacer la prueba para saber que no funcionaba, fue lo primero que hize, en la funcion interna beep le pongo multithread, depues en lugar de llamar un beep, llamo unos cuantos (o sea si tiene multithread, todo lo que hace dentro de ella tendria que estar en una thread, en este caso todos los beeps que pongo dentro....), despues en el prg llamos sólo una vez a la funcion beep, y como sabes esta fue creada en una thread y va ejecutar todos los beeps que tiene dentro. Pues bien, loe ejecuta, pero sigue pausando el resto de Bennu.

Ahora mismo, creo una thread por cada beep, y si funciona, lo que pasa es que se descuadran un poco, por ejemplo, al hacer un beep escribo al mismo tiempo en la consola, los prints salen todos correctamente, pero se nota que algunos no terminan de imprimirse, es como si se cancelaran, lo mismo con los beeps, si pongo pocos toca bien, pero con muchos, estos ultimos ya ni suenan. Luego os pongo unas pantallas, donde verás el recorte en los prints, ya que no puedes probar el modulo porque es para windows, pero si alguien se ofrece para probarlo, os pongo tb la beta de la dll.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 11, 2010, 07:00:37 am
Lo unico que seria necesario es crear una cola, o un sistema que sólo permita ejecutar el siguiente thread/beep cuando el anterior haya terminado...
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Mayo 11, 2010, 07:25:00 am
Lo unico que seria necesario es crear una cola, o un sistema que sólo permita ejecutar el siguiente thread/beep cuando el anterior haya terminado...

y asi volves a lo que digo... a ver... tratare de explicarlo bien facil...

1) programa principal bennu
2) thread controlador de beeps (1 solo y unico thread en toda la ejecucion)
3) cola-fifo/buffer-circular de lectura y escritura

funcionamiento

1) arranca bennu
2) carga dll mod_beep y en ese momento crea thread que cada X tiempo va revisar la cosa por disponibilidad de datos. Para esto se necesitan punteros de inicio de datos y fin de datos dentro de la cola, tamaño de la cola, un flag para indicar que hay datos disponibles y si queres cantidad de elementos en la cola. Tambien te sugiero un semaforo o mutex para que no te compliques la vida, pero solo este semaforo o mutex debe ser usado para leer/escribir los valores en la cola NO DEBE USARSE PARA HACER EL BEEP real.
3) ejecutas la funcion beep (desde prg) y esta funcion beep (prg) escribe un dato en la cola (NO CREA NINGUN THREAD NI ESPERA NADA DE LOS THREADS), solo escribe
4) como tenemos el thread controlador esperando datos de la cola, los leera cuando esten disponibles y los ejecutara, y actualizara las variables de referencia segun vaya consumiendo (bloquea, lee, "si hay datos actualiza variables que indican que leyo", desbloquea, "si hay datos hace el beep-sound", y vuelve a iniciar el ciclo... mira bien que cuando hace el beep-sound no esta bloqueado el semaforo/mutex, esto es importantisimo.)

Esto es como debe ser la implementacion, imposible que te detenga el programa principal si lo haces de esta forma, ahora si creas un thread puede que esa creacion de thread este esperando la finalizacion del mismo, todo depende como lo haces.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Mayo 11, 2010, 08:05:24 am
Grácias por la explicación, de verdad ya tenia claro más o menos todos esos pasos que hay que hacer, el problema no es entenderlo, pero mas bien implementarlo :)

A ver si lo consigo, seria fenomenal conseguir implementarlo y de paso hacer beeps compatibles con linux, y lo mejor de todo portarlo a la Wiz por algun sistema de emulación (aunque igual se podria hacer más facilmente con revisiones de los modulos midi o notes...). DCElso tiene una cola en el suyo igual le hecho luego un vistazo :))
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Mayo 11, 2010, 09:06:32 am
fantastico... ;)
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 05, 2010, 10:14:27 am
Buenas,
en mis primeros pinitos con Linux y Bennu, he compilado la primera version de la Dll para Linux, no utiliza el mismo codigo que la version Windows porque esta utiliza encabecados/dependencias de Linux para tal efecto, pero el resultado tendria que ser similar.

De momento es una beta ya que aunque el ejemplo Bennu tenga beeps con freq. y duracion como parametro, internamente solo leera el primer parametro, o sea, la frequencia, pero para la primera prueba esto no es importante.

Os pongo el test, con el modulo y todo lo necesario para compilar el test y probar.

Necesito vuestra ayuda

Notas:

1 - A mi no me tocan los Beeps en Linux, he instalado el beep que existe para Linux y que se ejecuta en la linea de comandos y este no suena nada.
Con esto quiero decir que aunque este modulo funcione, yo no puedo saberlo.

2 - El problema que tengo aparte del comentado, es que a mi no hay forma que me encuentre el modulo, donde se tienen que poner los modulos ? Lo he puesto en todo sitio, en todas las carpetas lib de Bennu que he encontrado y tambien en la carpeta del test y nada, no me encuentra el fichero... y eso que lo he compilado en la misma maquina y me lo genera con el nombre correcto.

PS: Quiten la extension rar al fichero.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 10, 2010, 09:19:11 pm
Bueno, una semana despúes y total desinteres. Ya digo lo mismo que Drumpi, si nadie me ayuda tendré que prescindir de trastear con Linux y los ports de modulos de Bennu  ;D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Junio 10, 2010, 10:53:48 pm
todos estamos con cosas... y yo necesito ponerme a terminar unas cosas para bennu...
Título: Re: [Bennu Module] mod_beep
Publicado por: l1nk3rn3l en Junio 11, 2010, 05:42:29 am
debe ser que beep usa el speaker en linux y no la tarjeta de sonido..

deberias probarlo en windows o pasame por aqui los fuentes y lo pruebo en windows

adjuntame .c y .prg

Gracias
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 11, 2010, 06:24:29 am
Te estas liando linker :) El de Windows funciona (los fuentes de esta version 0.01, equivalente, sin multithread y sólo para windows estan en mi pagina).

El de Linux, aunque el objetivo es que el modulo tenga las mismas prestaciones que el de windows, internamente no utiliza el mismo código fuente, ya que tira de encabezados de Linux.

He leido en otro foro que hay que habilitar esta funcion de speaker en linux, pero no lo he probado aún, hay un programa llamado beep, que se descarga de los repositorios y te permite tocar beeps en la linea de comandos, con esto tambien sirve para saber si tu linux tiene los beeps habilitados, ya que a mi tampoco me suena con este.
Título: Re: [Bennu Module] mod_beep
Publicado por: Drumpi en Junio 11, 2010, 08:21:29 am
Siento no poder echar una mano, pero estoy con el proyecto. No me importa de vez en cuando cambiar código c por Bennu, pero es que probar un módulo que se oye en toda la casa es muy difñicil de "disimular" para que no se den cuenta mis "jefes".
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 15, 2010, 03:40:53 am
Sobre Linux, no hay aqui nadie que pueda ver si le funcionan los Beeps ?

Me han dicho que han quitado el módulo del "speaker" en la últimas versiones. Alguien puede probar el programa Beep que se ejecuta en una terminal (se obtiene de los repositorios) a ver si suena ???

En caso negativo, con "modprobe pcspkr" en un terminal se puede habilitar el speaker. Si se quiere que se ejecute al arrancar editamos el fichero /etc/modprobe.d/blacklist.conf y comentamos la linea que pone: blacklist pcskpr
Título: Re: [Bennu Module] mod_beep
Publicado por: josebita en Junio 15, 2010, 04:11:17 am
No lo puedo probar (exámenes...) pero es cierto que desde hace un par de versiones -en Ubuntu al menos- el módulo de salida de sonido de pcspeaker viene en la lista negra => Aunque tu hardware tenga soporte, no se carga el módulo automáticamente.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 15, 2010, 05:31:21 am
Se me olvido comentar que en mi caso aunque lo active, sigue sin tocar nada los beeps.
Título: Re: [Bennu Module] mod_beep
Publicado por: l1nk3rn3l en Julio 06, 2010, 09:14:52 am
ese problema del beep , no suena en mi nueva board
recomiendo que uses play_freq la funcion que usan en la mod_notes
http://forum.bennugd.org/index.php?topic=1199.0



aqui la version con threads que prometi ...
es facil adaptar la funcion play_freq que comente en esta nueva version..
http://rapidshare.com/files/405339825/BennuGD_Beep.rar
http://www.mediafire.com/download.php?laxmmdyzlzt
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Julio 06, 2010, 10:45:26 am
Muchissimas grácias por la versión con threads (por fin yupiiii!!!!!!).
Voy a probarla (con esto ya sólo me falta la version Linux).

Por fin vamos a tener beeps en los juegos como debe de ser.

Mil karmas de grácias (1 como si fueran 100 heheheheh, felicidades 100 karmas ;)) :)
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Julio 06, 2010, 11:09:59 am
Vengo con pena, pero no funciona al 100%.

Es verdad que ya tiene multithreads, por ejemplo si escribo un texto al fin de los sonidos de una musica este se escribe así que empieza el sonido, pero los sonidos no tocan al 100% en ritmo (a veces se paran un poco), otra cosa es que a veces las musicas se repiten, por ejemplo la musica 1 que es pequeña, no se porque pero se repite 4 veces, y lo peor a veces las musicas se paran al empezar, como las de Super Mario (tune 1).

De todos modos grácias por tu explendido trabajo, si no puedes seguir con el, cuando pueda intentaré echarle un ojo a ver si lo arreglo, por lo menos ya queda menos :). La versión 1.0 aunque sin multithread esta estable, y hasta que la versión multithread no lo este no voy a oficializar la release 2.0.

Muchas grácias.
Título: Re: [Bennu Module] mod_beep
Publicado por: l1nk3rn3l en Julio 06, 2010, 12:13:54 pm
bueno se repite la cancion por el eco del teclado

presionas "1" y si no controlas el eco del teclado
parece que presionaras esa tecla CINCO VECES..

ejemplo de controlar eco:

while (key(_1)) frame; end;


por cierto deberian tocar bien ya que es otra tarea que se ejecuta
al tiempo... debe ser que lo corres en un equipo (no multicore)
y le toca compartir las tareas en un solo nucleo...(creo)



Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Julio 06, 2010, 12:44:40 pm
Ya miraré el ejemplo, de momento ando liado con el Pinball Action.
Mi procesador es del portatil, intel core 2 Duo T7700 2,4 Ghz.
A ti no te ocurre ? Te suenan bien las super mario ?
Título: Re: [Bennu Module] mod_beep
Publicado por: l1nk3rn3l en Julio 09, 2010, 08:11:11 am
A ti no te ocurre ?
LO DE REPETIRSE NOP, PORQUE CAMBIE EL CODIGO PARA EVITAR EL ECO DESDE
EL .PRG

while (key(_1)) frame; end;
while (key(_2)) frame; end;
while (key(_3)) frame; end;
while (key(_4)) frame; end;
while (key(_5)) frame; end;


Te suenan bien las super mario ?
como te dije con mi nuevo pc ya no me suena ningun sonido con beep
recomiendo que uses la funcion de la tarjeta de sonido
como lo comente antes
ver mod_notes.dll en el foro
 
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Julio 09, 2010, 08:28:39 am
Voy a dedicarle unos minutos, ya te cuento.

Sobre el mod_notes, lo ideal es no utilizarlo, ya que aqui se usa el speaker, y en los ordenadores recientes que no tienen speaker, este se emula internamente. Si usase el mod_notes este modulo beep no tendria sentido, ambos se complementan.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Julio 09, 2010, 08:43:20 am
Ya he hecho las pruebas.
Efectivamente con el frame; quitamos el eco y ya tocan correctamente.

Lo curioso es que si le damos de nuevo al boton mientras esta tocando, justo cuando termine la musica se vuelve a repetir, por ejemplo si le damos 3 veces despúes, al terminar se repetirá 3 veces, o sea se ponen en la cola, pero lo bueno es que así no se machacan y las musicas tocan todas bien de esta forma.

Ya se podria dar como válido, su correcto uso ya depende del modo como construimos el .prg de ejemplo.

Voy a compilarlo de nuevo, quitarle los mensajes de debug (lo que escribes en la consola, que no es necesario en la versión final) y a ponerlo correctamente como versión 2 (actualizaré los creditos de src con tu nombre, y pondré versión 2 en el prg de prueba).
Ya que tambien tengo que actualizarlo en mi página.

Si deseas hacer algun cambio antes, espero algun tiempo, y ya lo publicaré el fin de semana, Domingo por ejemplo (porque lo quiero poner tambien en Gp32spain).
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Julio 22, 2010, 06:02:26 am
He compilado de nuevo la dll sin mensajes de debug, con el ejemplo de pruebas actualizado.
Mi proxima meta es hacer la version Linux, tema que tengo pendiente por falta de tiempo.

Con esta version dejo ya aparcado este modulo para windows, pues ya permite poner alguna que otra musiquilla sin afectar el resto de procesos, por si alguien quiere poner un beep de speaker en algun mini juego retro.

Descarga:
http://www.remondes.net/GecaSoft/BennuGD - ModBeep (Ver. 2.0) (Dll&Test).rar (http://www.remondes.net/GecaSoft/BennuGD - ModBeep (Ver. 2.0) (Dll&Test).rar)

Darle las grácias de nuevo a l1nk3rn3l, autor de esta versión.
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Septiembre 13, 2010, 08:30:42 am
para que el codigo del beep funcione en linux hay que correrlo con el usuario root, ademas de eso, las melodias suenan cualquier cosa, y no esperan a que el sonido se reproduzca, lo que hace que si lanzas una serie de beeps se esucha un solo beep cortito.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Septiembre 13, 2010, 08:43:05 am
Pero lo has probado ? A mi no me suena nada, ni el beep de linux por linea de mandos.
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Septiembre 13, 2010, 09:05:07 am
si, lo probe por linea de comando como usuario root.

el modulo no lo probe, creo que no tiene soporte linux, pero igual, como sea, el codigo de linea de comando no va como deberia o por lo menos yo no escucho ninguna cancion razonable.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Septiembre 13, 2010, 09:27:22 am
Es que tienes que componerla tambien, o sea, en linea de comandos. Así solo te sale un sonido en una llamada logicamente, pero lo importante es que si te suenan, a mi no (lo volveré a mirar).
Pero tu tienes speaker real ? Es que yo uso el portatil, igual en Linux no esta instalado ningun 'emulador' del speaker para la salida audio.

De todos modos yo creo que he puesto una version linux de prueba por aqui, pruebala a ver si tocan los sonidos usando Bennu.
De todos modos revisare el tema, por ahora tengo mas ganas que saques el ejemplo makefile para Caanoo (y que conste que en este momento es lo unico que quiero mirar para Caanoo ;))

EDIT:
La derscarga y comentarios de la prueba estan en la anterior página...
http://forum.bennugd.org/index.php?action=dlattach;topic=1197.0;attach=1199 (http://forum.bennugd.org/index.php?action=dlattach;topic=1197.0;attach=1199)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Septiembre 13, 2010, 09:47:11 am
ya lo tengo funcionando por linea de comandos... probalo como usuario root, se ejecuta, asi:

./beep <numero de melodia>

donde numero de melodia es 1, 2 o 3

no se porque las pausas las tengo que tener a al mitad del tiempo, y el problema es que las 2 primeras canciones suenan cualquier cosa, y tenia invertido duracion y sonido.

el programa es para linux pc.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Septiembre 13, 2010, 10:19:14 am
Yo tambien lo tengo compilado para linux alguno que otro creo, y no funcionaban.
A ver si luego quito el polvo a mi portatil linuxero y lo pruebo.
Con esto va ser la 4ª vez que lo enciendo, en 3 meses que lo tengo  ;D
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Septiembre 13, 2010, 10:34:48 am
yo tambien tengo portatil, es actualmente mi pc.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Noviembre 07, 2010, 11:25:01 am
Por fin he probado tu ejemplo (es la quinta vez que enciendo mi portatil de linux :))
No suena, pero se ejecuta, creo que el problema es del audio de mi ordenador, ya que tengo este problema:

http://www.nosinmiubuntu.com/2010/06/solucion-al-error-esperando-que-el.html

Mi problema es como el ultimo post, que no existe el fichero para borrar. Por otra parte el sonido de videos y musicas si toca, solo los beeps no lo hacen, y apuesto a que mi modulo funciona.
Me gustaría que lo probarais a ver si suena en vuestros equipos, todavía nadie lo ha probado en todo este tiempo ;(

Descarga (quiten la extension rar al nombre):
http://forum.bennugd.org/index.php?action=dlattach;topic=1197.0;attach=1199 (http://forum.bennugd.org/index.php?action=dlattach;topic=1197.0;attach=1199)
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Noviembre 07, 2010, 11:32:19 am
ya lo dije, para que suene el beep en linux, tenes que correrlo como root, supongo que si el programa (bgdi) esta con attributos de superusuario tambien funcionara, pero es una suposicion.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Noviembre 07, 2010, 01:54:51 pm
Que estoy como root...
Encima he hecho esto que me recomendaron hace tiempo:

"han quitado el módulo del "speaker" en la últimas versiones. Prueba con "modprobe pcspkr" en un terminal. Si quieres que se ejecute al arrancar edita el fichero /etc/modprobe.d/blacklist.conf y comenta la linea que pone:

blacklist pcskpr"

Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Noviembre 07, 2010, 02:43:35 pm
no se que linux tendras, pero en mi debian actualizado a lo ultimo no esta el pcskpr en la blacklist, es mas no hay nada que tenga siquiera pc
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Noviembre 07, 2010, 02:44:06 pm
proba como root poner lsmod|grep pcspkr
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Noviembre 07, 2010, 03:23:16 pm
Si te lo enseñe en el foro :)
Es el Linux Mint 9, o sea, es un Ubuntu 9 con añadidos.
Título: Re: [Bennu Module] mod_beep
Publicado por: SplinterGU en Noviembre 07, 2010, 03:25:08 pm
cierto.
Título: Re: [Bennu Module] mod_beep
Publicado por: Danielo515 en Noviembre 10, 2010, 10:21:07 am
La última versión para windows no funciona.... ¡ YO TENGO UN JUEGO RETRO, POR FAVOR AYUDA!


Ja ja ja, parece que este es un hilo viejo, a ver si hay suerte y alguien me contesta.
Título: Re: [Bennu Module] mod_beep
Publicado por: FreeYourMind en Noviembre 10, 2010, 11:23:48 am
Hilo viejo  >:(
Como que no te funciona, como lo utilizas en tu juego ? Código please.
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 15, 2012, 03:17:32 am
era sólo para desabafar que llevo meses currando con c de linux en el curro, y desde entonces no he hecho ningun modulo más para bennu, estoy segurissimo que ahora hacer otro modulo seria un cantar muy, muy, pero que muy distinto  :P , y salto de alegria sólo de pensarlo xDDD
Título: Re:[Bennu Module] mod_beep
Publicado por: KeoH en Junio 15, 2012, 03:21:26 am
Pos ponte a ello xDDD q seguimos necesitando un motor 3D potente tipo CryEngine xDDDDDDDDDDD
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 15, 2012, 03:38:07 am
no te ilusiones, esto me sirve sobretodo por si miro los modulos anteriores y reirme de los errores que tendré en ellos xD
Título: Re:[Bennu Module] mod_beep
Publicado por: KeoH en Junio 15, 2012, 04:54:54 am
Hace tiempo que llevo pensando que uno de los modulos que si que nos haría falta es uno que sirva de enlace con las librerias de Steam. Cuando mandas un juego a Steam y te lo aceptan te hacen una cuenta en su sistema como desarrollador, y entonces te dan acceso a esta libreria q permite que el juego se comunique con el sistema de Steam . Esta libreria esta hecha en c++. Habria q ir pensando en si algun dia conseguimos publicar en Steam, que conseguir la comunicación con esta libreria seria una prioridad xDD .... id pensando en eso :P
Título: Re:[Bennu Module] mod_beep
Publicado por: Kloppix en Junio 15, 2012, 05:03:16 am
No sabía del mod_beep. La idea es muy buena. Tienes pensado retomarlo?
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Junio 15, 2012, 05:07:20 am
me gustaria, como es el modulo mas sencillo es un serio candidato, sobretodo queria hacer lo que un forero sugerio en su dia, usarlo con fractales para ver como sonaba un fractal sonoro xD
Título: Re:[Bennu Module] mod_beep
Publicado por: Yawin en Agosto 02, 2012, 01:10:45 pm
Por preguntar... ¿tienes algún enlace para descargar la versión estable de windows? El que tienes en tu web no funciona y, ahora mismo, una librería para usar el speaker es justo lo que necesito xD

Edit: Vale, no he dicho nada. Algunos nacemos tontos y no vemos los archivos adjuntos de los posts xD

Edit 2: La versión que he encontrado me congela todo el programa hasta que los beeps acaban (la V3).
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Agosto 02, 2012, 10:20:30 pm
Usa la version 1, es la unica estable de momento, viene con src. Tengo pendiente arreglar los links de mi página...
 
No usa threads por eso te congela el programa, la versión 2 que es beta los usa para que no te congele el programa, pero los beeps todavia no funcionan en condiciones (se machacan unos a otros, nos falta algun timing en la pila), a ver si algun dia la retomo, de todas formas fue linkernel quien empezó esta version conn threads.
Título: Re:[Bennu Module] mod_beep
Publicado por: Kloppix en Agosto 03, 2012, 01:43:14 am
¿Cómo que a ver si un dia lo retomas?  :(

Voy a preguntar cada semana. ¿Lo retomaste? hasta que me baneen  :P
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Agosto 03, 2012, 02:43:14 am
Hahahah, si no me paso tu esfuerzo es en vano xD
Título: Re:[Bennu Module] mod_beep
Publicado por: Erkosone en Agosto 30, 2012, 11:16:25 pm
Bueno.. pues ya que estamos yo también iré preguntando, me parece una lib muy interesante.
Volviste a mirar algo?
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Agosto 30, 2012, 11:39:26 pm
No, hace tiempo que no miro mis modulos, cuando me compre otra fuente de alimentación para mi portatil Linux los miraré, y para Windows necesito instalarme de nuevo el CodeBlocks. Ahora ando liado con otras cosas, ya veré cuando puedo. De todas formas si os veis capacitados para ponerle las threads pillad el codigo de la version 1 en mi pagina, o sino ya buscaré el src en casa de la beta de la versión 2 y os poneis con ello, ya que no funcionaba bien los beeps usando threads, puede que algo este mal en el src (fue linkernel quien se las puso, y despues yo he trasteado y modificando algo).
Título: Re:[Bennu Module] mod_beep
Publicado por: Erkosone en Agosto 31, 2012, 01:44:39 am
Pues voy a mirarlo por que hace poco quise usar algo así para un proyecto que ando haciendo.
No tengo ni idea de threads pero como todo el la vida.. habrá que aprender algún día  :'(


La verdad es que si funcionase bien sin bloquear el programa sería la leche.. imagina añadirle un poco mas de código y que se puedan cargar canciones en formato de texto, simplemente notas y delays, con a lo sumo 4 channels simulaneos, puede quedar algo barbaro.


Lo voy a mirar haber si me aclaro algo con el código, gracias por compartirlo.
Karma UP.
Título: Re:[Bennu Module] mod_beep
Publicado por: Erkosone en Agosto 31, 2012, 01:47:11 am
Me este error al descargar el source y el binario con test:   Error 105 (net::ERR_NAME_NOT_RESOLVED): No se puede resolver la dirección DNS del servidor.
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Agosto 31, 2012, 01:51:54 am
ya veo, tengo que actualizar algunos links de descarga porque apuntaban al servidor que ya no tengo
Título: Re:[Bennu Module] mod_beep
Publicado por: FreeYourMind en Septiembre 09, 2012, 02:24:26 am
He estado mirando el tema, resulta que afinal la version 2 que usa multithreads si funciona mas o menos bien, pensaba que estaba peor, lo unico que falla es que los primeros sonidos no suenan, pero creo que ya he localizado el error, cuando tenga de nuevo el code blocks lo arreglaré.
 
Ahora mismo arreglaré los links en mi página, creo que podeis usar la version 2 sin problemas de congelamiento, viene con un programa de pruebas con varias canciones.
Título: Re:[Bennu Module] mod_beep
Publicado por: Erkosone en Abril 20, 2013, 07:10:44 pm
Hola, estoy trasteando en C/C++ con una librería midi y es bastante simple de usar, por si alguien quiere darle un ojo se llama MIDIio y está en: http://openmidiproject.sourceforge.jp/MIDIIOLibrary_en.html (http://openmidiproject.sourceforge.jp/MIDIIOLibrary_en.html)


Realmente es simplisima de usar, yo ya me he creado unas funciones royo DIV que abren el stream al midi out, lo cierran, envian mensajes y permiten la selección del instrumento, todo programado en menos de 1 dia y que conste que no tengo casi ni idea de C.. se lo justo.
Alguien con talento creo que podrá sacarle mucho mas partido a esto en bennu.
Un saludo.
Título: Re:[Bennu Module] mod_beep
Publicado por: Rein (K´)ah Al-Ghul en Abril 21, 2013, 06:17:03 pm
Hola, estoy trasteando en C/C++ con una librería midi y es bastante simple de usar, por si alguien quiere darle un ojo se llama MIDIio y está en: http://
openmidiproject.sourceforge.jp/MIDIIOLibrary_en.html (http://openmidiproject.sourceforge.jp/MIDIIOLibrary_en.html)


Realmente es simplisima de usar, yo ya me he creado unas funciones royo DIV que abren el stream al midi out, lo cierran, envian mensajes y permiten la selección del instrumento, todo programado en menos de 1 dia y que conste que no tengo casi ni idea de C.. se lo justo.
Alguien con talento creo que podrá sacarle mucho mas partido a esto en bennu.
Un saludo.
erkos, esta libreria usa el speaker...
tambien existe la mod_midi, pero es menos completa y free perdio los fuentes  sorry free :P
Título: Re:[Bennu Module] mod_beep
Publicado por: DCelso en Abril 21, 2013, 11:45:47 pm
Pero si está tambien mod_notes, clon de ésta librería pero usando la tarjeta de sonido en vez del speaker.

http://forum.bennugd.org/index.php?topic=1199.30

Además aún no entiendo la necesidad de que sea multithread la librería, si desde bennu la podéis mandar a un hilo distinto de ejecución creandole un process para ella sola.