OpenAL

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Vertex

BeitragSa, Dez 15, 2007 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Neue Modulversion ist da!
http://vertex.dreamfall.at/openal/openal110.zip

Es wird jetzt nicht mehr statisch gelinkt sondern dynamisch(unter Windows über DLLs)
Folgende Dinge sind in 1.10 implementiert:
- al
- alc
- alut
- efx

Wichtig ist, dass man bspw. unter Windows nun die OpenAL32.dll, wrap_oal.dll und ggF. alut.dll mitliefert.

Erstes Tutorial aus dem PDF:
Code: [AUSKLAPPEN]
SuperStrict

Framework BRL.Blitz
Import Vertex.OpenAL

Global Device     : Byte Ptr, ..
       Attributes : Int[2], ..
       Context    : Byte Ptr, ..
       Sends      : Int

TOpenAL.Open()
TOpenAL.InitAL()
TOpenAL.InitALC()

Device = alcOpenDevice(Null)
If alcIsExtensionPresent(Device, "ALC_EXT_EFX") Then
   WriteStdout("EFX Extension found!~n")
Else
   WriteStdout("EFX Extension not found!~n")
   alcCloseDevice(Device)
EndIf

Attributes[0] = ALC_MAX_AUXILIARY_SENDS
Attributes[1] = 4
Context = alcCreateContext(Device, Attributes)
alcMakeContextCurrent(Context)

TOpenAL.InitEFX()
alcGetIntegerv(Device, ALC_MAX_AUXILIARY_SENDS, 1, Int Ptr(Sends))
WriteStdout("Device supports " + Sends + " Aux sends per Source~n")

alcMakeContextCurrent(Null)
alcDestroyContext(Context)
alcCloseDevice(Device)

End


Die Klasse TOpenAL:
Code: [AUSKLAPPEN]
TOpenAL
 - Open      ' Lädt OpenAL Bibliotek
 - Close     ' Gibt OpenAL Bibliothekt frei
 - OpenALUT  ' Lädt ALUT Bibliothek
 - CloseALUT ' Gibt ALUT Bibliothek frei
 - InitAL    ' Lädt Adressen für al*** Funktionen
 - InitALC   ' Lädt Adressen für alc*** Funktionen
 - InitALUT  ' Lädt Adressen für alut*** Funktionen
 - InitEFX   ' Lädt Adressen für EFX Extension

(Alle Funktionen können übrigens Exceptions auslösen)

Ist nur eine Beta Version zum Testen. Werde mal noch der Klasse eine BBDoc spendieren und ein paar Beispiele hinzufügen.

mfg olli
vertex.dreamfall.at | GitHub
 

porcus

BeitragSo, Dez 16, 2007 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank Very Happy Very Happy Very Happy !
Werd ich gleich ausprobieren.
*Account deaktiviert*

klin

BeitragDi, Jun 03, 2008 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry wenn dieser Thread alt ist, aber ich suche die ganze Zeit die DLL. Aber die ist in keiner Version mitgeliefert!
Wo habt ihr alle die DLL her?

THX
MFG
Klin

EDIT:
Wenn ich von der letzten Version Das Bsp. ausführe, kommt:
Unable to load OpenAL
Kann das nun dran liegen, das keine DLL vorhanden ist oder weil ich da was vergessen habe?

Vertex

BeitragMi, Jun 04, 2008 7:25
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.openal.org/downloads.html leider nur als Installer.
Ich liefere für Windows immer OpenAL32.dll und wrap_oal.dll in meinen Anwendungen mit. Wenn du also ein Spiel zum Download anbieten willst, brauchst du nicht den Installer mitzuliefern sondern kopierst die 2 DLLs aus dem System32-Ordner ins Hauptverzeichnis.
vertex.dreamfall.at | GitHub
 

porcus

BeitragMo, Jul 13, 2009 16:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
wenn ich bei OpenAL was abspiele höre ich nie etwas über den Subwoofer.
Gibt es uberhaupt eine Möglichkeit den Subwoofer anzusteuern und wenn ja wie?
*Account deaktiviert*

Vertex

BeitragMi, Sep 09, 2015 10:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Zuge der Umstellung meiner alten Projekte auf GitHub ist nun auch das OpenAL-Modul mit How-To und Beispielen dort zu finden. Der Link ist https://github.com/oliverskawronek/openal.mod.

Für einen Vortrag habe ich ein Minispiel namens ClapJumper mit dem OpenAL-Modul geschrieben. Man steuert einen Ball durch das Klatschen und kann die Sprungweite durch die Lautstärke des Klatschens variieren. Erkannt wird das Klatschen durch eine sog. Onset-Erkennung, wobei das Audiosignal über OpenAL aufgenommen wird. Ihr könnt das Spiel auf GitHub finden: https://github.com/oliverskawronek/clap-jumper
vertex.dreamfall.at | GitHub

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group