module Bindings.Libcddb.CddbDisc where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
import Bindings.Libcddb.CddbTrack
c'FRAMES_PER_SECOND = 75
c'FRAMES_PER_SECOND :: (Num a) => a
data C'cddb_disc_t = C'cddb_disc_t
type C'cddb_cat_t = CUInt
c'CDDB_CAT_DATA = 0
c'CDDB_CAT_DATA :: (Num a) => a
c'CDDB_CAT_FOLK = 1
c'CDDB_CAT_FOLK :: (Num a) => a
c'CDDB_CAT_JAZZ = 2
c'CDDB_CAT_JAZZ :: (Num a) => a
c'CDDB_CAT_MISC = 3
c'CDDB_CAT_MISC :: (Num a) => a
c'CDDB_CAT_ROCK = 4
c'CDDB_CAT_ROCK :: (Num a) => a
c'CDDB_CAT_COUNTRY = 5
c'CDDB_CAT_COUNTRY :: (Num a) => a
c'CDDB_CAT_BLUES = 6
c'CDDB_CAT_BLUES :: (Num a) => a
c'CDDB_CAT_NEWAGE = 7
c'CDDB_CAT_NEWAGE :: (Num a) => a
c'CDDB_CAT_REGGAE = 8
c'CDDB_CAT_REGGAE :: (Num a) => a
c'CDDB_CAT_CLASSICAL = 9
c'CDDB_CAT_CLASSICAL :: (Num a) => a
c'CDDB_CAT_SOUNDTRACK = 10
c'CDDB_CAT_SOUNDTRACK :: (Num a) => a
c'CDDB_CAT_INVALID = 11
c'CDDB_CAT_INVALID :: (Num a) => a
c'CDDB_CAT_LAST = 12
c'CDDB_CAT_LAST :: (Num a) => a
foreign import ccall "cddb_disc_new" c'cddb_disc_new
:: IO (Ptr C'cddb_disc_t)
foreign import ccall "&cddb_disc_new" p'cddb_disc_new
:: FunPtr (IO (Ptr C'cddb_disc_t))
foreign import ccall "cddb_disc_destroy" c'cddb_disc_destroy
:: Ptr C'cddb_disc_t -> IO ()
foreign import ccall "&cddb_disc_destroy" p'cddb_disc_destroy
:: FunPtr (Ptr C'cddb_disc_t -> IO ())
foreign import ccall "cddb_disc_clone" c'cddb_disc_clone
:: Ptr C'cddb_disc_t -> IO (Ptr C'cddb_disc_t)
foreign import ccall "&cddb_disc_clone" p'cddb_disc_clone
:: FunPtr (Ptr C'cddb_disc_t -> IO (Ptr C'cddb_disc_t))
foreign import ccall "cddb_disc_add_track" c'cddb_disc_add_track
:: Ptr C'cddb_disc_t -> Ptr C'cddb_track_t -> IO ()
foreign import ccall "&cddb_disc_add_track" p'cddb_disc_add_track
:: FunPtr (Ptr C'cddb_disc_t -> Ptr C'cddb_track_t -> IO ())
foreign import ccall "cddb_disc_get_track" c'cddb_disc_get_track
:: Ptr C'cddb_disc_t -> CInt -> IO (Ptr C'cddb_track_t)
foreign import ccall "&cddb_disc_get_track" p'cddb_disc_get_track
:: FunPtr (Ptr C'cddb_disc_t -> CInt -> IO (Ptr C'cddb_track_t))
foreign import ccall "cddb_disc_get_track_first" c'cddb_disc_get_track_first
:: Ptr C'cddb_disc_t -> IO (Ptr C'cddb_track_t)
foreign import ccall "&cddb_disc_get_track_first" p'cddb_disc_get_track_first
:: FunPtr (Ptr C'cddb_disc_t -> IO (Ptr C'cddb_track_t))
foreign import ccall "cddb_disc_get_track_next" c'cddb_disc_get_track_next
:: Ptr C'cddb_disc_t -> IO (Ptr C'cddb_track_t)
foreign import ccall "&cddb_disc_get_track_next" p'cddb_disc_get_track_next
:: FunPtr (Ptr C'cddb_disc_t -> IO (Ptr C'cddb_track_t))
foreign import ccall "cddb_disc_get_discid" c'cddb_disc_get_discid
:: Ptr C'cddb_disc_t -> IO CUInt
foreign import ccall "&cddb_disc_get_discid" p'cddb_disc_get_discid
:: FunPtr (Ptr C'cddb_disc_t -> IO CUInt)
foreign import ccall "cddb_disc_set_discid" c'cddb_disc_set_discid
:: Ptr C'cddb_disc_t -> CUInt -> IO ()
foreign import ccall "&cddb_disc_set_discid" p'cddb_disc_set_discid
:: FunPtr (Ptr C'cddb_disc_t -> CUInt -> IO ())
foreign import ccall "cddb_disc_get_category" c'cddb_disc_get_category
:: Ptr C'cddb_disc_t -> IO C'cddb_cat_t
foreign import ccall "&cddb_disc_get_category" p'cddb_disc_get_category
:: FunPtr (Ptr C'cddb_disc_t -> IO C'cddb_cat_t)
foreign import ccall "cddb_disc_set_category" c'cddb_disc_set_category
:: Ptr C'cddb_disc_t -> C'cddb_cat_t -> IO ()
foreign import ccall "&cddb_disc_set_category" p'cddb_disc_set_category
:: FunPtr (Ptr C'cddb_disc_t -> C'cddb_cat_t -> IO ())
foreign import ccall "cddb_disc_get_category_str" c'cddb_disc_get_category_str
:: Ptr C'cddb_disc_t -> IO CString
foreign import ccall "&cddb_disc_get_category_str" p'cddb_disc_get_category_str
:: FunPtr (Ptr C'cddb_disc_t -> IO CString)
foreign import ccall "cddb_disc_set_category_str" c'cddb_disc_set_category_str
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_set_category_str" p'cddb_disc_set_category_str
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_get_genre" c'cddb_disc_get_genre
:: Ptr C'cddb_disc_t -> IO CString
foreign import ccall "&cddb_disc_get_genre" p'cddb_disc_get_genre
:: FunPtr (Ptr C'cddb_disc_t -> IO CString)
foreign import ccall "cddb_disc_set_genre" c'cddb_disc_set_genre
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_set_genre" p'cddb_disc_set_genre
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_get_length" c'cddb_disc_get_length
:: Ptr C'cddb_disc_t -> IO CUInt
foreign import ccall "&cddb_disc_get_length" p'cddb_disc_get_length
:: FunPtr (Ptr C'cddb_disc_t -> IO CUInt)
foreign import ccall "cddb_disc_set_length" c'cddb_disc_set_length
:: Ptr C'cddb_disc_t -> CUInt -> IO ()
foreign import ccall "&cddb_disc_set_length" p'cddb_disc_set_length
:: FunPtr (Ptr C'cddb_disc_t -> CUInt -> IO ())
foreign import ccall "cddb_disc_get_year" c'cddb_disc_get_year
:: Ptr C'cddb_disc_t -> IO CUInt
foreign import ccall "&cddb_disc_get_year" p'cddb_disc_get_year
:: FunPtr (Ptr C'cddb_disc_t -> IO CUInt)
foreign import ccall "cddb_disc_set_year" c'cddb_disc_set_year
:: Ptr C'cddb_disc_t -> CUInt -> IO ()
foreign import ccall "&cddb_disc_set_year" p'cddb_disc_set_year
:: FunPtr (Ptr C'cddb_disc_t -> CUInt -> IO ())
foreign import ccall "cddb_disc_get_track_count" c'cddb_disc_get_track_count
:: Ptr C'cddb_disc_t -> IO CInt
foreign import ccall "&cddb_disc_get_track_count" p'cddb_disc_get_track_count
:: FunPtr (Ptr C'cddb_disc_t -> IO CInt)
foreign import ccall "cddb_disc_get_title" c'cddb_disc_get_title
:: Ptr C'cddb_disc_t -> IO CString
foreign import ccall "&cddb_disc_get_title" p'cddb_disc_get_title
:: FunPtr (Ptr C'cddb_disc_t -> IO CString)
foreign import ccall "cddb_disc_set_title" c'cddb_disc_set_title
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_set_title" p'cddb_disc_set_title
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_append_title" c'cddb_disc_append_title
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_append_title" p'cddb_disc_append_title
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_get_artist" c'cddb_disc_get_artist
:: Ptr C'cddb_disc_t -> IO CString
foreign import ccall "&cddb_disc_get_artist" p'cddb_disc_get_artist
:: FunPtr (Ptr C'cddb_disc_t -> IO CString)
foreign import ccall "cddb_disc_set_artist" c'cddb_disc_set_artist
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_set_artist" p'cddb_disc_set_artist
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_append_artist" c'cddb_disc_append_artist
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_append_artist" p'cddb_disc_append_artist
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_get_ext_data" c'cddb_disc_get_ext_data
:: Ptr C'cddb_disc_t -> IO CString
foreign import ccall "&cddb_disc_get_ext_data" p'cddb_disc_get_ext_data
:: FunPtr (Ptr C'cddb_disc_t -> IO CString)
foreign import ccall "cddb_disc_set_ext_data" c'cddb_disc_set_ext_data
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_set_ext_data" p'cddb_disc_set_ext_data
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_append_ext_data" c'cddb_disc_append_ext_data
:: Ptr C'cddb_disc_t -> CString -> IO ()
foreign import ccall "&cddb_disc_append_ext_data" p'cddb_disc_append_ext_data
:: FunPtr (Ptr C'cddb_disc_t -> CString -> IO ())
foreign import ccall "cddb_disc_copy" c'cddb_disc_copy
:: Ptr C'cddb_disc_t -> Ptr C'cddb_disc_t -> IO ()
foreign import ccall "&cddb_disc_copy" p'cddb_disc_copy
:: FunPtr (Ptr C'cddb_disc_t -> Ptr C'cddb_disc_t -> IO ())
foreign import ccall "cddb_disc_calc_discid" c'cddb_disc_calc_discid
:: Ptr C'cddb_disc_t -> IO CInt
foreign import ccall "&cddb_disc_calc_discid" p'cddb_disc_calc_discid
:: FunPtr (Ptr C'cddb_disc_t -> IO CInt)
foreign import ccall "cddb_disc_print" c'cddb_disc_print
:: Ptr C'cddb_disc_t -> IO ()
foreign import ccall "&cddb_disc_print" p'cddb_disc_print
:: FunPtr (Ptr C'cddb_disc_t -> IO ())
foreign import ccall "array_CDDB_CATEGORY" c'CDDB_CATEGORY
:: Ptr (CString)