@@ -24,6 +24,8 @@ August 15, 2025
2424> import Parthenopea.SoundFont.Utility
2525
2626Notation-Driven Dynamics ==============================================================================================
27+ When Passage is used, each note in a group is assigned a volume range versus time. Underlying synthesizer
28+ interprets that to vary output volume accordingly.
2729
2830_Marking_ = composer's passage-shape directive, sequence
2931_Overall_ =
@@ -103,9 +105,6 @@ _Overall_ =
103105> marking
104106> mev
105107> Nothing Nothing )
106- >
107- > adoptParams :: MekNote → Either Velocity (VB. Vector Double ) → MekNote
108- > adoptParams mek val = mek{mParams = Just val}
109108> getMarkVelocity :: MekNote → Velocity
110109> getMarkVelocity mek =
111110> case mek. mMarking of
@@ -142,6 +141,7 @@ Construct a vector of MekNotes called "enriched" then fold it into a Music1 ====
142141> (doUpdate enrich . doUpdate seeSeeded . doUpdate wearOveralls) rawMeks
143142>
144143> -- reconstruct notes with added dynamics metadata
144+ > -- WOX n squared ?
145145> finalFold :: Music1 → MekNote → Music1
146146> finalFold music mek =
147147> music :+: case mek. mPrimitive of
@@ -237,7 +237,7 @@ Construct a vector of MekNotes called "enriched" then fold it into a Music1 ====
237237> where
238238> gLen = VB. length nodeGroup
239239>
240- > seedOne mekArg = VB. singleton $ adoptParams mekArg ( Left $ getMarkVelocity mekArg)
240+ > seedOne mekArg = VB. singleton $ mekArg{mParams = ( Just . Left ) ( getMarkVelocity mekArg)}
241241>
242242> seeden si0 si1 = VB. map infuse seedMeks
243243> where
@@ -248,8 +248,8 @@ Construct a vector of MekNotes called "enriched" then fold it into a Music1 ====
248248>
249249> infuse mek =
250250> if enableInflections && si0 == mek. mSelfIndex && si0 /= VB. head nodeGroup
251- > then adoptParams mek $ fourVelos onset delta overPrev over
252- > else adoptParams mek $ twoVelos onset delta over
251+ > then mek{mParams = Just ( fourVelos onset delta overPrev over)}
252+ > else mek{mParams = Just ( twoVelos onset delta over)}
253253> where
254254> ev = deJust fName mek. mEvent
255255> onset = fromRational ev. eTime
@@ -275,7 +275,7 @@ Construct a vector of MekNotes called "enriched" then fold it into a Music1 ====
275275> _ → velo
276276> updateOne =
277277> case mek. mParams of
278- > Nothing → VB. singleton $ adoptParams mek ( Left velo')
278+ > Nothing → VB. singleton $ mek{mParams = ( Just . Left ) velo'}
279279> _ → VB. empty
280280> in
281281> (updates VB. ++ updateOne, velo')
0 commit comments