Jump to content

opmo

Administrators
  • Posts

    2,903
  • Joined

  • Last visited

Everything posted by opmo

  1. (q c4 num0 cs4 num1 d4 num2) or create you own articulations, do check the docs.
  2. In the next update you will be able to change the *audition-time-signature*: (defparameter *audition-time-signature* '(4 4)) (defparameter *audition-time-signature* '(3 4)) ... The default setup is: (defparameter *audition-time-signature* nil)
  3. The function is already there: time-point-system (setf row '(bb4 a4 gs4 as4 cs5 e5 d4 f4 g4 eb4 fs4 c5)) (time-point-system row 's :start 0) => ((h bb4 tie e. s a4 tie) (h a4 tie e e gs4) (e. bb4 cs5 q. e5 tie) (q e5 e. d4 e f4 e. g4 tie) (q g4 tie s e. eb4 q fs4 tie) (e fs4 h c5 tie e))
  4. Great solo! Excellent analysis and use of PSC and TPS.
  5. The new name is length-to-tempo - for some time
  6. Predefined functions can't be changed otherwise you would break the system. The binary-invert is sub function of binary-variant. (binary-variant '(0 1 1 0 1 0 1 1) 'i) => (1 0 0 1 0 1 0 0)
  7. (defun binary-filter (alist bin-list &key (omn t)) (let ((event-list (cond ((omn-formp alist) (single-events alist)) (t alist)))) (flatten (loop for i in event-list for j in bin-list when (= j 1) collect i else append (maybe-omn-decode omn (cond ((omn-formp i) (list (length-invert (car i)))) ((lengthp i) (neg! (omn :length (list i)))))))))) (binary-filter '(q c4 mf d4 e4 e f4 ppp g4 a4 b4) '(1 0 1 1 0 1 1)) => (q c4 mf -q q e4 mf e f4 ppp -e e a4 ppp e b4 ppp) Only one type of parameters can be decoded at a time.
  8. Please go to the Opusmodus Extension folder and remove the function 'double' form the 'Source Code.opmo'. This should fix the problem. If you get massage like: > Error: The function double is predefined by Opusmodus. it means you are using a function name (your own) which is already part of the Opusmodus System.
  9. With the next release. I wonder if the result should remove the repeats of single notes: (filter-repeat 1 '(a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4) :seq 2) => (a4 gs4 a4 fs4 gs4 g5 bb5 g5 gs4 a4 gs4)
  10. Filter with sequence option: (filter-repeat 1 '(a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4) :seq 2) => (a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4) (filter-repeat 1 '(a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4)) => (a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 gs4 a4 gs4) Is this what you are looking for ?
  11. Few more function which could be useful for you (part of the system): (contain-itemp 'inv '(c 7b9s11 inv 1 chord)) => t (contain-itemp '= '(e f d s)) => nil (contain-itemsp '(9 8) '(0 1 11 8 10 9)) => t (contain-sequencep '(11 8) '(0 1 11 8 10 9)) => t JP
  12. Is this what you are looking for: (defun nand (&rest rest) (flet ((every-truep (x) (equal x t))) (not (every #'every-truep rest)))) (nand t t) => nil (nand t t t t nil t) => t (nand nil t t t nil t) => t
  13. Could you explain more what you mean with seq-curve, low and high. Example could help or simply add the functionality to the function.
  14. Good one. I will add it to the system soon. Thank you Andre
  15. example please with input and output and the difference. :-)
  16. Yes, we should have function like that.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy