diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2003-2005, Sven Panne
+Copyright (c) 2003-2009, Sven Panne
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/OpenAL.cabal b/OpenAL.cabal
--- a/OpenAL.cabal
+++ b/OpenAL.cabal
@@ -1,5 +1,5 @@
 name:		OpenAL
-version:	1.3.1.3
+version:	1.4.0.0
 license:	BSD3
 license-file:	LICENSE
 maintainer:	Sven Panne <sven.panne@aedion.de>
@@ -55,5 +55,6 @@
 include-dirs:	include
 includes: HsOpenAL.h
 install-includes: HsOpenAL.h
-build-depends:	base, OpenGL
+ghc-options: -Wall
+build-depends:	base >= 3 && < 5, StateVar, ObjectName, Tensor
 extensions:	CPP, ForeignFunctionInterface
diff --git a/Sound/OpenAL.hs b/Sound/OpenAL.hs
--- a/Sound/OpenAL.hs
+++ b/Sound/OpenAL.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 --
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- A convenience module, combining the Haskell bindings for AL and ALC.
@@ -36,18 +36,18 @@
      module Sound.OpenAL.AL
    , module Sound.OpenAL.ALC
 
-   -- * Convenience Re-exports from the OpenGL Package
-   , module Graphics.Rendering.OpenGL.GL.StateVar
-   , ObjectName(..), Vector3(..), Vertex3(..)
+   -- * Convenience Re-exports
+   , module Data.ObjectName
+   , module Data.StateVar
+   , module Data.Tensor
 ) where
 
 import Sound.OpenAL.AL
 import Sound.OpenAL.ALC
 
-import Graphics.Rendering.OpenGL.GL.StateVar
-import Graphics.Rendering.OpenGL.GL.BufferObjects ( ObjectName(..) )
-import Graphics.Rendering.OpenGL.GL.CoordTrans ( Vector3(..) )
-import Graphics.Rendering.OpenGL.GL.VertexSpec ( Vertex3(..) )
+import Data.ObjectName
+import Data.StateVar
+import Data.Tensor ( Vector3(..), Vertex3(..) )
 
 --------------------------------------------------------------------------------
 -- $ABriefHistoryOfOpenAL
diff --git a/Sound/OpenAL/AL.hs b/Sound/OpenAL/AL.hs
--- a/Sound/OpenAL/AL.hs
+++ b/Sound/OpenAL/AL.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to chapters 2 (OpenAL Operation), 3 (State and State
diff --git a/Sound/OpenAL/AL/ALboolean.hs b/Sound/OpenAL/AL/ALboolean.hs
--- a/Sound/OpenAL/AL/ALboolean.hs
+++ b/Sound/OpenAL/AL/ALboolean.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.ALboolean
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This is a purely internal module for (un-)marshaling ALboolean.
diff --git a/Sound/OpenAL/AL/Attenuation.hs b/Sound/OpenAL/AL/Attenuation.hs
--- a/Sound/OpenAL/AL/Attenuation.hs
+++ b/Sound/OpenAL/AL/Attenuation.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Attenuation
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 3.4 (Attenuation By Distance) of the
@@ -27,9 +27,9 @@
    -- $NoCullingByDistance
 ) where
 
+import Data.StateVar
 import Foreign.Marshal.Alloc ( alloca )
 import Foreign.Ptr ( Ptr )
-import Graphics.Rendering.OpenGL.GL.StateVar ( StateVar, makeStateVar )
 import Sound.OpenAL.AL.BasicTypes ( ALint, ALenum )
 import Sound.OpenAL.AL.PeekPoke ( peek1 )
 import Sound.OpenAL.AL.QueryUtils (
diff --git a/Sound/OpenAL/AL/BasicTypes.hs b/Sound/OpenAL/AL/BasicTypes.hs
--- a/Sound/OpenAL/AL/BasicTypes.hs
+++ b/Sound/OpenAL/AL/BasicTypes.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.BasicTypes
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 2.2 (Primitive Types) of the OpenAL
diff --git a/Sound/OpenAL/AL/Buffer.hs b/Sound/OpenAL/AL/Buffer.hs
--- a/Sound/OpenAL/AL/Buffer.hs
+++ b/Sound/OpenAL/AL/Buffer.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Buffer
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to chapter 6 (Buffers) of the OpenAL Specification
@@ -68,9 +68,9 @@
    Buffer, MemoryRegion(..), Format(..), BufferData(..), bufferData
 ) where
 
+import Data.StateVar
 import Foreign.Marshal.Alloc ( alloca )
 import Foreign.Ptr ( Ptr, nullPtr )
-import Graphics.Rendering.OpenGL.GL.StateVar ( StateVar, makeStateVar )
 import Sound.OpenAL.AL.BufferInternal ( Buffer )
 import Sound.OpenAL.AL.BasicTypes ( ALint, ALsizei, ALenum )
 import Sound.OpenAL.AL.Format ( Format(..), marshalFormat )
diff --git a/Sound/OpenAL/AL/BufferInternal.hs b/Sound/OpenAL/AL/BufferInternal.hs
--- a/Sound/OpenAL/AL/BufferInternal.hs
+++ b/Sound/OpenAL/AL/BufferInternal.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.BufferInternal
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This is a purely internal module for (un-)marshaling Buffer.
@@ -17,10 +17,10 @@
    Buffer, marshalBuffer, unmarshalBuffer
 ) where
 
+import Data.ObjectName
 import Foreign.Marshal.Array ( withArrayLen, peekArray, allocaArray )
 import Foreign.Ptr ( Ptr, castPtr )
 import Foreign.Storable ( Storable(..) )
-import Graphics.Rendering.OpenGL.GL.BufferObjects ( ObjectName(..) )
 import Sound.OpenAL.AL.ALboolean ( unmarshalALboolean )
 import Sound.OpenAL.AL.BasicTypes ( ALboolean, ALuint, ALsizei )
 import Sound.OpenAL.AL.PeekPoke ( peek1, poke1 )
diff --git a/Sound/OpenAL/AL/Doppler.hs b/Sound/OpenAL/AL/Doppler.hs
--- a/Sound/OpenAL/AL/Doppler.hs
+++ b/Sound/OpenAL/AL/Doppler.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Doppler
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 3.5.2. (Velocity Dependent Doppler Effect)
@@ -19,9 +19,8 @@
    dopplerFactor, speedOfSound
 ) where
 
+import Data.StateVar
 import Foreign.Ptr ( FunPtr )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   HasGetter(get), StateVar, makeStateVar )
 import Sound.OpenAL.AL.BasicTypes ( ALenum, ALfloat )
 import Sound.OpenAL.AL.Extensions ( alProcAddress )
 import Sound.OpenAL.AL.QueryUtils (
diff --git a/Sound/OpenAL/AL/Errors.hs b/Sound/OpenAL/AL/Errors.hs
--- a/Sound/OpenAL/AL/Errors.hs
+++ b/Sound/OpenAL/AL/Errors.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Errors
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 2.7 (AL Errors) of the OpenAL
@@ -17,8 +17,7 @@
    ALError(..), ALErrorCategory(..), alErrors
 ) where
 
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar )
+import Data.StateVar
 import Sound.OpenAL.AL.BasicTypes ( ALenum )
 import Sound.OpenAL.Constants (
    al_NO_ERROR, al_INVALID_NAME, al_INVALID_ENUM, al_INVALID_VALUE,
diff --git a/Sound/OpenAL/AL/Extensions.hs b/Sound/OpenAL/AL/Extensions.hs
--- a/Sound/OpenAL/AL/Extensions.hs
+++ b/Sound/OpenAL/AL/Extensions.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Extensions
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 3.1.2 (String Queries) and chapter 7
@@ -18,9 +18,8 @@
    alExtensions, alIsExtensionPresent, alProcAddress, alEnumValue, alVersion
 ) where
 
+import Data.StateVar
 import Foreign.Ptr ( Ptr, FunPtr )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar )
 import Sound.OpenAL.AL.ALboolean ( unmarshalALboolean )
 import Sound.OpenAL.AL.BasicTypes ( ALboolean, ALchar, ALenum )
 import Sound.OpenAL.AL.QueryUtils ( StringName(..), getString )
diff --git a/Sound/OpenAL/AL/Format.hs b/Sound/OpenAL/AL/Format.hs
--- a/Sound/OpenAL/AL/Format.hs
+++ b/Sound/OpenAL/AL/Format.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Format
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This is a purely internal module for (un-)marshaling Format.
diff --git a/Sound/OpenAL/AL/Listener.hs b/Sound/OpenAL/AL/Listener.hs
--- a/Sound/OpenAL/AL/Listener.hs
+++ b/Sound/OpenAL/AL/Listener.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Listener
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to sections 4.1 (Basic Listener and Source
@@ -31,17 +31,15 @@
    listenerPosition, listenerVelocity, Gain, listenerGain, orientation
 ) where
 
-import Foreign.Marshal.Array ( allocaArray, withArray )
-import Foreign.Marshal.Utils ( with )
-import Foreign.Ptr ( Ptr )
-import Foreign.Storable ( Storable )
-import Graphics.Rendering.OpenGL.GL.CoordTrans ( Vector3(..) )
-import Graphics.Rendering.OpenGL.GL.VertexSpec ( Vertex3(..) )
-import Graphics.Rendering.OpenGL.GL.StateVar ( StateVar, makeStateVar )
-import Sound.OpenAL.AL.BasicTypes ( ALenum, ALfloat )
-import Sound.OpenAL.AL.PeekPoke ( peek1, peek3, peek6 )
-import Sound.OpenAL.AL.QueryUtils (
-   GetPName(GetPosition,GetVelocity,GetGain,GetOrientation), marshalGetPName )
+import Data.StateVar
+import Data.Tensor
+import Foreign.Marshal.Array
+import Foreign.Marshal.Utils
+import Foreign.Ptr
+import Foreign.Storable
+import Sound.OpenAL.AL.BasicTypes
+import Sound.OpenAL.AL.PeekPoke
+import Sound.OpenAL.AL.QueryUtils
 
 --------------------------------------------------------------------------------
 
diff --git a/Sound/OpenAL/AL/PeekPoke.hs b/Sound/OpenAL/AL/PeekPoke.hs
--- a/Sound/OpenAL/AL/PeekPoke.hs
+++ b/Sound/OpenAL/AL/PeekPoke.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.PeekPoke
--- Copyright   :  (c) Sven Panne 2003-2005
+-- Copyright   :  (c) Sven Panne 2003-2009
 -- License     :  BSD-style (see the file libraries/OpenGL/LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This is a purely internal module with peek- and poke-related utilities.
diff --git a/Sound/OpenAL/AL/QueryUtils.hs b/Sound/OpenAL/AL/QueryUtils.hs
--- a/Sound/OpenAL/AL/QueryUtils.hs
+++ b/Sound/OpenAL/AL/QueryUtils.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.QueryUtils
--- Copyright   :  (c) Sven Panne 2003-2005
+-- Copyright   :  (c) Sven Panne 2003-2009
 -- License     :  BSD-style (see the file libraries/OpenGL/LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This is a purely internal module with utilities to query OpenAL state.
diff --git a/Sound/OpenAL/AL/Source.hs b/Sound/OpenAL/AL/Source.hs
--- a/Sound/OpenAL/AL/Source.hs
+++ b/Sound/OpenAL/AL/Source.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.Source
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to sections 4.1 (Basic Listener and Source
@@ -75,33 +75,22 @@
    SourceState(..), sourceState, play, pause, stop, rewind
 ) where
 
-import Control.Monad ( liftM2 )
-import Foreign.Marshal.Array ( withArrayLen, peekArray, allocaArray )
-import Foreign.Marshal.Utils ( with )
-import Foreign.Ptr ( Ptr, castPtr )
-import Foreign.Storable ( Storable(..) )
-import Graphics.Rendering.OpenGL.GL.BufferObjects ( ObjectName(..) )
-import Graphics.Rendering.OpenGL.GL.CoordTrans ( Vector3(..) )
-import Graphics.Rendering.OpenGL.GL.VertexSpec ( Vertex3(..) )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   HasGetter(get), HasSetter(($=)), makeStateVar, StateVar, GettableStateVar,
-   makeGettableStateVar )
-import Sound.OpenAL.AL.ALboolean ( marshalALboolean, unmarshalALboolean )
+import Control.Monad
+import Data.ObjectName
+import Data.StateVar
+import Data.Tensor
+import Foreign.Marshal.Array
+import Foreign.Marshal.Utils
+import Foreign.Ptr
+import Foreign.Storable
+import Sound.OpenAL.AL.ALboolean
 import Sound.OpenAL.AL.BasicTypes
-import Sound.OpenAL.AL.Buffer ( Buffer )
-import Sound.OpenAL.AL.BufferInternal ( marshalBuffer, unmarshalBuffer )
-import Sound.OpenAL.AL.Listener ( Gain )
-import Sound.OpenAL.AL.PeekPoke ( peek1, poke1, peek3 )
-import Sound.OpenAL.AL.SourceState ( SourceState(..), unmarshalSourceState )
-import Sound.OpenAL.AL.QueryUtils (
-   GetPName(GetPosition,GetVelocity,GetGain,GetSourceRelative,GetSourceType,
-            GetLooping,GetBuffer,GetBuffersQueued,GetBuffersProcessed,
-            GetMinGain,GetMaxGain,GetReferenceDistance,GetRolloffFactor,
-            GetMaxDistance,GetPitch,GetDirection,GetConeInnerAngle,
-            GetConeOuterAngle,GetConeOuterGain,GetSecOffset,GetSampleOffset,
-            GetByteOffset,GetSourceState),
-   marshalGetPName )
-import Sound.OpenAL.Constants ( al_UNDETERMINED, al_STATIC, al_STREAMING )
+import Sound.OpenAL.AL.BufferInternal
+import Sound.OpenAL.AL.Listener
+import Sound.OpenAL.AL.PeekPoke
+import Sound.OpenAL.AL.QueryUtils
+import Sound.OpenAL.AL.SourceState
+import Sound.OpenAL.Constants
 
 #ifdef __HADDOCK__
 import Sound.OpenAL.AL.Listener ( listenerGain )
diff --git a/Sound/OpenAL/AL/SourceState.hs b/Sound/OpenAL/AL/SourceState.hs
--- a/Sound/OpenAL/AL/SourceState.hs
+++ b/Sound/OpenAL/AL/SourceState.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.SourceState
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 --------------------------------------------------------------------------------
diff --git a/Sound/OpenAL/AL/String.hs b/Sound/OpenAL/AL/String.hs
--- a/Sound/OpenAL/AL/String.hs
+++ b/Sound/OpenAL/AL/String.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.String
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 --------------------------------------------------------------------------------
diff --git a/Sound/OpenAL/AL/StringQueries.hs b/Sound/OpenAL/AL/StringQueries.hs
--- a/Sound/OpenAL/AL/StringQueries.hs
+++ b/Sound/OpenAL/AL/StringQueries.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.AL.StringQueries
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 3.1.2 (String Queries) of the OpenAL
@@ -17,8 +17,7 @@
    alVendor, alRenderer
 ) where
 
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar )
+import Data.StateVar
 import Sound.OpenAL.AL.QueryUtils ( StringName(..), getString )
 
 --------------------------------------------------------------------------------
diff --git a/Sound/OpenAL/ALC.hs b/Sound/OpenAL/ALC.hs
--- a/Sound/OpenAL/ALC.hs
+++ b/Sound/OpenAL/ALC.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to chapter 6 (AL Contexts and the ALC API) of the
diff --git a/Sound/OpenAL/ALC/ALCboolean.hs b/Sound/OpenAL/ALC/ALCboolean.hs
--- a/Sound/OpenAL/ALC/ALCboolean.hs
+++ b/Sound/OpenAL/ALC/ALCboolean.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.ALCboolean
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This is a purely internal module for (un-)marshaling ALCboolean.
diff --git a/Sound/OpenAL/ALC/BasicTypes.hs b/Sound/OpenAL/ALC/BasicTypes.hs
--- a/Sound/OpenAL/ALC/BasicTypes.hs
+++ b/Sound/OpenAL/ALC/BasicTypes.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.BasicTypes
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to the introductory parts of chapter 6 (AL Contexts
diff --git a/Sound/OpenAL/ALC/Capture.hs b/Sound/OpenAL/ALC/Capture.hs
--- a/Sound/OpenAL/ALC/Capture.hs
+++ b/Sound/OpenAL/ALC/Capture.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.Capture
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 6.4.2. (Capture) of the OpenAL
@@ -20,9 +20,8 @@
    allCaptureDeviceSpecifiers
 ) where
 
+import Data.StateVar
 import Foreign.Ptr ( Ptr, nullPtr, FunPtr )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar, get )
 import Sound.OpenAL.AL.Buffer ( Format )
 import Sound.OpenAL.AL.Format ( marshalFormat )
 import Sound.OpenAL.ALC.ALCboolean ( unmarshalALCboolean )
diff --git a/Sound/OpenAL/ALC/Context.hs b/Sound/OpenAL/ALC/Context.hs
--- a/Sound/OpenAL/ALC/Context.hs
+++ b/Sound/OpenAL/ALC/Context.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.Context
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 6.2 (Managing Rendering Contexts) of the
@@ -27,10 +27,9 @@
 ) where
 
 
+import Data.StateVar
 import Foreign.Marshal.Array ( withArray0 )
 import Foreign.Ptr ( Ptr )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   StateVar, makeStateVar, GettableStateVar, makeGettableStateVar )
 import Sound.OpenAL.ALC.BasicTypes ( ALCint )
 import Sound.OpenAL.ALC.ALCboolean ( marshalALCboolean, unmarshalALCboolean )
 import Sound.OpenAL.ALC.Device ( Device )
diff --git a/Sound/OpenAL/ALC/Device.hs b/Sound/OpenAL/ALC/Device.hs
--- a/Sound/OpenAL/ALC/Device.hs
+++ b/Sound/OpenAL/ALC/Device.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.Device
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 6.1 (Managing Devices) of the OpenAL
@@ -26,10 +26,9 @@
    defaultDeviceSpecifier, deviceSpecifier, allDeviceSpecifiers
 ) where
 
+import Data.StateVar
 import Foreign.Ptr ( Ptr, nullPtr )
 import Foreign.Marshal.Utils ( maybePeek )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar, get )
 import Sound.OpenAL.ALC.BasicTypes ( ALCchar )
 import Sound.OpenAL.ALC.QueryUtils (
    StringQuery(..), getString, getStringRaw, alcIsExtensionPresent )
diff --git a/Sound/OpenAL/ALC/Errors.hs b/Sound/OpenAL/ALC/Errors.hs
--- a/Sound/OpenAL/ALC/Errors.hs
+++ b/Sound/OpenAL/ALC/Errors.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.Errors
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to section 6.3.6 (Query for Error Conditions) of the
@@ -17,8 +17,7 @@
    ALCError(..), ALCErrorCategory(..), alcErrors
 ) where
 
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar )
+import Data.StateVar
 import Sound.OpenAL.ALC.BasicTypes ( ALCenum )
 import Sound.OpenAL.ALC.Device ( Device )
 import Sound.OpenAL.ALC.QueryUtils ( StringQuery(..), getString )
diff --git a/Sound/OpenAL/ALC/Extensions.hs b/Sound/OpenAL/ALC/Extensions.hs
--- a/Sound/OpenAL/ALC/Extensions.hs
+++ b/Sound/OpenAL/ALC/Extensions.hs
@@ -1,11 +1,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.Extensions
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This module corresponds to the extension handling parts of section 6.3
@@ -19,9 +19,8 @@
 ) where
 
 import Control.Monad ( liftM2 )
+import Data.StateVar
 import Foreign.Ptr ( Ptr, FunPtr )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar )
 import Sound.OpenAL.ALC.BasicTypes ( ALCchar, ALCenum, ALCint )
 import Sound.OpenAL.ALC.Device ( Device )
 import Sound.OpenAL.ALC.QueryUtils (
diff --git a/Sound/OpenAL/ALC/QueryUtils.hs b/Sound/OpenAL/ALC/QueryUtils.hs
--- a/Sound/OpenAL/ALC/QueryUtils.hs
+++ b/Sound/OpenAL/ALC/QueryUtils.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.QueryUtils
--- Copyright   :  (c) Sven Panne 2003-2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 --------------------------------------------------------------------------------
@@ -18,10 +18,9 @@
 ) where
 
 import Control.Monad ( when )
+import Data.StateVar
 import Foreign.Marshal.Array ( withArray, peekArray )
 import Foreign.Ptr ( Ptr )
-import Graphics.Rendering.OpenGL.GL.StateVar (
-   GettableStateVar, makeGettableStateVar )
 import Sound.OpenAL.ALC.ALCboolean ( unmarshalALCboolean )
 import Sound.OpenAL.ALC.BasicTypes (
    ALCboolean, ALCchar, ALCint, ALCenum, ALCsizei )
diff --git a/Sound/OpenAL/ALC/String.hs b/Sound/OpenAL/ALC/String.hs
--- a/Sound/OpenAL/ALC/String.hs
+++ b/Sound/OpenAL/ALC/String.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.ALC.String
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 --------------------------------------------------------------------------------
diff --git a/Sound/OpenAL/Config.hs b/Sound/OpenAL/Config.hs
--- a/Sound/OpenAL/Config.hs
+++ b/Sound/OpenAL/Config.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.Config
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This purely internal module defines the platform-specific stuff which has
diff --git a/Sound/OpenAL/Constants.hs b/Sound/OpenAL/Constants.hs
--- a/Sound/OpenAL/Constants.hs
+++ b/Sound/OpenAL/Constants.hs
@@ -2,11 +2,11 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Sound.OpenAL.Constants
--- Copyright   :  (c) Sven Panne 2005
--- License     :  BSD-style (see the file libraries/OpenAL/LICENSE)
+-- Copyright   :  (c) Sven Panne 2003-2009
+-- License     :  BSD-style (see the file LICENSE)
 -- 
 -- Maintainer  :  sven.panne@aedion.de
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
 -- This purely internal module defines all AL\/ALC constants, which have been
