_@C      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Infered Safe-Infered Safe-Infered, ) $    Safe-InferedT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwH      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwH      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw  Safe-Infered6xyz{|}~1xyz{|}~2xyz{|}~ Safe-Infered buffer size  period size xyz{|}~yxz{~}|  Safe-Infered:Sample types of this class must have exactly one channel, "i.e. Frame.numberOfChannels == 1.             Safe-InferedHFor non-interleaved access the number of channels must be set manually. It can be chosen at runtime, Gbut the compiler cannot check whether the number of allocated channels matches the one in readn and writen. FIn interleaved access the number of channels is derived from the type and must not be set manually. The number is static )but the compiler checks consistency with readi and writei. sample frequency  buffer time  period time (bufferSize,periodSize) s !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvws !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw Safe-Infered1This expects pad bytes that are needed in memory *in order to satisfy aligment constraints. 6This is only a problem for samples sizes like 24 bit. Same restrictions as for fileRead.    Safe-InferedThe  Ptr (Ptr y)9 argument is actually a pointer to an array of pointers. 4The array must have the size of number of channels. In 3 mode you must set the number of channels manually using  or its friends. 3It is an unchecked error if the number of channels  set with  %does not match the array size in the  call. Cf. . retry on buffer over-run retry on buffer under-run  device, e.g "default"      Safe-InferedECounts are in samples, not bytes. Multi-channel data is interleaved. )&Buffer size (in sample frames) to use ..     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~    q                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                o p q r s t                                alsa-pcm-0.6Sound.ALSA.PCM.Node.ALSA"Sound.ALSA.PCM.Parameters.Software"Sound.ALSA.PCM.Parameters.HardwareSound.ALSA.PCM.Node.FileSound.ALSA.PCMSound.ALSA.PCM.Core.ConvertSound.ALSA.PCM.DebugSound.ALSA.PCM.Core.HandleSound.ALSA.PCM.Core.HwParamsSound.ALSA.PCM.Core.SwParamsSound.ALSA.PCM.Core.ClassModeStream StreamCaptureStreamPlaybackSizeTime SampleFreqNoninterleaved InterleavedHandlenonBlockasyncmodesclosepreparestartdropdrainTcanMmapSampleResolutionisDoubleisBatchisBlockTransfer canOverrangecanPause canResume isHalfDuplex isJointDuplex canSyncStart getRateNumdengetSbits getFifoSize getChannelsgetChannelsMingetChannelsMax testChannelsgetRate getRateMin getRateMaxtestRatesetRate setRateMin setRateMax setRateMinmax setRateNear setRateFirst setRateLastsetRateResamplegetRateResamplesetExportBuffergetExportBuffer getPeriodTimegetPeriodTimeMingetPeriodTimeMaxtestPeriodTime setPeriodTimesetPeriodTimeMinsetPeriodTimeMaxsetPeriodTimeMinmaxsetPeriodTimeNearsetPeriodTimeFirstsetPeriodTimeLast getPeriodSizegetPeriodSizeMingetPeriodSizeMaxtestPeriodSize setPeriodSizesetPeriodSizeMinsetPeriodSizeMaxsetPeriodSizeMinmaxsetPeriodSizeNearsetPeriodSizeFirstsetPeriodSizeLastsetPeriodSizeInteger getPeriods getPeriodsMin getPeriodsMax testPeriods setPeriods setPeriodsMin setPeriodsMaxsetPeriodsMinmaxsetPeriodsNearsetPeriodsFirstsetPeriodsLastsetPeriodsInteger getBufferTimegetBufferTimeMingetBufferTimeMaxtestBufferTime setBufferTimesetBufferTimeMinsetBufferTimeMaxsetBufferTimeMinmaxsetBufferTimeNearsetBufferTimeFirstsetBufferTimeLast getBufferSizegetBufferSizeMingetBufferSizeMaxtestBufferSize setBufferSizesetBufferSizeMinsetBufferSizeMaxsetBufferSizeMinmaxsetBufferSizeNearsetBufferSizeFirstsetBufferSizeLast getTickTimegetTickTimeMingetTickTimeMax testTickTime setTickTimesetTickTimeMinsetTickTimeMaxsetTickTimeMinmaxsetTickTimeNearsetTickTimeFirstsetTickTimeLast getMinAlign TimestampMode timestampNone timestampMmapsetTimestampModegetTimestampMode setSleepMin getSleepMin setAvailMin getAvailMin setXferAlign getXferAlignsetStartThresholdgetStartThresholdsetStopThresholdgetStopThresholdsetSilenceThresholdgetSilenceThresholdsetSilenceSizegetSilenceSize MonoSampleFmt SampleFmtsampleFmtToPcmFormatAccess setChannelssetChannelsMinsetChannelsMaxsetChannelsMinmaxsetChannelsNearsetChannelsFirstsetChannelsLastsetRateBufferTimeopenreadwritereadiwriteireadnwriten readiRetry writeiRetry SoundSink soundSinkOpensoundSinkClosesoundSinkWritesoundSinkStart soundSinkStop SoundSourcesoundSourceOpensoundSourceClosesoundSourceStartsoundSourceStopsoundSourceReadFilePcmSoundBufferTime bufferTime periodTimeSoundFmt sampleFreqwithSoundSourcewithSoundSourceRunning withSoundSinkwithSoundSinkRunning soundFmtMIMEaudioBytesPerSampleaudioBytesPerFramesoundSourceBytesPerFramesoundSinkBytesPerFrame copySoundalsaSoundSource alsaSoundSinkalsaSoundSourceTimealsaSoundSinkTimealsaSoundSourceParamsalsaSoundSinkParamsfileSoundSource fileSoundSinkCons fromHaskell toHaskellwithpeekidintputdePcmStructwriten_readn_writei_readi_drain_drop_start_prepare_close_open_ arraySize $fMonoidMode $fEnumStream$fStorableHandle Subformat fromSubformatFormat fromFormat fromAccess Direction fromDirectionBool_ fromBool_Params getMinAlign_setTickTimeLast_setTickTimeFirst_setTickTimeNear_setTickTimeMinmax_setTickTimeMax_setTickTimeMin_ setTickTime_ testTickTime_getTickTimeMax_getTickTimeMin_ getTickTime_setBufferSizeLast_setBufferSizeFirst_setBufferSizeNear_setBufferSizeMinmax_setBufferSizeMax_setBufferSizeMin_setBufferSize_testBufferSize_getBufferSizeMax_getBufferSizeMin_getBufferSize_setBufferTimeLast_setBufferTimeFirst_setBufferTimeNear_setBufferTimeMinmax_setBufferTimeMax_setBufferTimeMin_setBufferTime_testBufferTime_getBufferTimeMax_getBufferTimeMin_getBufferTime_setPeriodsInteger_setPeriodsLast_setPeriodsFirst_setPeriodsNear_setPeriodsMinmax_setPeriodsMax_setPeriodsMin_ setPeriods_ testPeriods_getPeriodsMax_getPeriodsMin_ getPeriods_setPeriodSizeInteger_setPeriodSizeLast_setPeriodSizeFirst_setPeriodSizeNear_setPeriodSizeMinmax_setPeriodSizeMax_setPeriodSizeMin_setPeriodSize_testPeriodSize_getPeriodSizeMax_getPeriodSizeMin_getPeriodSize_setPeriodTimeLast_setPeriodTimeFirst_setPeriodTimeNear_setPeriodTimeMinmax_setPeriodTimeMax_setPeriodTimeMin_setPeriodTime_testPeriodTime_getPeriodTimeMax_getPeriodTimeMin_getPeriodTime_getExportBuffer_setExportBuffer_getRateResample_setRateResample_ setRateLast_ setRateFirst_ setRateNear_setRateMinmax_ setRateMax_ setRateMin_setRate_ testRate_ getRateMax_ getRateMin_getRate_setChannelsLast_setChannelsFirst_setChannelsNear_setChannelsMinmax_setChannelsMax_setChannelsMin_ setChannels_ testChannels_getChannelsMax_getChannelsMin_ getChannels_setSubformatLast_setSubformatFirst_ setSubformat_testSubformat_ getSubformat_setFormatLast_setFormatFirst_ setFormat_ testFormat_ getFormat_setAccessLast_setAccessFirst_ setAccess_ testAccess_ getAccess_ getFifoSize_ getSbits_getRateNumden_ canSyncStart_isJointDuplex_ isHalfDuplex_ canResume_ canPause_ canOverrange_isBlockTransfer_isBatch_ isDouble_canMmapSampleResolution_any_set_freemalloc_withIOmallocsetanyboolConvordConvaccessMmapInterleavedaccessMmapNoninterleavedaccessMmapComplexaccessRwInterleavedaccessRwNoninterleaved formatUnknownformatS8formatU8 formatS16Le formatS16Be formatU16Le formatU16Be formatS24Le formatS24Be formatU24Le formatU24Be formatS32Le formatS32Be formatU32Le formatU32Be formatFloatLe formatFloatBeformatFloat64LeformatFloat64BeformatIec958SubframeLeformatIec958SubframeBe formatMuLaw formatALawformatImaAdpcm formatMpeg formatGsm formatSpecial formatS243le formatS243be formatU243le formatU243be formatS203le formatS203be formatU203le formatU203be formatS183le formatS183be formatU183le formatU183be formatS16 formatU16 formatS24 formatU24 formatS32 formatU32 formatFloat formatFloat64formatIec958Subframe getAccess testAccess setAccesssetAccessFirst setAccessLast getFormat testFormat setFormatsetFormatFirst setFormatLast getSubformat testSubformat setSubformatsetSubformatFirstsetSubformatLast$fStorableSubformat$fStorableFormat$fBoundedFormat $fEnumFormat$fStorableAccess$fBoundedAccess $fEnumAccess$fStorableDirection$fStorableBool_$fMonadT$fApplicativeT $fFunctorTfromTimestampModegetSilenceSize_setSilenceSize_getSilenceThreshold_setSilenceThreshold_getStopThreshold_setStopThreshold_getStartThreshold_setStartThreshold_ getXferAlign_ setXferAlign_ getAvailMin_ setAvailMin_ getSleepMin_ setSleepMin_getTimestampMode_setTimestampMode_current_current$fStorableTimestampMode$fEnumTimestampModeaccess withSampleFmt withHwParams withSwParams$fMonoSampleFmtT$fMonoSampleFmtDouble$fMonoSampleFmtFloat$fMonoSampleFmtInt32$fMonoSampleFmtWord32$fMonoSampleFmtInt16$fMonoSampleFmtWord16$fMonoSampleFmtInt8$fMonoSampleFmtWord8 $fSampleFmtT $fSampleFmtT0$fSampleFmtDouble$fSampleFmtFloat$fSampleFmtInt32$fSampleFmtWord32$fSampleFmtInt16$fSampleFmtWord16$fSampleFmtInt8$fSampleFmtWord8$fAccessNoninterleaved$fAccessInterleaved