{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE NoMonomorphismRestriction #-} module Control.Monad.SFML.Audio where import Control.Monad.SFML.Types.TH import Control.Monad.SFML.Conversions import qualified SFML.Audio as A -- * Audio / Listener.hs $(lift 'A.setGlobalVolume) $(lift 'A.getGlobalVolume) $(lift 'A.setListenerPosition) $(lift 'A.getListenerPosition) $(lift 'A.setListenerDirection) $(lift 'A.getListenerDirection) -- * Audio / Music.hs $(liftWithDestroy 'err 'A.musicFromFile) $(liftWithDestroy 'err 'A.musicFromMemory) $(liftWithDestroy 'err 'A.musicFromStream) $(lift 'A.setLoop) $(lift 'A.getLoop) $(lift 'A.getDuration) $(lift 'A.play) $(lift 'A.pause) $(lift 'A.stop) $(lift 'A.getChannelCount) $(lift 'A.getSampleRate) $(lift 'A.getStatus) $(lift 'A.getPlayingOffset) $(lift 'A.setPitch) $(lift 'A.setVolume) $(lift 'A.setPosition) $(lift 'A.setRelativeToListener) $(lift 'A.setMinDistance) $(lift 'A.setAttenuation) $(lift 'A.setPlayingOffset) $(lift 'A.getPitch) $(lift 'A.getVolume) $(lift 'A.getPosition) $(lift 'A.isRelativeToListener) $(lift 'A.getMinDistance) $(lift 'A.getAttenuation) -- * Audio / Sound.hs $(liftWithDestroy 'id 'A.createSound) $(lift 'A.copySound) $(lift 'A.setSoundBuffer) $(lift 'A.getSoundBuffer) -- * Audio / SoundBuffer.hs $(liftWithDestroy 'err 'A.soundBufferFromFile) $(liftWithDestroy 'err 'A.soundBufferFromMemory) $(liftWithDestroy 'err 'A.soundBufferFromStream) $(liftWithDestroy 'mb 'A.soundBufferFromSamples) $(lift 'A.copySoundBuffer) $(lift 'A.saveSoundBufferToFile) $(lift 'A.getSamples) $(lift 'A.getSampleCount) -- * Audio / SoundBufferRecorder.hs $(liftWithDestroy 'err 'A.createSoundBufferRecorder) $(lift 'A.startRecording) $(lift 'A.stopRecording) -- * Audio / SoundRecorder.hs $(liftWithDestroy 'err 'A.createSoundRecorder) $(lift 'A.isSoundRecorderAvailable) -- * Audio / SoundStream.hs $(liftWithDestroy 'id 'A.createSoundStream)