<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.delphigl.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Martok</id>
		<title>DGL Wiki - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Martok"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php/Spezial:Beitr%C3%A4ge/Martok"/>
		<updated>2026-04-30T01:38:28Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=alcCreateContext&amp;diff=25707</id>
		<title>alcCreateContext</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=alcCreateContext&amp;diff=25707"/>
				<updated>2012-10-09T14:08:57Z</updated>
		
		<summary type="html">&lt;p&gt;Martok: Beschreibung der Flags erweitert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= alcCreateContext =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
'''alcCreateContext''' - Erzeugt einen neuen [[ALC-Kontext]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
 function '''alcCreateContext'''(''pDevice'': PALCdevice; ''attrList'': PALCint): PALCcontext;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameter ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; rules=&amp;quot;all&amp;quot;&lt;br /&gt;
! ''pDevice'' &lt;br /&gt;
| Zeiger auf das Gerät, für das ein neuer ALC Context erstellt werden soll.&lt;br /&gt;
|-&lt;br /&gt;
! ''attrList'' &lt;br /&gt;
| Zeiger auf eine Liste mit Attributen. Siehe Beschreibung.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
Die Funktion '''alcCreateContext''' erstellt für das ALC-Gerät ''pDevice'' einen neuen Kontext und gibt den Zeiger auf den neuen Kontext zurück. Bei Fehlschlag wird ein '''nil'''-Zeiger zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
AL (bzw. ALC) ordnet jedem Kontext ein entsprechendes Gerät zu. Folglich kann ein Kontext erst (mit Hilfe der Funktion '''alcCreateContext''') erstellt werden, wenn zuvor ein Gerät geöffnet wurde. Siehe dazu [[alcOpenDevice]].&lt;br /&gt;
&lt;br /&gt;
Beim Erstellen eines Kontextes können bestimmte Attribute gesetzt werden. Werden diese nicht gesetzt, werden implementationsabhängige Standardwerte benutzt.&lt;br /&gt;
&lt;br /&gt;
Die Kontexterstellung schlägt fehl, wenn &lt;br /&gt;
*die Anwendung Attribute anfordert, welche nicht geliefert werden können oder &lt;br /&gt;
*eine ungültige Kombination von Attributen angefordert wurde oder&lt;br /&gt;
*der Wert eines spezifizierten Attributes bzw. eine Kombination von Attributen nicht mit den Standardwerten für unspezifizierte Attribute übereinstimmt.&lt;br /&gt;
&lt;br /&gt;
Als Attribute kann '''nil''' oder eine AL_INVALID-terminierte Liste von Integer-Paaren verwendet werden. Jedes Paar besteht dabei aus einer der nachfolgenden Konstanten und dem zugehörigen Wert.&lt;br /&gt;
&lt;br /&gt;
Folgende Konstanten können genutzt werden:&lt;br /&gt;
===ALC_FREQUENCY===&lt;br /&gt;
: Erwartet als Wert die interne Frequenz in Hertz für das Zusammenmischen von Ausgabepuffern.&lt;br /&gt;
&lt;br /&gt;
===ALC_MONO_SOURCES===&lt;br /&gt;
: Erwartet als Wert einen Hinweis, wie viele Source-Objekte in der Lage sein sollen, Monoaudiodaten zu unterstützen.&lt;br /&gt;
&lt;br /&gt;
===ALC_REFRESH===&lt;br /&gt;
: Erwartet als Wert die Frequenz in Hertz für das Refreshintervall. Übliche Werte liegen bei 5..15 Hz.&lt;br /&gt;
&lt;br /&gt;
===ALC_STEREO_SOURCES===&lt;br /&gt;
: Erwartet als Wert einen Hinweis, wie viele Source-Objekte in der Lage sein sollen, Stereodaten zu unterstützen.&lt;br /&gt;
&lt;br /&gt;
===ALC_SYNC===&lt;br /&gt;
: Boolean, gibt an ob der Kontext einen eigenen Thread startet (AL_FALSE, Standard) oder manuell [[alcUpdateContext]] verwendet werden soll (AL_TRUE).&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Awendungen haben möglicherweise einen festen oder beschränkten Rhythmus für Zustandsänderungen (z.B. synchron mit der OpenGL-Framerate). In diesem Fall ist es wünschenswert den '''''mixahead interval (milliseconds)''''' oder die Refreshrate (Hz) für den Thread anzugeben. Dies ist besonders für synchrone Kontexte wichtig, wo die Anwendung ein Refreshintervall, welches sie einhalten möchte, anzugeben hat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Folgender Code öffnet ein Gerät und erzeugt darin einen Kontext, der zum aktuellen Kontext gemacht wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;var device: PALCdevice;&lt;br /&gt;
    context: PALCcontext;&lt;br /&gt;
...&lt;br /&gt;
device:= alcOpenDevice(nil); //öffnet das Standardgerät&lt;br /&gt;
if device&amp;lt;&amp;gt;nil then&lt;br /&gt;
begin&lt;br /&gt;
  context:= alcCreateContext(device, nil); //erzeugt einen ALC-Kontext&lt;br /&gt;
  if context&amp;lt;&amp;gt;nil then&lt;br /&gt;
    alcMakeContextCurrent(context); //setzt den aktiven Kontext&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
'''ALC_INVALID_DEVICE''' wird generiert, wenn kein gültiges Gerät angegeben wurde.&lt;br /&gt;
&lt;br /&gt;
'''ALC_INVALID_OPERATION''' wird generiert, falls kein weiterer ALC-Kontext für das angegebene Gerät erstellt werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
[[alcDestroyContext]], [[alcGetCurrentContext]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AL|CreateContext]]&lt;br /&gt;
[[Kategorie:ALC|CreateContext]]&lt;/div&gt;</summary>
		<author><name>Martok</name></author>	</entry>

	</feed>