torstenanders Posted April 15, 2017 Share Posted April 15, 2017 Dear Janusz, Opusmodus is already flexible enough to notate incomplete OMN forms like the following, even though the pitch is missing. '(h mp pizz) Because this expression is no complete OMN, omn-formp returns nil. (omn-formp '(h mp pizz)) => nil However, it would be useful to still be able to disassemble this expression. Currently disassemble-omn returns an error, because the pitch is missing. However, if such expression can even be notated, then why not allowing to also disassemble it as follows. (disassemble-omn '(h c4 mp pizz)) ; desired output -- currently error is caused => (:length (1/2) :velocity (mp) :articulation (pizz)) ; alternative -- likely default pitch needed for consistency => (:length (1/2) :pitch (c4) :velocity (mp) :articulation (pizz)) I am asking for this, because that would allow to implement functions that can build up OMN forms incrementally (as an alternative to make-omn), increasing flexibility. Here is an example of a not yet existing function demonstrating what I am talking about. It would complement the function edit-omn I was proposing earlier today. (add-omn :pitch '(g4 a4) '((q f pizz) (h arco))) => ((q g4 f pizz) (h a4 arco))) What do you think? Thanks! Best, Torsten Stephane Boussuge 1 Quote Link to comment Share on other sites More sharing options...
torstenanders Posted April 15, 2017 Author Share Posted April 15, 2017 BTW, add-omn could also be used to replace some parameter in an existing OMN form, which would be very welcome – it opens up convenient ways to vary music snippets. Torsten Quote Link to comment Share on other sites More sharing options...
lviklund Posted April 16, 2017 Share Posted April 16, 2017 I have used omn-replaced like this: (omn-replace :pitch '((g4) (a4)) '((q f pizz) (h arco))) => ((q g4 f pizz) (h a4 arco)) torstenanders and Stephane Boussuge 2 Quote Link to comment Share on other sites More sharing options...
torstenanders Posted April 22, 2017 Author Share Posted April 22, 2017 Great, thanks! I somehow missed omn-replaced. Torsten Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.