moduleHaskore.Performance.Context(T,setPlayer,setDur,setTranspose,setDynamics,getPlayer,getDur,getTranspose,getDynamics,Pf.updatePlayer,Pf.updateDur,Pf.updateTranspose,Pf.updateDynamics,contextPlayer,contextDur,contextTranspose,contextDynamics,)whereimportqualifiedHaskore.Basic.PitchasPitch-- import qualified Haskore.Music as MusicimportqualifiedHaskore.PerformanceasPfimportqualifiedHaskore.Performance.PlayerasPlayerimportHaskore.Performance(Context(..))-- import qualified Numeric.NonNegative.Class as NonNeg{- If the Haskell compilers would support mutual depending modules
the Context data type would be declared here instead of in Performance. -}typeTtimedynnote=Pf.ContexttimedynnotetypeSetContexttimedynnotea=a->Ttimedynnote->TtimedynnotesetPlayer::SetContexttimedynnote(Player.Ttimedynnote)setPlayer=Pf.updatePlayer.constsetDur::SetContexttimedynnotetimesetDur=Pf.updateDur.constsetTranspose::SetContexttimedynnotePitch.RelativesetTranspose=Pf.updateTranspose.constsetDynamics::SetContexttimedynnotedynsetDynamics=Pf.updateDynamics.consttypeGetContexttimedynnotea=Ttimedynnote->agetPlayer::GetContexttimedynnote(Player.Ttimedynnote)getPlayer=Pf.contextPlayergetDur::GetContexttimedynnotetimegetDur=Pf.contextDurgetTranspose::GetContexttimedynnotePitch.RelativegetTranspose=Pf.contextTransposegetDynamics::GetContexttimedynnotedyngetDynamics=Pf.contextDynamics