Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Drumpi on January 18, 2010, 02:42:05 PM

Title: Cambiando el volumen general.
Post by: Drumpi on January 18, 2010, 02:42:05 PM
Hoy me toca a mi ser el que pregunte  ::)

Una de mis carencias a la hora de programar es el apartado sonoro, ciertamente no tengo ni idea de sonido en Bennu ^^U
Haciendo pruebas en la negrita, la música me suena escandalosamente alta, y por desgracia, los botones de volumen no funcionan de forma "automática" (como en UFenix). Esto tiene su gran ventaja (dos botones más para usar) y su desventaja (hay que programar el sonido).

Pues eso, quiero modificar el volumen general por código, pero la información que hay al respecto es escasa o inexistente.
Se que existe set_channel_volume(-1,xxx), pero no conozco ni los rangos del segundo parámetro ni si eso afecta a la música, también se que está set_distance, pero no se con quien funciona.
Tampoco se cómo obtener el volumen actual, o el valor por defecto de la función que sea.

¿Me podeis echar una manita, plissss?
Title: Re: Cambiando el volumen general.
Post by: TYCO on January 18, 2010, 04:01:02 PM
En la wiki de bennu no está esto:
http://fenixworld.se32.com/fenixwiki/index.php?title=SET_CHANNEL_VOLUME

Seguramente será la opción más adecuada, antes que usar SET_WAV_VOLUME en cada archivo que carges con load_wav, aplicandolo a todos los canales con -1 y te despreocupas.

El segundo parámetro si no se ha cambiado su máximo y según la ayuda, es de 128, en ambas funciones.

Para las demás cuestiones... pues no sabría decirte.
Title: Re: Cambiando el volumen general.
Post by: Hokutoy on January 18, 2010, 05:38:17 PM
Yo en mi juego uso:
IF (GET_JOY_BUTTON(0,_JKEY_VOLDOWN)==1)
   set_channel_volume(-1,SFX_VOL-=1);
   set_song_volume(MUS_VOL-=1);
   IF(SFX_VOL<0) SFX_VOL=0; END
   IF(MUS_VOL<0) MUS_VOL=0; END
END


Muestreo de bajar el volumen del sonido y de la musica.
Los rangos van de 0 (mudo) a 128 maximo volumen (volumen original).

Por defecto el volumen esta a su maximo (128).
Saludos!
Title: Re: Cambiando el volumen general.
Post by: SplinterGU on January 18, 2010, 09:49:56 PM
karma a ambos!
Title: Re: Cambiando el volumen general.
Post by: Drumpi on January 19, 2010, 01:23:54 AM
Idem con el karma.
Me ha servido de mucho. Explico:
Con SET_CHANNEL_VOLUME(-1,global_volume) he podido cambiar el volumen de todos los FX, ya que los reproduzco directamente desde WAVs.
Pero aparte hay que usar SET_SONG_VOLUME(global_volume) porque sonidos y música van por hilos diferentes (y por eso se puede reproducir sólo una música y varios efectos sonoros :P).
Definitivamente, el rango de trabajo es [0,128] para ambos.

Y por suerte no he tenido conflictos con un efecto de fade sonoro que he tenido que programar (FADE_MUSIC_OFF detiene la reproducción al llegar al silencio).
Eso si, me sigue sonando con un retraso de un segundo o dos en mi negrita, pero eso ya es otra historia ^^U