AM Posted October 3, 2018 Share Posted October 3, 2018 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) loopyc and JulioHerrlein 2 Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted October 4, 2018 Share Posted October 4, 2018 You can also use the Opusmodus function length-map for doing that. SB. JulioHerrlein 1 Quote Link to comment Share on other sites More sharing options...
AM Posted October 4, 2018 Author Share Posted October 4, 2018 ....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) lviklund and JulioHerrlein 1 1 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.