sig
module type Lame_t =
sig
val get_lame_version : unit -> string
val get_lame_short_version : unit -> string
val get_lame_very_short_version : unit -> string
val get_lame_url : unit -> string
val get_psy_version : unit -> string
type encoder
val create_encoder : unit -> Lame_dynlink.Lame_t.encoder
val set_in_samplerate : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_num_channels : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_out_samplerate : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_quality : Lame_dynlink.Lame_t.encoder -> int -> unit
type mode = Stereo | Joint_stereo | Dual_channel | Mono
val set_mode :
Lame_dynlink.Lame_t.encoder -> Lame_dynlink.Lame_t.mode -> unit
type vbr_mode =
Vbr_off
| Vbr_rh
| Vbr_abr
| Vbr_mtrh
| Vbr_max_indicator
val set_vbr_mode :
Lame_dynlink.Lame_t.encoder -> Lame_dynlink.Lame_t.vbr_mode -> unit
val set_vbr_quality : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_vbr_mean_bitrate : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_vbr_min_bitrate : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_vbr_max_bitrate : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_vbr_hard_min : Lame_dynlink.Lame_t.encoder -> bool -> unit
val set_brate : Lame_dynlink.Lame_t.encoder -> int -> unit
val set_compression_ratio :
Lame_dynlink.Lame_t.encoder -> float -> unit
val set_private : Lame_dynlink.Lame_t.encoder -> bool -> unit
val get_private : Lame_dynlink.Lame_t.encoder -> bool
val set_copyright : Lame_dynlink.Lame_t.encoder -> bool -> unit
val get_copyright : Lame_dynlink.Lame_t.encoder -> bool
val set_original : Lame_dynlink.Lame_t.encoder -> bool -> unit
val get_original : Lame_dynlink.Lame_t.encoder -> bool
exception Init_params_failed
val init_params : Lame_dynlink.Lame_t.encoder -> unit
val init_bitstream : Lame_dynlink.Lame_t.encoder -> unit
exception Init_params_not_called
exception Psychoacoustic_problem
exception Unknown_error of int
val encode_buffer_part :
Lame_dynlink.Lame_t.encoder -> string -> int -> int -> string
val encode_buffer :
Lame_dynlink.Lame_t.encoder -> string -> int -> string
val encode_buffer_float_part :
Lame_dynlink.Lame_t.encoder ->
float array -> float array -> int -> int -> string
val encode_buffer_float :
Lame_dynlink.Lame_t.encoder ->
float array -> float array -> int -> string
val encode_flush : Lame_dynlink.Lame_t.encoder -> string
val encode_flush_nogap : Lame_dynlink.Lame_t.encoder -> string
module Id3tag :
sig
val init : Lame_dynlink.Lame_t.encoder -> unit
val set_title : Lame_dynlink.Lame_t.encoder -> string -> unit
val set_artist : Lame_dynlink.Lame_t.encoder -> string -> unit
val set_album : Lame_dynlink.Lame_t.encoder -> string -> unit
val set_year : Lame_dynlink.Lame_t.encoder -> string -> unit
val set_comment : Lame_dynlink.Lame_t.encoder -> string -> unit
val set_track : Lame_dynlink.Lame_t.encoder -> string -> unit
val set_genre : Lame_dynlink.Lame_t.encoder -> string -> unit
end
type mpeg_version = Mpeg_1 | Mpeg_2 | Mpeg_2_5
val get_version :
Lame_dynlink.Lame_t.encoder -> Lame_dynlink.Lame_t.mpeg_version
val get_encoder_delay : Lame_dynlink.Lame_t.encoder -> int
val get_framesize : Lame_dynlink.Lame_t.encoder -> int
val get_nb_samples_to_encode : Lame_dynlink.Lame_t.encoder -> int
val get_nb_encoded_frames : Lame_dynlink.Lame_t.encoder -> int
val get_nb_frames : Lame_dynlink.Lame_t.encoder -> int
end
type handler = {
mutable lame_module : (module Lame_dynlink.Lame_t) option;
}
val handler : Lame_dynlink.handler
end