isobmff-0.13.0.0: A parser and generator for the ISO-14496-12/14 base media file format

Safe HaskellNone
LanguageHaskell2010

Data.Type.BitRecords.Enum

Contents

Synopsis

BitRecordFields containing enum-like types

data EnumOf enum where Source #

Wrapper around a type that can be represented as a short number, indexing the clauses of the (sum) type.

Constructors

MkEnumOf :: IsAn (EnumField enum size) -> IsA (FieldValue label enum) -> BitRecord -> EnumOf enum 
Instances
type Eval (EnumParam label ei :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParam label ei :: A (EnumOf enum) -> Type) = MkEnumOf ei (RuntimeFieldValue label :: A (FieldValue label enum) -> Type) EmptyBitRecord
type Eval (EnumParamAlt label (FixedEnum enum size) :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParamAlt label (FixedEnum enum size) :: A (EnumOf enum) -> Type) = (TypeError (Text "Cannot assign an extension value to the FixedEnum " :<>: ShowType enum) :: EnumOf enum)
type Eval (EnumParamAlt label (ExtEnum enum size extInd extField) :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParamAlt label (ExtEnum enum size extInd extField) :: A (EnumOf enum) -> Type) = MkEnumOf (ExtEnum enum size extInd extField) (StaticFieldValue label extInd) (BitRecordMember (extField :~ (RuntimeFieldValue label :: A (FieldValue label st) -> Type)))
type Eval (SetEnum l ei value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnum l ei value :: A (EnumOf enum) -> Type) = MkEnumOf ei (StaticFieldValue l value) EmptyBitRecord
type Eval (SetEnumAlt l (FixedEnum enum size) value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnumAlt l (FixedEnum enum size) value :: A (EnumOf enum) -> Type) = (TypeError (Text "Cannot assign an 'extended' value to the 'FixedEnum' " :<>: ShowType enum) :: EnumOf enum)
type Eval (SetEnumAlt l (ExtEnum enum size extInd extField) value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnumAlt l (ExtEnum enum size extInd extField) value :: A (EnumOf enum) -> Type) = MkEnumOf (ExtEnum enum size extInd extField) (StaticFieldValue l extInd) (BitRecordMember (extField := value))

type family RenderEnumOf (e :: EnumOf enum) :: BitRecord where ... Source #

Equations

RenderEnumOf (MkEnumOf mainField mainFieldVal extra) = (BitRecordFieldOfEnumField mainField :~ mainFieldVal) .+: extra 

data EnumField (enum :: Type) (size :: Nat) Source #

Physical representation of an EnumOf, this is an abstract type

data FixedEnum (enum :: Type) (size :: Nat) :: IsAn (EnumField enum size) Source #

A fixed size EnumField

Instances
type Eval (EnumParamAlt label (FixedEnum enum size) :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParamAlt label (FixedEnum enum size) :: A (EnumOf enum) -> Type) = (TypeError (Text "Cannot assign an extension value to the FixedEnum " :<>: ShowType enum) :: EnumOf enum)
type Eval (SetEnumAlt l (FixedEnum enum size) value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnumAlt l (FixedEnum enum size) value :: A (EnumOf enum) -> Type) = (TypeError (Text "Cannot assign an 'extended' value to the 'FixedEnum' " :<>: ShowType enum) :: EnumOf enum)

data ExtEnum (enum :: Type) (size :: Nat) (extInd :: enum) (extField :: IsA (BitRecordField (t :: BitField rt0 (st0 :: k0) len0))) :: IsAn (EnumField enum size) Source #

An enum that can be extended with an additional BitRecordField, following the regular enum field; the extension is optional, i.e. only if the regular field contains a special value (e.g. 0xff).

Instances
type Eval (EnumParamAlt label (ExtEnum enum size extInd extField) :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParamAlt label (ExtEnum enum size extInd extField) :: A (EnumOf enum) -> Type) = MkEnumOf (ExtEnum enum size extInd extField) (StaticFieldValue label extInd) (BitRecordMember (extField :~ (RuntimeFieldValue label :: A (FieldValue label st) -> Type)))
type Eval (SetEnumAlt l (ExtEnum enum size extInd extField) value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnumAlt l (ExtEnum enum size extInd extField) value :: A (EnumOf enum) -> Type) = MkEnumOf (ExtEnum enum size extInd extField) (StaticFieldValue l extInd) (BitRecordMember (extField := value))

data SetEnum (l :: Symbol) (ef :: IsAn (EnumField enum size)) (v :: enum) :: IsAn (EnumOf enum) Source #

Create an EnumOf that sets an enum to a static value.

Instances
type Eval (SetEnum l ei value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnum l ei value :: A (EnumOf enum) -> Type) = MkEnumOf ei (StaticFieldValue l value) EmptyBitRecord

data EnumParam (label :: Symbol) (ef :: IsAn (EnumField (enum :: Type) (size :: Nat))) :: IsAn (EnumOf enum) Source #

Create an EnumOf that sets the enum to a runtime value.

Instances
type Eval (EnumParam label ei :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParam label ei :: A (EnumOf enum) -> Type) = MkEnumOf ei (RuntimeFieldValue label :: A (FieldValue label enum) -> Type) EmptyBitRecord

data SetEnumAlt (l :: Symbol) (ef :: IsAn (EnumField (enum :: Type) (size :: Nat))) (v :: k) :: IsAn (EnumOf enum) Source #

Create an EnumOf that sets an extended enum to an extended static value.

Instances
type Eval (SetEnumAlt l (FixedEnum enum size) value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnumAlt l (FixedEnum enum size) value :: A (EnumOf enum) -> Type) = (TypeError (Text "Cannot assign an 'extended' value to the 'FixedEnum' " :<>: ShowType enum) :: EnumOf enum)
type Eval (SetEnumAlt l (ExtEnum enum size extInd extField) value :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (SetEnumAlt l (ExtEnum enum size extInd extField) value :: A (EnumOf enum) -> Type) = MkEnumOf (ExtEnum enum size extInd extField) (StaticFieldValue l extInd) (BitRecordMember (extField := value))

data EnumParamAlt (label :: Symbol) (ef :: IsAn (EnumField (enum :: Type) (size :: Nat))) :: IsAn (EnumOf enum) Source #

Create an EnumOf that sets the extended enum to a runtime value.

Instances
type Eval (EnumParamAlt label (FixedEnum enum size) :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParamAlt label (FixedEnum enum size) :: A (EnumOf enum) -> Type) = (TypeError (Text "Cannot assign an extension value to the FixedEnum " :<>: ShowType enum) :: EnumOf enum)
type Eval (EnumParamAlt label (ExtEnum enum size extInd extField) :: A (EnumOf enum) -> Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type Eval (EnumParamAlt label (ExtEnum enum size extInd extField) :: A (EnumOf enum) -> Type) = MkEnumOf (ExtEnum enum size extInd extField) (StaticFieldValue label extInd) (BitRecordMember (extField :~ (RuntimeFieldValue label :: A (FieldValue label st) -> Type)))

Composing BitRecords with enum fields

type family FromEnum enum (entry :: enum) :: Nat Source #

Return the numeric index of an entry in a table. This emulates fromEnum a bit.

Instances
type FromEnum StreamType ObjectDescriptorStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType ClockReferenceStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType SceneDescriptionStream_Iso14496_11 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType VisualStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType AudioStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType Mpeg7Stream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType IpmpStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType ObjectContentInfoStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType MpegJStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType InteractionStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum StreamType IpmpToolStream_Iso14496_13 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication SystemsIso14496_1_a Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication SystemsIso14496_1_b Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication InteractionStreamObjInd Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication SystemsIso14496_1_ExtendedBifs Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication SystemsIso14496_1_Afx Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication FontDataStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication SynthesizedTextureStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication StreamingTextStream Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso14496_2 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualH264 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualH264ParameterSets Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication AudioIso14496_3 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso13818_2_SimpleProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso13818_2_MainProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso13818_2_SnrProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso13818_2_SpatialProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso13818_2_HighProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso13818_2_422Profile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication AudioIso13818_7_MainProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication AudioIso13818_7_LowComplexityProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication AudioIso13818_7_ScalableSamplingRateProfile Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication AudioIso13818_3 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso11172_2 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication AudioIso11172_3 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso10918_1 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication VisualIso15444_1 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ObjectTypeIndication NoObjectTypeSpecified Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.DecoderSpecificInfo

type FromEnum ChannelConfigTable GasChannelConfig Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum ChannelConfigTable SingleChannel Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum ChannelConfigTable ChannelPair Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum ChannelConfigTable SinglePair Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum ChannelConfigTable SinglePairSingle Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum ChannelConfigTable SinglePairPair Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum ChannelConfigTable SinglePairPairLfe Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum ChannelConfigTable SinglePairPairPairLfe Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF96000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF88200 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF64000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF48000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF44100 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF32000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF24000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF22050 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF16000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF12000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF11025 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF8000 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SF7350 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SFReserved1 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SFReserved2 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum SamplingFreqTable SFCustom Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AacMain Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AacLc Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AacSsr Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AacLtp Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId Sbr Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AacScalable Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId TwinVq Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId Celp Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId Hvxc Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoReserved1 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoReserved2 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId Ttsi Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId MainSunthetic Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId WavetableSynthesis Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId GeneralMidi Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AlgorithmicSynthesisAndAudioFx Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErAacLc Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoReserved3 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErAacLtp Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErAacScalable Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErTwinVq Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErBsac Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErAacLd Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErCelp Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErHvxc Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErHiln Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId ErParametric Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId Ssc Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoReserved4 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoReserved5 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoCustom Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoLayer1 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoLayer2 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoLayer3 Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AoDst Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

type FromEnum AudioObjectTypeId AotInvalid Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.AudioSpecificConfig

data EnumValue e where Source #

An enum value supplied at runtime.

Constructors

MkEnumValue :: KnownNat (FromEnum e v) => Proxy (v :: e) -> EnumValue e 
Instances
KnownChunkSize size => BitStringBuilderHoley (Proxy (MkField (MkFieldCustom :: BitField (EnumValue e) e size))) r Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

Associated Types

type ToBitStringBuilder (Proxy (MkField MkFieldCustom)) r :: Type Source #

(KnownNat (FromEnum e v), KnownChunkSize size) => BitStringBuilderHoley (Proxy (f := v)) r Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

Associated Types

type ToBitStringBuilder (Proxy (f := v)) r :: Type Source #

type PrettyCustomFieldValue (EnumValue e) e size (v :: e) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type PrettyCustomFieldValue (EnumValue e) e size (v :: e) = (PutNat (FromEnum e v) <+> ("hex" <:> PutHex (FromEnum e v))) <+> ("bin" <:> PutBits (FromEnum e v))
type ToPretty (EnumValue e :: Type) Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type ToPretty (EnumValue e :: Type) = PutStr "<<enum>>"
type ToBitStringBuilder (Proxy (MkField (MkFieldCustom :: BitField (EnumValue e) e size))) r Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type ToBitStringBuilder (Proxy (f := v)) r Source # 
Instance details

Defined in Data.Type.BitRecords.Enum

type ToBitStringBuilder (Proxy (f := v)) r = r

enumValueProxy :: KnownNat (FromEnum e v) => Proxy (v :: e) -> EnumValue e Source #

Create an EnumValue from a Proxy. TODO remove?