Module Make.Wave

type wave_format_with_default = {
  1. mutable current : Hardcaml.Wave_format.t;
  2. default : Hardcaml.Wave_format.t;
}
val sexp_of_wave_format_with_default : wave_format_with_default -> Sexplib0.Sexp.t
val equal_wave_format_with_default : wave_format_with_default -> wave_format_with_default -> Base.bool
val equal_wave_format_with_default__local : wave_format_with_default @ local -> (wave_format_with_default @ local -> Base.bool) @ local
type mutable_style = {
  1. mutable style : Style.t;
}
type t =
  1. | Empty of {
    1. mutable name : Base.string;
    }
  2. | Clock of {
    1. mutable name : Base.string;
    2. style : mutable_style;
    }
  3. | Binary of {
    1. mutable name : Base.string;
    2. data : Data.t;
    3. style : mutable_style;
    }
  4. | Data of {
    1. mutable name : Base.string;
    2. data : Data.t;
    3. wave_format : wave_format_with_default;
    4. text_alignment : Text_alignment.t;
    5. style : mutable_style;
    }
val sexp_of_t : t -> Sexplib0.Sexp.t
include Ppx_compare_lib.Equal.S with type t := t
val equal : t -> t -> bool
include Ppx_compare_lib.Equal.S__local with type t := t
val set_name : t -> Base.string -> t
val get_name : t -> Base.string
val get_data : t -> Data.t
val get_to_str : t -> Hardcaml.Bits.t -> Base.string
val get_alignment : t -> Text_alignment.t
val get_format : t -> Hardcaml.Wave_format.t
val get_height_in_chars : t -> Base.int
val create_from_signal : ?style:Style.t -> Base.string -> Hardcaml.Signal.t -> Data.t -> t