int detect_digi_driver(int driver_id);
Detecta si el dispositivo especificado de sonido digital está disponible.
Devuelve el máximo número de voces que el driver puede proporcionar, o
cero si el hardware no está presente. Esta función debe llamarse _antes_
de install_sound().
Relacionado con: DIGI_*/DOS, DIGI_*/Windows, DIGI_*/Unix, DIGI_*/BeOS, DIGI_*/QNX, install_sound, reserve_voices.int detect_midi_driver(int driver_id);
Relacionado con: install_sound, reserve_voices, MIDI_*/DOS, MIDI_*/Windows, MIDI_*/Unix, MIDI_*/BeOS, MIDI_*/QNX.void reserve_voices(int digi_voices, int midi_voices);
Relacionado con: set_volume_per_voice, install_sound, detect_digi_driver, detect_midi_driver.void set_volume_per_voice(int scale);
Si el sonido resultante es demasiado alto o demasiado bajo, esta función puede ser usada para ajustar el volúmen de cada voz. Primero debería verificar que sus altavoces están ajustados a un volúmen razonable, el volúmen global de Allegro ajustado al máximo (mire set_volume() más abajo), y cualquier otro tipo de mezcladores como el control de volúmen de Windows están ajustados razonablemente.
Una vez haya determinado que el volúmen de Allegro no es ideal para su aplicación, use esta función para ajustarlo. Esto debe ser realizado _antes_ de llamara install_sound(). Note que esta función por ahora sólo es relevante para los drivers que usan el mezclador de Allegro (la mayoría de ellos).
Si pasa un 0 a esta función, cada sonido centrado será reproducido al máximo volúmen posible sin distorsión, al igual que los sonidos reproducidos con un driver mono. Los sonidos en los extremos izquierdo y derecho serán distorsionados si se reproducen al máximo volúmen. Si quiere reproducir sonidos panoramizados sin distorsión al máximo volúmen, debe pasar 1 a esta función. Nota: esto es diferente del comportamiento que había en las WIPs 3.9.34, 3.9.35 y 3.9.36. Si usa esta función con cualquiera de esas versiones, deberá incrementar su parámetro en uno para obtener el mismo volúmen.
Cada vez que incremente el parámetro en uno, el volúmen de cada voz será reducido a la mitad. Por ejemplo, si pasa 4, podrá reproducir hasta 16 sonidos centrados con volúmen máximo sin ninguna distorsión.
Aquí están los valores por defecto, dependiendo del número de voces:
Por supuesto esta función no modificará el volúmen que usted especifique mediante play_sample() o voice_set_volume(). Simplemente alterará la salida global del programa. Si reproduce sonidos a un volúmen bajo, o si no están nromalizados, podrá reproducir más sonidos simultáneamente sin distorsión.1-8 voces - set_volume_per_voice(2); 16 voces - set_volume_per_voice(3); 32 voces - set_volume_per_voice(4); 64 voces - set_volume_per_voice(5);
Aviso: Allegro usa una tabla de recorte para recortar la onda de sonido. Esta tabla es lo suficientemente grande para acomodar un sonido total de hasta 4 veces el máximo posible sin distorsión. Si su volúmen se sale de éste límite, la onda 'dará la vuelta' (los picos serán valles y viceversa), distorsionando aun más el sonido. Debe tener cuidado para que esto no ocurra.
Es recomendado que introduzca el valor de este parámetro de forma fija en su programa en vez de ofrecerlo al usuario. El usuario puede alterar el volúmen con el fichero de configuración, o puede modificarlo con set_volume().
Para restaurar el volúmen por voz a su comportamiento habitual, pase -1.
Relacionado con: reserve_voices, set_volume, install_sound, detect_digi_driver, detect_midi_driver.int install_sound(int digi, int midi, const char *cfg_path);
Relacionado con: DIGI_*/DOS, DIGI_*/Windows, DIGI_*/Unix, DIGI_*/BeOS, DIGI_*/QNX, install_sound_input, allegro_error, Variables de configuración estándar, MIDI_*/DOS, MIDI_*/Windows, MIDI_*/Unix, MIDI_*/BeOS, MIDI_*/QNX, remove_sound, reserve_voices, detect_digi_driver, detect_midi_driver, set_volume, play_sample, Control de voces, play_midi, play_audio_stream.void remove_sound();
Relacionado con: install_sound, allegro_exit.void set_volume(int digi_volume, int midi_volume);
Relacionado con: install_sound.