Cambiando el volumen general.

Started by Drumpi, January 18, 2010, 02:42:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

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?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

TYCO

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.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

Hokutoy

#2
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!

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

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
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)