conduit-audio-lame 0.1.2 → 0.1.2.1
raw patch · 3 files changed
+105/−105 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- LICENSE +1/−1
- conduit-audio-lame.cabal +3/−3
- src/Data/Conduit/Audio/LAME/Binding.chs +101/−101
LICENSE view
@@ -13,7 +13,7 @@ disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Vincent Berthoux nor the names of other+ * Neither the name of Michael Tolly nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission.
conduit-audio-lame.cabal view
@@ -1,5 +1,5 @@ name: conduit-audio-lame-version: 0.1.2+version: 0.1.2.1 author: Michael Tolly maintainer: miketolly@gmail.com license: BSD3@@ -25,12 +25,12 @@ Data.Conduit.Audio.LAME Data.Conduit.Audio.LAME.Binding build-depends:- base >= 4.6 && < 4.9+ base >= 4.6 && < 4.11 , bytestring , conduit , conduit-audio >= 0.1 && < 0.3 , resourcet- , transformers >= 0.3 && < 0.5+ , transformers >= 0.3 && < 0.6 , vector hs-source-dirs: src default-language: Haskell2010
src/Data/Conduit/Audio/LAME/Binding.chs view
@@ -9,34 +9,34 @@ {#context prefix="lame_"#} -{#fun init as ^ {} -> `LAME' #}+{#fun init as ^ {} -> `LAME' id #} -{#fun get_num_samples as ^ { `LAME' } -> `Int' #}-{#fun set_num_samples as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_in_samplerate as ^ { `LAME' } -> `Int' #}-{#fun set_in_samplerate as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_num_channels as ^ { `LAME' } -> `Int' #}-{#fun set_num_channels as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_scale as ^ { `LAME' } -> `Float' #}-{#fun set_scale as ^ { `LAME', `Float' } -> `Int' #}-{#fun get_scale_left as ^ { `LAME' } -> `Float' #}-{#fun set_scale_left as ^ { `LAME', `Float' } -> `Int' #}-{#fun get_scale_right as ^ { `LAME' } -> `Float' #}-{#fun set_scale_right as ^ { `LAME', `Float' } -> `Int' #}-{#fun get_out_samplerate as ^ { `LAME' } -> `Int' #}-{#fun set_out_samplerate as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_analysis as ^ { `LAME' } -> `Bool' #}-{#fun set_analysis as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_bWriteVbrTag as ^ { `LAME' } -> `Bool' #}-{#fun set_bWriteVbrTag as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_decode_only as ^ { `LAME' } -> `Bool' #}-{#fun set_decode_only as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_quality as ^ { `LAME' } -> `Int' #}-{#fun set_quality as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_mode as ^ { `LAME' } -> `MPEGMode' toCEnum #}-{#fun set_mode as ^ { `LAME', fromCEnum `MPEGMode' } -> `Int' #}+{#fun get_num_samples as ^ { id `LAME' } -> `Int' #}+{#fun set_num_samples as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_in_samplerate as ^ { id `LAME' } -> `Int' #}+{#fun set_in_samplerate as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_num_channels as ^ { id `LAME' } -> `Int' #}+{#fun set_num_channels as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_scale as ^ { id `LAME' } -> `Float' #}+{#fun set_scale as ^ { id `LAME', `Float' } -> `Int' #}+{#fun get_scale_left as ^ { id `LAME' } -> `Float' #}+{#fun set_scale_left as ^ { id `LAME', `Float' } -> `Int' #}+{#fun get_scale_right as ^ { id `LAME' } -> `Float' #}+{#fun set_scale_right as ^ { id `LAME', `Float' } -> `Int' #}+{#fun get_out_samplerate as ^ { id `LAME' } -> `Int' #}+{#fun set_out_samplerate as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_analysis as ^ { id `LAME' } -> `Bool' #}+{#fun set_analysis as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_bWriteVbrTag as ^ { id `LAME' } -> `Bool' #}+{#fun set_bWriteVbrTag as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_decode_only as ^ { id `LAME' } -> `Bool' #}+{#fun set_decode_only as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_quality as ^ { id `LAME' } -> `Int' #}+{#fun set_quality as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_mode as ^ { id `LAME' } -> `MPEGMode' toCEnum #}+{#fun set_mode as ^ { id `LAME', fromCEnum `MPEGMode' } -> `Int' #} {#enum MPEG_mode as MPEGMode {underscoreToCase} deriving (Eq, Ord, Show, Read, Bounded) #}@@ -47,87 +47,87 @@ toCEnum :: (Enum a) => CInt -> a toCEnum = toEnum . fromIntegral -{#fun get_force_ms as ^ { `LAME' } -> `Bool' #}-{#fun set_force_ms as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_free_format as ^ { `LAME' } -> `Bool' #}-{#fun set_free_format as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_findReplayGain as ^ { `LAME' } -> `Bool' #}-{#fun set_findReplayGain as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_decode_on_the_fly as ^ { `LAME' } -> `Bool' #}-{#fun set_decode_on_the_fly as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_nogap_total as ^ { `LAME' } -> `Int' #}-{#fun set_nogap_total as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_nogap_currentindex as ^ { `LAME' } -> `Int' #}-{#fun set_nogap_currentindex as ^ { `LAME', `Int' } -> `Int' #}+{#fun get_force_ms as ^ { id `LAME' } -> `Bool' #}+{#fun set_force_ms as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_free_format as ^ { id `LAME' } -> `Bool' #}+{#fun set_free_format as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_findReplayGain as ^ { id `LAME' } -> `Bool' #}+{#fun set_findReplayGain as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_decode_on_the_fly as ^ { id `LAME' } -> `Bool' #}+{#fun set_decode_on_the_fly as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_nogap_total as ^ { id `LAME' } -> `Int' #}+{#fun set_nogap_total as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_nogap_currentindex as ^ { id `LAME' } -> `Int' #}+{#fun set_nogap_currentindex as ^ { id `LAME', `Int' } -> `Int' #} -- TODO: lame_set_errorf, lame_set_debugf, lame_set_msgf -{#fun get_brate as ^ { `LAME' } -> `Int' #}-{#fun set_brate as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_compression_ratio as ^ { `LAME' } -> `Float' #}-{#fun set_compression_ratio as ^ { `LAME', `Float' } -> `Int' #}+{#fun get_brate as ^ { id `LAME' } -> `Int' #}+{#fun set_brate as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_compression_ratio as ^ { id `LAME' } -> `Float' #}+{#fun set_compression_ratio as ^ { id `LAME', `Float' } -> `Int' #} {#fun set_preset as ^ { `LAME', `Int' } -> `Int' #} {#fun set_asm_optimizations as ^ { `LAME', `Int', `Int' } -> `Int' #} -{#fun get_copyright as ^ { `LAME' } -> `Bool' #}-{#fun set_copyright as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_original as ^ { `LAME' } -> `Bool' #}-{#fun set_original as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_error_protection as ^ { `LAME' } -> `Bool' #}-{#fun set_error_protection as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_extension as ^ { `LAME' } -> `Bool' #}-{#fun set_extension as ^ { `LAME', `Bool' } -> `Int' #}-{#fun get_strict_ISO as ^ { `LAME' } -> `Bool' #}-{#fun set_strict_ISO as ^ { `LAME', `Bool' } -> `Int' #}+{#fun get_copyright as ^ { id `LAME' } -> `Bool' #}+{#fun set_copyright as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_original as ^ { id `LAME' } -> `Bool' #}+{#fun set_original as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_error_protection as ^ { id `LAME' } -> `Bool' #}+{#fun set_error_protection as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_extension as ^ { id `LAME' } -> `Bool' #}+{#fun set_extension as ^ { id `LAME', `Bool' } -> `Int' #}+{#fun get_strict_ISO as ^ { id `LAME' } -> `Bool' #}+{#fun set_strict_ISO as ^ { id `LAME', `Bool' } -> `Int' #} -- TODO: quantization/noise shaping section -{#fun get_VBR as ^ { `LAME' } -> `VBRMode' toCEnum #}-{#fun set_VBR as ^ { `LAME', fromCEnum `VBRMode' } -> `Int' #}+{#fun get_VBR as ^ { id `LAME' } -> `VBRMode' toCEnum #}+{#fun set_VBR as ^ { id `LAME', fromCEnum `VBRMode' } -> `Int' #} {#enum vbr_mode as VBRMode {underscoreToCase} deriving (Eq, Ord, Show, Read, Bounded) #} -{#fun get_VBR_q as ^ { `LAME' } -> `Int' #}-{#fun set_VBR_q as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_VBR_quality as ^ { `LAME' } -> `Float' #}-{#fun set_VBR_quality as ^ { `LAME', `Float' } -> `Int' #}+{#fun get_VBR_q as ^ { id `LAME' } -> `Int' #}+{#fun set_VBR_q as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_VBR_quality as ^ { id `LAME' } -> `Float' #}+{#fun set_VBR_quality as ^ { id `LAME', `Float' } -> `Int' #} -{#fun get_VBR_mean_bitrate_kbps as ^ { `LAME' } -> `Int' #}-{#fun set_VBR_mean_bitrate_kbps as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_VBR_min_bitrate_kbps as ^ { `LAME' } -> `Int' #}-{#fun set_VBR_min_bitrate_kbps as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_VBR_max_bitrate_kbps as ^ { `LAME' } -> `Int' #}-{#fun set_VBR_max_bitrate_kbps as ^ { `LAME', `Int' } -> `Int' #}+{#fun get_VBR_mean_bitrate_kbps as ^ { id `LAME' } -> `Int' #}+{#fun set_VBR_mean_bitrate_kbps as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_VBR_min_bitrate_kbps as ^ { id `LAME' } -> `Int' #}+{#fun set_VBR_min_bitrate_kbps as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_VBR_max_bitrate_kbps as ^ { id `LAME' } -> `Int' #}+{#fun set_VBR_max_bitrate_kbps as ^ { id `LAME', `Int' } -> `Int' #} -{#fun get_VBR_hard_min as ^ { `LAME' } -> `Bool' #}-{#fun set_VBR_hard_min as ^ { `LAME', `Bool' } -> `Int' #}+{#fun get_VBR_hard_min as ^ { id `LAME' } -> `Bool' #}+{#fun set_VBR_hard_min as ^ { id `LAME', `Bool' } -> `Int' #} -{#fun get_lowpassfreq as ^ { `LAME' } -> `Int' #}-{#fun set_lowpassfreq as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_lowpasswidth as ^ { `LAME' } -> `Int' #}-{#fun set_lowpasswidth as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_highpassfreq as ^ { `LAME' } -> `Int' #}-{#fun set_highpassfreq as ^ { `LAME', `Int' } -> `Int' #}-{#fun get_highpasswidth as ^ { `LAME' } -> `Int' #}-{#fun set_highpasswidth as ^ { `LAME', `Int' } -> `Int' #}+{#fun get_lowpassfreq as ^ { id `LAME' } -> `Int' #}+{#fun set_lowpassfreq as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_lowpasswidth as ^ { id `LAME' } -> `Int' #}+{#fun set_lowpasswidth as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_highpassfreq as ^ { id `LAME' } -> `Int' #}+{#fun set_highpassfreq as ^ { id `LAME', `Int' } -> `Int' #}+{#fun get_highpasswidth as ^ { id `LAME' } -> `Int' #}+{#fun set_highpasswidth as ^ { id `LAME', `Int' } -> `Int' #} -- TODO: psycho acoustics section -{#fun get_version as ^ { `LAME' } -> `Int' #}-{#fun get_encoder_delay as ^ { `LAME' } -> `Int' #}-{#fun get_encoder_padding as ^ { `LAME' } -> `Int' #}-{#fun get_framesize as ^ { `LAME' } -> `Int' #}-{#fun get_mf_samples_to_encode as ^ { `LAME' } -> `Int' #}-{#fun get_size_mp3buffer as ^ { `LAME' } -> `Int' #}-{#fun get_frameNum as ^ { `LAME' } -> `Int' #}-{#fun get_totalframes as ^ { `LAME' } -> `Int' #}-{#fun get_RadioGain as ^ { `LAME' } -> `Int' #}-{#fun get_AudiophileGain as ^ { `LAME' } -> `Int' #}-{#fun get_PeakSample as ^ { `LAME' } -> `Float' #}-{#fun get_noclipGainChange as ^ { `LAME' } -> `Int' #}-{#fun get_noclipScale as ^ { `LAME' } -> `Float' #}+{#fun get_version as ^ { id `LAME' } -> `Int' #}+{#fun get_encoder_delay as ^ { id `LAME' } -> `Int' #}+{#fun get_encoder_padding as ^ { id `LAME' } -> `Int' #}+{#fun get_framesize as ^ { id `LAME' } -> `Int' #}+{#fun get_mf_samples_to_encode as ^ { id `LAME' } -> `Int' #}+{#fun get_size_mp3buffer as ^ { id `LAME' } -> `Int' #}+{#fun get_frameNum as ^ { id `LAME' } -> `Int' #}+{#fun get_totalframes as ^ { id `LAME' } -> `Int' #}+{#fun get_RadioGain as ^ { id `LAME' } -> `Int' #}+{#fun get_AudiophileGain as ^ { id `LAME' } -> `Int' #}+{#fun get_PeakSample as ^ { id `LAME' } -> `Float' #}+{#fun get_noclipGainChange as ^ { id `LAME' } -> `Int' #}+{#fun get_noclipScale as ^ { id `LAME' } -> `Float' #} {#fun init_params as ^ { `LAME' } -> `Int' #} @@ -156,7 +156,7 @@ {#fun encode_buffer as ^- { `LAME'+ { id `LAME' , id `Ptr CShort' -- ^ PCM data for left channel , id `Ptr CShort' -- ^ PCM data for right channel , `Int' -- ^ number of samples per channel@@ -166,7 +166,7 @@ {#fun encode_buffer_interleaved as ^- { `LAME'+ { id `LAME' , id `Ptr CShort' -- ^ PCM data for left and right channel, interleaved , `Int' -- ^ number of samples per channel, /not/ number of samples overall , id `Ptr CUChar' -- ^ pointer to encoded MP3 stream@@ -175,7 +175,7 @@ {#fun encode_buffer_float as ^- { `LAME'+ { id `LAME' , id `Ptr CFloat' -- ^ PCM data for left channel , id `Ptr CFloat' -- ^ PCM data for right channel , `Int' -- ^ number of samples per channel@@ -185,7 +185,7 @@ {#fun encode_buffer_ieee_float as ^- { `LAME'+ { id `LAME' , id `Ptr CFloat' -- ^ PCM data for left channel , id `Ptr CFloat' -- ^ PCM data for right channel , `Int' -- ^ number of samples per channel@@ -195,7 +195,7 @@ {#fun encode_buffer_interleaved_ieee_float as ^- { `LAME'+ { id `LAME' , id `Ptr CFloat' -- ^ PCM data for left and right channel, interleaved , `Int' -- ^ number of samples per channel, /not/ number of samples overall , id `Ptr CUChar' -- ^ pointer to encoded MP3 stream@@ -204,7 +204,7 @@ {#fun encode_buffer_ieee_double as ^- { `LAME'+ { id `LAME' , id `Ptr CDouble' -- ^ PCM data for left channel , id `Ptr CDouble' -- ^ PCM data for right channel , `Int' -- ^ number of samples per channel@@ -214,7 +214,7 @@ {#fun encode_buffer_interleaved_ieee_double as ^- { `LAME'+ { id `LAME' , id `Ptr CDouble' -- ^ PCM data for left and right channel, interleaved , `Int' -- ^ number of samples per channel, /not/ number of samples overall , id `Ptr CUChar' -- ^ pointer to encoded MP3 stream@@ -223,7 +223,7 @@ {#fun encode_buffer_long as ^- { `LAME'+ { id `LAME' , id `Ptr CLong' -- ^ PCM data for left channel , id `Ptr CLong' -- ^ PCM data for right channel , `Int' -- ^ number of samples per channel@@ -233,7 +233,7 @@ {#fun encode_buffer_long2 as ^- { `LAME'+ { id `LAME' , id `Ptr CLong' -- ^ PCM data for left channel , id `Ptr CLong' -- ^ PCM data for right channel , `Int' -- ^ number of samples per channel@@ -243,7 +243,7 @@ {#fun encode_buffer_int as ^- { `LAME'+ { id `LAME' , id `Ptr CInt' -- ^ PCM data for left channel , id `Ptr CInt' -- ^ PCM data for right channel , `Int' -- ^ number of samples per channel@@ -253,30 +253,30 @@ {#fun encode_flush as ^- { `LAME'+ { id `LAME' , id `Ptr CUChar' -- ^ pointer to encoded MP3 stream , `Int' -- number of valid octets in this stream } -> `Int' #} {#fun encode_flush_nogap as ^- { `LAME'+ { id `LAME' , id `Ptr CUChar' -- ^ pointer to encoded MP3 stream , `Int' -- number of valid octets in this stream } -> `Int' #} {#fun init_bitstream as ^- { `LAME'+ { id `LAME' } -> `Int' #} -- TODO: some simple statistics {#fun get_lametag_frame as ^- { `LAME'+ { id `LAME' , id `Ptr CUChar' , fromIntegral `CSize' } -> `CSize' fromIntegral #} -{#fun close as ^ { `LAME' } -> `Int' #}+{#fun close as ^ { id `LAME' } -> `Int' #} {#enum lame_errorcodes_t as ErrorCode {underscoreToCase} deriving (Eq, Ord, Show, Read, Bounded) #}