musicology-core-0.1.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Musicology.Core

Documentation

class (Num (TimeOf a), Ord (TimeOf a)) => Timed a Source #

Associated Types

type TimeOf a Source #

Instances

Instances details
(Num t, Ord t) => Timed (Note p t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (Note p t) Source #

(Num t, Ord t) => Timed (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (OnOff c t) Source #

(Num t, Ord t) => Timed (TimedEvent p t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (TimedEvent p t) Source #

(Num t, Ord t) => Timed (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (NoteId p t i) Source #

class Timed a => HasTime a where Source #

Minimal complete definition

Nothing

Methods

onsetL :: Lens' a (TimeOf a) Source #

offsetL :: Lens' a (TimeOf a) Source #

onset :: a -> TimeOf a Source #

offset :: a -> TimeOf a Source #

setOnset :: TimeOf a -> a -> a Source #

setOffset :: TimeOf a -> a -> a Source #

Instances

Instances details
(Num t, Ord t) => HasTime (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

onsetL :: Lens' (Note p t) (TimeOf (Note p t)) Source #

offsetL :: Lens' (Note p t) (TimeOf (Note p t)) Source #

onset :: Note p t -> TimeOf (Note p t) Source #

offset :: Note p t -> TimeOf (Note p t) Source #

setOnset :: TimeOf (Note p t) -> Note p t -> Note p t Source #

setOffset :: TimeOf (Note p t) -> Note p t -> Note p t Source #

(Num t, Ord t) => HasTime (OnOff p t) Source # 
Instance details

Defined in Musicology.Core

Methods

onsetL :: Lens' (OnOff p t) (TimeOf (OnOff p t)) Source #

offsetL :: Lens' (OnOff p t) (TimeOf (OnOff p t)) Source #

onset :: OnOff p t -> TimeOf (OnOff p t) Source #

offset :: OnOff p t -> TimeOf (OnOff p t) Source #

setOnset :: TimeOf (OnOff p t) -> OnOff p t -> OnOff p t Source #

setOffset :: TimeOf (OnOff p t) -> OnOff p t -> OnOff p t Source #

(Num t, Ord t) => HasTime (TimedEvent p t) Source # 
Instance details

Defined in Musicology.Core

(Num t, Ord t) => HasTime (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

onsetL :: Lens' (NoteId p t i) (TimeOf (NoteId p t i)) Source #

offsetL :: Lens' (NoteId p t i) (TimeOf (NoteId p t i)) Source #

onset :: NoteId p t i -> TimeOf (NoteId p t i) Source #

offset :: NoteId p t i -> TimeOf (NoteId p t i) Source #

setOnset :: TimeOf (NoteId p t i) -> NoteId p t i -> NoteId p t i Source #

setOffset :: TimeOf (NoteId p t i) -> NoteId p t i -> NoteId p t i Source #

class (Interval (IntervalOf a), ReTypeInterval a (IntervalOf a) ~ a) => Pitched a Source #

Associated Types

type IntervalOf a Source #

type ReTypeInterval a p Source #

Instances

Instances details
Interval p => Pitched (Identity p) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (Identity p) Source #

type ReTypeInterval (Identity p) p Source #

Interval i => Pitched (Pitch i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (Pitch i) Source #

type ReTypeInterval (Pitch i) p Source #

Interval p => Pitched (Maybe p) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (Maybe p) Source #

type ReTypeInterval (Maybe p) p Source #

Interval p => Pitched [p] Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf [p] Source #

type ReTypeInterval [p] p Source #

Interval p => Pitched (Note p t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (Note p t) Source #

type ReTypeInterval (Note p t) p Source #

Pitched c => Pitched (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (OnOff c t) Source #

type ReTypeInterval (OnOff c t) p Source #

Pitched c => Pitched (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (TimedEvent c t) Source #

type ReTypeInterval (TimedEvent c t) p Source #

Interval p => Pitched (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (NoteId p t i) Source #

type ReTypeInterval (NoteId p t i) p Source #

class Pitched a => HasInterval a where Source #

Minimal complete definition

Nothing

Methods

intervalL :: IntervalOf (ReTypeInterval a p2) ~ p2 => Lens a (ReTypeInterval a p2) (IntervalOf a) p2 Source #

interval :: a -> IntervalOf a Source #

setInterval :: IntervalOf (ReTypeInterval a p2) ~ p2 => p2 -> a -> ReTypeInterval a p2 Source #

Instances

Instances details
HasInterval c => HasInterval (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

intervalL :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => Lens (OnOff c t) (ReTypeInterval (OnOff c t) p2) (IntervalOf (OnOff c t)) p2 Source #

interval :: OnOff c t -> IntervalOf (OnOff c t) Source #

setInterval :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => p2 -> OnOff c t -> ReTypeInterval (OnOff c t) p2 Source #

class Pitched a => HasPitch a where Source #

Minimal complete definition

Nothing

Methods

pitchL :: IntervalOf (ReTypeInterval a p2) ~ p2 => Lens a (ReTypeInterval a p2) (Pitch (IntervalOf a)) (Pitch p2) Source #

pitch :: a -> Pitch (IntervalOf a) Source #

setPitch :: IntervalOf (ReTypeInterval a p2) ~ p2 => Pitch p2 -> a -> ReTypeInterval a p2 Source #

Instances

Instances details
Interval i => HasPitch (Pitch i) Source # 
Instance details

Defined in Musicology.Core

Interval p => HasPitch (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

pitchL :: IntervalOf (ReTypeInterval (Note p t) p2) ~ p2 => Lens (Note p t) (ReTypeInterval (Note p t) p2) (Pitch (IntervalOf (Note p t))) (Pitch p2) Source #

pitch :: Note p t -> Pitch (IntervalOf (Note p t)) Source #

setPitch :: IntervalOf (ReTypeInterval (Note p t) p2) ~ p2 => Pitch p2 -> Note p t -> ReTypeInterval (Note p t) p2 Source #

HasPitch c => HasPitch (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

pitchL :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => Lens (OnOff c t) (ReTypeInterval (OnOff c t) p2) (Pitch (IntervalOf (OnOff c t))) (Pitch p2) Source #

pitch :: OnOff c t -> Pitch (IntervalOf (OnOff c t)) Source #

setPitch :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => Pitch p2 -> OnOff c t -> ReTypeInterval (OnOff c t) p2 Source #

Interval p => HasPitch (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

pitchL :: IntervalOf (ReTypeInterval (NoteId p t i) p2) ~ p2 => Lens (NoteId p t i) (ReTypeInterval (NoteId p t i) p2) (Pitch (IntervalOf (NoteId p t i))) (Pitch p2) Source #

pitch :: NoteId p t i -> Pitch (IntervalOf (NoteId p t i)) Source #

setPitch :: IntervalOf (ReTypeInterval (NoteId p t i) p2) ~ p2 => Pitch p2 -> NoteId p t i -> ReTypeInterval (NoteId p t i) p2 Source #

class Identifiable i where Source #

Associated Types

type IdOf i Source #

Methods

getId :: i -> IdOf i Source #

Instances

Instances details
Identifiable (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IdOf (NoteId p t i) Source #

Methods

getId :: NoteId p t i -> IdOf (NoteId p t i) Source #

data TimedEvent c t Source #

Constructors

TimedEvent c t t 

Instances

Instances details
Generic (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type Rep (TimedEvent c t) :: Type -> Type #

Methods

from :: TimedEvent c t -> Rep (TimedEvent c t) x #

to :: Rep (TimedEvent c t) x -> TimedEvent c t #

(Read c, Read t) => Read (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

(Show c, Show t) => Show (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Methods

showsPrec :: Int -> TimedEvent c t -> ShowS #

show :: TimedEvent c t -> String #

showList :: [TimedEvent c t] -> ShowS #

(NFData c, NFData t) => NFData (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Methods

rnf :: TimedEvent c t -> () #

(Eq c, Eq t) => Eq (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Methods

(==) :: TimedEvent c t -> TimedEvent c t -> Bool #

(/=) :: TimedEvent c t -> TimedEvent c t -> Bool #

(Ord c, Ord t) => Ord (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Methods

compare :: TimedEvent c t -> TimedEvent c t -> Ordering #

(<) :: TimedEvent c t -> TimedEvent c t -> Bool #

(<=) :: TimedEvent c t -> TimedEvent c t -> Bool #

(>) :: TimedEvent c t -> TimedEvent c t -> Bool #

(>=) :: TimedEvent c t -> TimedEvent c t -> Bool #

max :: TimedEvent c t -> TimedEvent c t -> TimedEvent c t #

min :: TimedEvent c t -> TimedEvent c t -> TimedEvent c t #

(Hashable c, Hashable t) => Hashable (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Methods

hashWithSalt :: Int -> TimedEvent c t -> Int #

hash :: TimedEvent c t -> Int #

(Num t, Ord t) => HasTime (TimedEvent p t) Source # 
Instance details

Defined in Musicology.Core

Pitched c => Pitched (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (TimedEvent c t) Source #

type ReTypeInterval (TimedEvent c t) p Source #

(Num t, Ord t) => Timed (TimedEvent p t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (TimedEvent p t) Source #

type Rep (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

type Rep (TimedEvent c t) = D1 ('MetaData "TimedEvent" "Musicology.Core" "musicology-core-0.1.0.0-Kip9O6Skj7p1Q7zvtMFnp8" 'False) (C1 ('MetaCons "TimedEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t))))
type IntervalOf (TimedEvent c t) Source # 
Instance details

Defined in Musicology.Core

type TimeOf (TimedEvent p t) Source # 
Instance details

Defined in Musicology.Core

type TimeOf (TimedEvent p t) = t
type ReTypeInterval (TimedEvent c t) p2 Source # 
Instance details

Defined in Musicology.Core

data Note p t Source #

Constructors

Note !(Pitch p) !t !t 

Instances

Instances details
(FromJSON p, FromJSON t) => FromJSON (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

parseJSON :: Value -> Parser (Note p t) #

parseJSONList :: Value -> Parser [Note p t] #

(ToJSON p, ToJSON t) => ToJSON (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

toJSON :: Note p t -> Value #

toEncoding :: Note p t -> Encoding #

toJSONList :: [Note p t] -> Value #

toEncodingList :: [Note p t] -> Encoding #

Generic (Note p t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type Rep (Note p t) :: Type -> Type #

Methods

from :: Note p t -> Rep (Note p t) x #

to :: Rep (Note p t) x -> Note p t #

(Read (Pitch p), Read t) => Read (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

readsPrec :: Int -> ReadS (Note p t) #

readList :: ReadS [Note p t] #

readPrec :: ReadPrec (Note p t) #

readListPrec :: ReadPrec [Note p t] #

(Show (Pitch p), Show t) => Show (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

showsPrec :: Int -> Note p t -> ShowS #

show :: Note p t -> String #

showList :: [Note p t] -> ShowS #

(NFData p, NFData t) => NFData (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

rnf :: Note p t -> () #

(Eq p, Eq t) => Eq (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

(==) :: Note p t -> Note p t -> Bool #

(/=) :: Note p t -> Note p t -> Bool #

(Ord p, Ord t) => Ord (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

compare :: Note p t -> Note p t -> Ordering #

(<) :: Note p t -> Note p t -> Bool #

(<=) :: Note p t -> Note p t -> Bool #

(>) :: Note p t -> Note p t -> Bool #

(>=) :: Note p t -> Note p t -> Bool #

max :: Note p t -> Note p t -> Note p t #

min :: Note p t -> Note p t -> Note p t #

(Hashable p, Hashable t) => Hashable (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

hashWithSalt :: Int -> Note p t -> Int #

hash :: Note p t -> Int #

Interval p => HasPitch (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

pitchL :: IntervalOf (ReTypeInterval (Note p t) p2) ~ p2 => Lens (Note p t) (ReTypeInterval (Note p t) p2) (Pitch (IntervalOf (Note p t))) (Pitch p2) Source #

pitch :: Note p t -> Pitch (IntervalOf (Note p t)) Source #

setPitch :: IntervalOf (ReTypeInterval (Note p t) p2) ~ p2 => Pitch p2 -> Note p t -> ReTypeInterval (Note p t) p2 Source #

(Num t, Ord t) => HasTime (Note p t) Source # 
Instance details

Defined in Musicology.Core

Methods

onsetL :: Lens' (Note p t) (TimeOf (Note p t)) Source #

offsetL :: Lens' (Note p t) (TimeOf (Note p t)) Source #

onset :: Note p t -> TimeOf (Note p t) Source #

offset :: Note p t -> TimeOf (Note p t) Source #

setOnset :: TimeOf (Note p t) -> Note p t -> Note p t Source #

setOffset :: TimeOf (Note p t) -> Note p t -> Note p t Source #

Interval p => Pitched (Note p t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (Note p t) Source #

type ReTypeInterval (Note p t) p Source #

(Num t, Ord t) => Timed (Note p t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (Note p t) Source #

type Rep (Note p t) Source # 
Instance details

Defined in Musicology.Core

type Rep (Note p t) = D1 ('MetaData "Note" "Musicology.Core" "musicology-core-0.1.0.0-Kip9O6Skj7p1Q7zvtMFnp8" 'False) (C1 ('MetaCons "Note" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Pitch p)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 t))))
type IntervalOf (Note p t) Source # 
Instance details

Defined in Musicology.Core

type IntervalOf (Note p t) = p
type TimeOf (Note p t) Source # 
Instance details

Defined in Musicology.Core

type TimeOf (Note p t) = t
type ReTypeInterval (Note p t) p2 Source # 
Instance details

Defined in Musicology.Core

type ReTypeInterval (Note p t) p2 = Note p2 t

data NoteId p t i Source #

Constructors

NoteId !(Pitch p) !t !t !i 

Instances

Instances details
(FromJSON p, FromJSON t, FromJSON i) => FromJSON (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

parseJSON :: Value -> Parser (NoteId p t i) #

parseJSONList :: Value -> Parser [NoteId p t i] #

(ToJSON p, ToJSON t, ToJSON i) => ToJSON (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

toJSON :: NoteId p t i -> Value #

toEncoding :: NoteId p t i -> Encoding #

toJSONList :: [NoteId p t i] -> Value #

toEncodingList :: [NoteId p t i] -> Encoding #

Generic (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type Rep (NoteId p t i) :: Type -> Type #

Methods

from :: NoteId p t i -> Rep (NoteId p t i) x #

to :: Rep (NoteId p t i) x -> NoteId p t i #

(Read (Pitch p), Read t, Read i) => Read (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

readsPrec :: Int -> ReadS (NoteId p t i) #

readList :: ReadS [NoteId p t i] #

readPrec :: ReadPrec (NoteId p t i) #

readListPrec :: ReadPrec [NoteId p t i] #

(Show (Pitch p), Show t, Show i) => Show (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

showsPrec :: Int -> NoteId p t i -> ShowS #

show :: NoteId p t i -> String #

showList :: [NoteId p t i] -> ShowS #

(NFData p, NFData t, NFData i) => NFData (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

rnf :: NoteId p t i -> () #

(Eq p, Eq t, Eq i) => Eq (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

(==) :: NoteId p t i -> NoteId p t i -> Bool #

(/=) :: NoteId p t i -> NoteId p t i -> Bool #

(Ord p, Ord t, Ord i) => Ord (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

compare :: NoteId p t i -> NoteId p t i -> Ordering #

(<) :: NoteId p t i -> NoteId p t i -> Bool #

(<=) :: NoteId p t i -> NoteId p t i -> Bool #

(>) :: NoteId p t i -> NoteId p t i -> Bool #

(>=) :: NoteId p t i -> NoteId p t i -> Bool #

max :: NoteId p t i -> NoteId p t i -> NoteId p t i #

min :: NoteId p t i -> NoteId p t i -> NoteId p t i #

(Hashable p, Hashable t, Hashable i) => Hashable (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

hashWithSalt :: Int -> NoteId p t i -> Int #

hash :: NoteId p t i -> Int #

Interval p => HasPitch (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

pitchL :: IntervalOf (ReTypeInterval (NoteId p t i) p2) ~ p2 => Lens (NoteId p t i) (ReTypeInterval (NoteId p t i) p2) (Pitch (IntervalOf (NoteId p t i))) (Pitch p2) Source #

pitch :: NoteId p t i -> Pitch (IntervalOf (NoteId p t i)) Source #

setPitch :: IntervalOf (ReTypeInterval (NoteId p t i) p2) ~ p2 => Pitch p2 -> NoteId p t i -> ReTypeInterval (NoteId p t i) p2 Source #

(Num t, Ord t) => HasTime (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Methods

onsetL :: Lens' (NoteId p t i) (TimeOf (NoteId p t i)) Source #

offsetL :: Lens' (NoteId p t i) (TimeOf (NoteId p t i)) Source #

onset :: NoteId p t i -> TimeOf (NoteId p t i) Source #

offset :: NoteId p t i -> TimeOf (NoteId p t i) Source #

setOnset :: TimeOf (NoteId p t i) -> NoteId p t i -> NoteId p t i Source #

setOffset :: TimeOf (NoteId p t i) -> NoteId p t i -> NoteId p t i Source #

Identifiable (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IdOf (NoteId p t i) Source #

Methods

getId :: NoteId p t i -> IdOf (NoteId p t i) Source #

Interval p => Pitched (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (NoteId p t i) Source #

type ReTypeInterval (NoteId p t i) p Source #

(Num t, Ord t) => Timed (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (NoteId p t i) Source #

type Rep (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

type IdOf (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

type IdOf (NoteId p t i) = i
type IntervalOf (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

type IntervalOf (NoteId p t i) = p
type TimeOf (NoteId p t i) Source # 
Instance details

Defined in Musicology.Core

type TimeOf (NoteId p t i) = t
type ReTypeInterval (NoteId p t i) p2 Source # 
Instance details

Defined in Musicology.Core

type ReTypeInterval (NoteId p t i) p2 = NoteId p2 t i

data OnOff c t Source #

Constructors

Onset c !t 
Offset c !t 

Instances

Instances details
Generic (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type Rep (OnOff c t) :: Type -> Type #

Methods

from :: OnOff c t -> Rep (OnOff c t) x #

to :: Rep (OnOff c t) x -> OnOff c t #

(Read c, Read t) => Read (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

(Show c, Show t) => Show (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

showsPrec :: Int -> OnOff c t -> ShowS #

show :: OnOff c t -> String #

showList :: [OnOff c t] -> ShowS #

(NFData c, NFData t) => NFData (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

rnf :: OnOff c t -> () #

(Eq c, Eq t) => Eq (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

(==) :: OnOff c t -> OnOff c t -> Bool #

(/=) :: OnOff c t -> OnOff c t -> Bool #

(Ord c, Ord t) => Ord (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

compare :: OnOff c t -> OnOff c t -> Ordering #

(<) :: OnOff c t -> OnOff c t -> Bool #

(<=) :: OnOff c t -> OnOff c t -> Bool #

(>) :: OnOff c t -> OnOff c t -> Bool #

(>=) :: OnOff c t -> OnOff c t -> Bool #

max :: OnOff c t -> OnOff c t -> OnOff c t #

min :: OnOff c t -> OnOff c t -> OnOff c t #

(Hashable c, Hashable t) => Hashable (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

hashWithSalt :: Int -> OnOff c t -> Int #

hash :: OnOff c t -> Int #

HasInterval c => HasInterval (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

intervalL :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => Lens (OnOff c t) (ReTypeInterval (OnOff c t) p2) (IntervalOf (OnOff c t)) p2 Source #

interval :: OnOff c t -> IntervalOf (OnOff c t) Source #

setInterval :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => p2 -> OnOff c t -> ReTypeInterval (OnOff c t) p2 Source #

HasPitch c => HasPitch (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Methods

pitchL :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => Lens (OnOff c t) (ReTypeInterval (OnOff c t) p2) (Pitch (IntervalOf (OnOff c t))) (Pitch p2) Source #

pitch :: OnOff c t -> Pitch (IntervalOf (OnOff c t)) Source #

setPitch :: IntervalOf (ReTypeInterval (OnOff c t) p2) ~ p2 => Pitch p2 -> OnOff c t -> ReTypeInterval (OnOff c t) p2 Source #

(Num t, Ord t) => HasTime (OnOff p t) Source # 
Instance details

Defined in Musicology.Core

Methods

onsetL :: Lens' (OnOff p t) (TimeOf (OnOff p t)) Source #

offsetL :: Lens' (OnOff p t) (TimeOf (OnOff p t)) Source #

onset :: OnOff p t -> TimeOf (OnOff p t) Source #

offset :: OnOff p t -> TimeOf (OnOff p t) Source #

setOnset :: TimeOf (OnOff p t) -> OnOff p t -> OnOff p t Source #

setOffset :: TimeOf (OnOff p t) -> OnOff p t -> OnOff p t Source #

Pitched c => Pitched (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type IntervalOf (OnOff c t) Source #

type ReTypeInterval (OnOff c t) p Source #

(Num t, Ord t) => Timed (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

Associated Types

type TimeOf (OnOff c t) Source #

type Rep (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

type IntervalOf (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

type IntervalOf (OnOff c t) = IntervalOf c
type TimeOf (OnOff c t) Source # 
Instance details

Defined in Musicology.Core

type TimeOf (OnOff c t) = t
type ReTypeInterval (OnOff c t) p2 Source # 
Instance details

Defined in Musicology.Core

type ReTypeInterval (OnOff c t) p2 = OnOff (ReTypeInterval c p2) t

onOffContent :: Lens (OnOff c t) (OnOff c2 t) c c2 Source #

isOn :: OnOff c t -> Bool Source #

isOff :: OnOff c t -> Bool Source #

data Tied Source #

Constructors

Single 
Starts 
Continues 
Stops 

Instances

Instances details
Generic Tied Source # 
Instance details

Defined in Musicology.Core

Associated Types

type Rep Tied :: Type -> Type #

Methods

from :: Tied -> Rep Tied x #

to :: Rep Tied x -> Tied #

Show Tied Source # 
Instance details

Defined in Musicology.Core

Methods

showsPrec :: Int -> Tied -> ShowS #

show :: Tied -> String #

showList :: [Tied] -> ShowS #

NFData Tied Source # 
Instance details

Defined in Musicology.Core

Methods

rnf :: Tied -> () #

Eq Tied Source # 
Instance details

Defined in Musicology.Core

Methods

(==) :: Tied -> Tied -> Bool #

(/=) :: Tied -> Tied -> Bool #

Ord Tied Source # 
Instance details

Defined in Musicology.Core

Methods

compare :: Tied -> Tied -> Ordering #

(<) :: Tied -> Tied -> Bool #

(<=) :: Tied -> Tied -> Bool #

(>) :: Tied -> Tied -> Bool #

(>=) :: Tied -> Tied -> Bool #

max :: Tied -> Tied -> Tied #

min :: Tied -> Tied -> Tied #

Hashable Tied Source # 
Instance details

Defined in Musicology.Core

Methods

hashWithSalt :: Int -> Tied -> Int #

hash :: Tied -> Int #

type Rep Tied Source # 
Instance details

Defined in Musicology.Core

type Rep Tied = D1 ('MetaData "Tied" "Musicology.Core" "musicology-core-0.1.0.0-Kip9O6Skj7p1Q7zvtMFnp8" 'False) ((C1 ('MetaCons "Single" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Starts" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Continues" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Stops" 'PrefixI 'False) (U1 :: Type -> Type)))

data LeftTied Source #

Constructors

New 
Held 

Instances

Instances details
Generic LeftTied Source # 
Instance details

Defined in Musicology.Core

Associated Types

type Rep LeftTied :: Type -> Type #

Methods

from :: LeftTied -> Rep LeftTied x #

to :: Rep LeftTied x -> LeftTied #

Show LeftTied Source # 
Instance details

Defined in Musicology.Core

NFData LeftTied Source # 
Instance details

Defined in Musicology.Core

Methods

rnf :: LeftTied -> () #

Eq LeftTied Source # 
Instance details

Defined in Musicology.Core

Ord LeftTied Source # 
Instance details

Defined in Musicology.Core

Hashable LeftTied Source # 
Instance details

Defined in Musicology.Core

Methods

hashWithSalt :: Int -> LeftTied -> Int #

hash :: LeftTied -> Int #

type Rep LeftTied Source # 
Instance details

Defined in Musicology.Core

type Rep LeftTied = D1 ('MetaData "LeftTied" "Musicology.Core" "musicology-core-0.1.0.0-Kip9O6Skj7p1Q7zvtMFnp8" 'False) (C1 ('MetaCons "New" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Held" 'PrefixI 'False) (U1 :: Type -> Type))

data RightTied Source #

Constructors

Holds 
Ends 

Instances

Instances details
Generic RightTied Source # 
Instance details

Defined in Musicology.Core

Associated Types

type Rep RightTied :: Type -> Type #

Show RightTied Source # 
Instance details

Defined in Musicology.Core

NFData RightTied Source # 
Instance details

Defined in Musicology.Core

Methods

rnf :: RightTied -> () #

Eq RightTied Source # 
Instance details

Defined in Musicology.Core

Ord RightTied Source # 
Instance details

Defined in Musicology.Core

Hashable RightTied Source # 
Instance details

Defined in Musicology.Core

type Rep RightTied Source # 
Instance details

Defined in Musicology.Core

type Rep RightTied = D1 ('MetaData "RightTied" "Musicology.Core" "musicology-core-0.1.0.0-Kip9O6Skj7p1Q7zvtMFnp8" 'False) (C1 ('MetaCons "Holds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ends" 'PrefixI 'False) (U1 :: Type -> Type))