{-# OPTIONS_HADDOCK not-home #-} {-| Description: High-level bindings providing a idiomatic Haskell interface to libcdio. Copyright: (c) 2019-2021 Sam May License: GPL-3.0-or-later Maintainer: ag@eitilt.life Stability: stable Portability: non-portable (requires libcdio) One of the goals of these bindings is to make it not only possible to interface with the libcdio library, but to do so as comfortably and safely as possible. In that, the "Foreign.Libcdio" interface is a bit lacking, due to its mutable state and requirement of threading 'IO' through computations. The modules in this namespace provide an alternative which builds on that base, with a more native style. As a general rule, a project should /only/ import modules from the @Sound@ or the @Foreign@ namespaces, not both, as while the types can often be interchanged, several function names have been reused and so may collide. -} module Sound.Libcdio ( -- * Types -- ** Session Cdio , CdioError ( .. ) , CdioErrorType ( .. ) , SessionArg ( .. ) , AccessMode ( .. ) -- ** Version , Foreign.Version , Foreign.makeVersion -- * Evaluation , open , openMode , runCdio , getArg , getAccessMode -- * Library data , Foreign.cdioVersionString , Foreign.libcdioVersionNum , Foreign.apiVersion ) where import qualified Foreign.Libcdio.Version as Foreign import Sound.Libcdio.Types.Cdio