NagyMusic Posted February 14, 2021 Share Posted February 14, 2021 I can't seem to get do-timeline2 function to work. I include an abridged example below; happy to share more code details if necessary. I'd like to filter 64 measures of 4/4 as defined in the timeline. Would anyone be able to offer some feedback? I tried adjusting different 'list' levels, etc. but with no avail. Thank you! (setf chords1 '(e2b2g3d4 e2cs3a3e4 e2d3b3fs4)) (setf chords2 (pitch-transpose 3 chords1)) (setf chorale1-chords (span '(1 1 1 1 1 1 1 1) chords1)) (setf chorale2-chords (span '(1 1 1 1 1 1 1 1) chords2)) ;; OMNS (setf chorale1 (make-omn :length (length-span '(1 1 1 1 1 1 1 1) '(w) :omn t) :pitch chorale1-chords)) (setf chorale2 (make-omn :length (length-span '(1 1 1 1 1 1 1 1) '(w) :omn t) :pitch chorale2-chords)) ;; CHORALE RESERVOIRES (setf chorales-reservoir (list chorale1 chorale2)) (setf chorales-map (vector-map chorales-reservoir '(0 4 7 12 16 7 12 16))) ;; TIMELINE (setf chorales-timeline '((1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0))) (do-timeline2 '(chorales-map) chorales-timeline '(gen-pause x)) Quote Link to comment Share on other sites More sharing options...
opmo Posted February 14, 2021 Share Posted February 14, 2021 Check the examples in the doc. (do-timeline2 '(afl cl bcl hn vn vc) '((1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0) (0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1) (1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1) (1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0) (0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1) (0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1)) '(gen-pause x) :time '(q h) :loop t) For one voice I would simply use gen-pause function. Quote Link to comment Share on other sites More sharing options...
NagyMusic Posted February 14, 2021 Author Share Posted February 14, 2021 Thanks. I studied the docs and will continue trying. I used this function before and it was all fine. Something with this very example doesn't seem to be working. Quote Link to comment Share on other sites More sharing options...
opmo Posted February 14, 2021 Share Posted February 14, 2021 list of lists: (setf chorales-reservoir (list chorale1 chorale2)) solution: (setf chorales-reservoir (append chorale1 chorale2)) or: (setf chorales-reservoir (list chorale1 chorale2)) (setf chorales-map (assemble-seq (vector-map chorales-reservoir '(0 4 7 12 16 7 12 16)))) Quote Link to comment Share on other sites More sharing options...
NagyMusic Posted February 15, 2021 Author Share Posted February 15, 2021 Thank you! This is it. I thought it had to do with the organization of lists. 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.