{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.MusicStingerAttribute
  ( MusicStingerAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Word32le
import Rattletrap.Type.Word8le

data MusicStingerAttribute = MusicStingerAttribute
  { MusicStingerAttribute -> Bool
musicStingerAttributeFlag :: Bool
  , MusicStingerAttribute -> Word32le
musicStingerAttributeCue :: Word32le
  , MusicStingerAttribute -> Word8le
musicStingerAttributeTrigger :: Word8le
  } deriving (MusicStingerAttribute -> MusicStingerAttribute -> Bool
(MusicStingerAttribute -> MusicStingerAttribute -> Bool)
-> (MusicStingerAttribute -> MusicStingerAttribute -> Bool)
-> Eq MusicStingerAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
$c/= :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
== :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
$c== :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
Eq, Eq MusicStingerAttribute
Eq MusicStingerAttribute
-> (MusicStingerAttribute -> MusicStingerAttribute -> Ordering)
-> (MusicStingerAttribute -> MusicStingerAttribute -> Bool)
-> (MusicStingerAttribute -> MusicStingerAttribute -> Bool)
-> (MusicStingerAttribute -> MusicStingerAttribute -> Bool)
-> (MusicStingerAttribute -> MusicStingerAttribute -> Bool)
-> (MusicStingerAttribute
    -> MusicStingerAttribute -> MusicStingerAttribute)
-> (MusicStingerAttribute
    -> MusicStingerAttribute -> MusicStingerAttribute)
-> Ord MusicStingerAttribute
MusicStingerAttribute -> MusicStingerAttribute -> Bool
MusicStingerAttribute -> MusicStingerAttribute -> Ordering
MusicStingerAttribute
-> MusicStingerAttribute -> MusicStingerAttribute
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: MusicStingerAttribute
-> MusicStingerAttribute -> MusicStingerAttribute
$cmin :: MusicStingerAttribute
-> MusicStingerAttribute -> MusicStingerAttribute
max :: MusicStingerAttribute
-> MusicStingerAttribute -> MusicStingerAttribute
$cmax :: MusicStingerAttribute
-> MusicStingerAttribute -> MusicStingerAttribute
>= :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
$c>= :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
> :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
$c> :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
<= :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
$c<= :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
< :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
$c< :: MusicStingerAttribute -> MusicStingerAttribute -> Bool
compare :: MusicStingerAttribute -> MusicStingerAttribute -> Ordering
$ccompare :: MusicStingerAttribute -> MusicStingerAttribute -> Ordering
$cp1Ord :: Eq MusicStingerAttribute
Ord, Int -> MusicStingerAttribute -> ShowS
[MusicStingerAttribute] -> ShowS
MusicStingerAttribute -> String
(Int -> MusicStingerAttribute -> ShowS)
-> (MusicStingerAttribute -> String)
-> ([MusicStingerAttribute] -> ShowS)
-> Show MusicStingerAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MusicStingerAttribute] -> ShowS
$cshowList :: [MusicStingerAttribute] -> ShowS
show :: MusicStingerAttribute -> String
$cshow :: MusicStingerAttribute -> String
showsPrec :: Int -> MusicStingerAttribute -> ShowS
$cshowsPrec :: Int -> MusicStingerAttribute -> ShowS
Show)

$(deriveJson ''MusicStingerAttribute)