Jump to content

replace-articulation-of-a-length


Recommended Posts

if you like to change the articulation of specific lengths

 

(defun replace-articulation-of-a-length (omnseq length/articulation-map)
  (loop for i in (single-events (flatten omnseq))
    when (length-restp (car i)) collect i
    else append (omn-replace :articulation (cadr (assoc (car (omn :length i)) length/articulation-map))
                              i)))
                   
(setf omn-seq '(s c4 ffff ord e ord e ord s ord e. ord s ord q ord q q q q))  
                 
(replace-articulation-of-a-length omn-seq '((1/16 mute) (2/16 pizz) (3/16 arco)))

=> (s c4 ffff mute e c4 ffff pizz e c4 ffff pizz s c4 ffff mute e. c4 ffff arco s c4 ffff mute q c4 ffff ord q c4 ffff q c4 ffff q c4 ffff q c4 ffff)

 

Link to comment
Share on other sites

....you are totally right!!!! i did not know this function, i did not find it when i was searching  😕

so, perhaps somebody could need/read my function "as a LISP-example"...

 

in OPMO:

(setf omn-seq '(s c4 ffff ord e ord e ord s ord e. ord s ord q ord q q q q)) 

(length-map '((1/16 mute) (2/16 pizz) (3/16 arco)) omn-seq)
=> (s c4 ffff mute e pizz c4 pizz s mute e. arco s mute q ord c4 c4 c4 c4)

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy