alutLoadMemoryWaveform

Aus DGL Wiki
Wechseln zu: Navigation, Suche

alutLoadMemoryWaveform

Name

alutLoadMemoryWaveform - Erzeugt einen Synthesizersound und lädt ihn in den Speicher.


Delphi-Spezifikation

function alutLoadMemoryWaveform(waveshape: TALenum; frequency: TALfloat; phase: TALfloat;
                                duration: TALfloat; format: PALenum; size: PALsizei;
                                sampleFrequency: PALfloat): PALvoid;


Parameter

waveshape Symbolische Konstante, welche die Wellenform des Klanges festlegt. Möglich sind:

ALUT_WAVEFORM_SINE
ALUT_WAVEFORM_SQUARE
ALUT_WAVEFORM_SAWTOOTH
ALUT_WAVEFORM_WHITENOISE
ALUT_WAVEFORM_IMPULSE

frequency Frequenz in Hertz
phase Wellenphase in Grad, muss aus dem Bereich von -180° bis +180° sein
duration Dauer des zu generierenden Geräusches in Sekunden
format Zeiger auf einen TALenum-Wert, in welchem das Audioformat abgelegt wird
size Zeiger auf einen TALsizei-Wert, in welchem die Größe der Speicherregion gespeichert werden soll
sampleFrequency Zeiger auf einen TALfloat-Wert, in welchem die Samplefrequenz der Audiodaten angegeben wird


Beschreibung

Die Funktion alutLoadMemoryWaveform lädt ein Audioschnipsel mit der angegebenen Wellenform waveshape, der Frequenz frequency (in Hertz), der Wellenphase phase (in Grad und aus dem Bereich -180° bis +180°) und der Dauer von duration Sekunden in einen neu angelegten Puffer. Es ist sichergestellt, dass die Audiodaten immer in einem Standardformat der AL im Puffer liegen und eine von der ALUT-Implementierung gewählte Samplefrequenz haben. Die Dauer wird immer auf eine exakte Zyklenanzahl aufgerundet, um Klickgeräusche zu vermeiden, falls man den Puffer wiederholt abspielt. Für die Wellenform ALUT_WAVEFORM_WHITENOISE werden die Argumente phase und frequency ignoriert. Im Erfolgsfall gibt die Funktion einen Zeiger auf den angelegten Speicherbereich zurück. Dieser kann freigegeben werden, sobald er von der Anwendung nicht mehr benötigt wird. Bei Fehlschlag wird nil zurückgegeben. Falls einer (oder mehrere) der Parameter format, size oder sampleFrequency kein nil-Zeiger ist, wird die entsprechende Information über die Audiodaten zurückgegeben.

Für den Parameter waveshape sind folgende Werte möglich:

ALUT_WAVEFORM_SINE

Erzeugt einen Ton mit sinusförmiger Welle.

ALUT_WAVEFORM_SAWTOOTH

Erzeugt einen Ton mit sägezahnartiger Wellenform.

ALUT_WAVEFORM_SQUARE

Erzeugt einen Ton mit rechteckiger Wellenform.

ALUT_WAVEFORM_WHITENOISE

Erzeugt ein weißes Rauschen.

ALUT_WAVEFORM_IMPULSE

Erzeugt eine Pulswellenform.


Hinweise

Falls bei der Ausführung ein Fehler auftritt, kann dieser mit Hilfe von alutGetError abgefragt werden.


Fehlermeldungen

ALUT_ERROR_AL_ERROR_ON_ENTRY wird generiert, wenn beim Aufruf der Funktion schon ein AL-Fehlerstatus gesetzt war. (Siehe alGetError.)

ALUT_ERROR_ALC_ERROR_ON_ENTRY wird generiert, falls beim Aufruf der Funktion schon ein ALC-Fehlerstatus gesetzt war. (Siehe alcGetError.)

ALUT_ERROR_INVALID_ENUM wird generiert, sofern der Wert von waveshape unzulässig ist.

ALUT_ERROR_INVALID_OPERATION wird generiert, wenn ALUT nicht initialisiert wurde. (Siehe auch alutInit.)

ALUT_ERROR_INVALID_VALUE wird generiert, sofern die Frequenz frequency nicht positiv oder die Dauer duration negativ war.

ALUT_ERROR_NO_CURRENT_CONTEXT wird generiert, falls es keinen aktuellen AL-Kontext gibt. (Siehe auch alcMakeContextCurrent.)

ALUT_ERROR_OUT_OF_MEMORY wird generiert, wenn nicht genügend Speicher zur Verfügung steht.


Siehe auch

alutCreateBufferWaveform