Jump to content

opmo

Administrators
  • Posts

    2,903
  • Joined

  • Last visited

Everything posted by opmo

  1. The demo version can't be reset on the demo server.
  2. No crash here (OM 2.2, Big Sur).
  3. Done. (dictum '(:remove e4) '(e c4 d4 e4 fs4 -q)) => (e c4 mf d4 - fs4 -q) (dictum '(:remove -q) '(e c4 d4 e4 fs4 -q)) => (e c4 mf d4 e4 fs4) (dictum '(:apply (length-rest-remove x)) '(e c4 d4 e4 fs4 -q)) => (e c4 d4 e4 fs4)
  4. To get: (dictum '(:apply (length-rest-remove x)) '(w c5 ped -e)) => '(w c5 ped) I would need to make some changes how the dictum deals with rests. I will see what I can do.
  5. dictum is not about changing the length of the bar (time-signature). You can substitute a list in dictum do.
  6. This will be fixed in v. 3.0 For now you must use Mac Speakers.
  7. QUANTIZE returns compound lengths. Example: (setf dur (3w 3q 3wq.)) (quantize dur '(1 2 3 4)) => (q_3q 3q 3q_q.)
  8. Export Last Score to XML... is correct method. Looks like there is a bug when arp-down is used. The arp alone works fine. arp-down etc... is customised attribute and is not a part of the musicxml standard.
  9. Your test.xml file is not the same: sop-rec.xml How to save musicxml file: 1. click on the musicxml panel (file) 2. In File menu select "Safe As..."
  10. I don't see any missing notes here: OM Notion
  11. This will fix if length-rest list: (defun split-point (split-points omn-seq) (do-verbose ("split-point") (let* ( (spltconvert (if (numberp (car split-points)) split-points (pitch-to-integer split-points))) (spltp (gen-trim (length omn-seq) spltconvert)) (p1 (loop for sp in spltp for l in omn-seq collect (if (length-restsp l) l (ambitus-filter `(,sp 128) l)) )) (p2 (loop for sp in spltp for l in omn-seq collect (if (length-restsp l) l (ambitus-filter `(-128 ,(- sp 1)) l)) )) ) (list p1 p2))))
  12. You can, just open 2 or more workspace and placed them next to each other and hide the panels you do need.
  13. We have started porting Opusmodus to LispWorks. The Apple Silicon processor support is on its way Windows PC version will follow.
  14. Possible solution: (setf rhy '((e a4 mf -e - gs4 f -e - g4 p -e -) (-e a4 p -e - gs4 -e - e4 -))) (ps 'gm :treble (list rhy) :rewrite-lengths nil :merge-rests nil :time-signature '((3 3 3) 8))
  15. Here it is with seed: fill-space.opmo
  16. More control: (twelve-tone-matrix '(3 11 10 2 1 0 6 4 7 5 9 8)) Original Prime Order: (3 11 10 2 1 0 6 4 7 5 9 8) Pitch: (eb4 b4 bb4 d4 cs4 c4 fs4 e4 g4 f4 a4 gs4) I 0 8 7 11 10 9 3 1 4 2 6 5 0 3 11 10 2 1 0 6 4 7 5 9 8 4 7 3 2 6 5 4 10 8 11 9 1 0 5 8 4 3 7 6 5 11 9 0 10 2 1 1 4 0 11 3 2 1 7 5 8 6 10 9 2 5 1 0 4 3 2 8 6 9 7 11 10 P 3 6 2 1 5 4 3 9 7 10 8 0 11 R 9 0 8 7 11 10 9 3 1 4 2 6 5 11 2 10 9 1 0 11 5 3 6 4 8 7 8 11 7 6 10 9 8 2 0 3 1 5 4 10 1 9 8 0 11 10 4 2 5 3 7 6 6 9 5 4 8 7 6 0 10 1 11 3 2 7 10 6 5 9 8 7 1 11 2 0 4 3 RI (setf array (build-array (row-matrix '(3 11 10 2 1 0 6 4 7 5 9 8)))) (get-array 11 7 6 array :direction 'right) => (11 2 0 4 3 10) (get-array 11 7 6 array :direction 'up) => (11 10 2 0 3 1)
  17. Convert the pitch list to intervals, remove the unwanted intervals, then back to pitches. (setf pitches '(g0 fs1 e2 bb4 eb3 e3 fs3 a4 b3 d4 e4 fs4 g4 a5)) (setf intervals (pitch-to-interval pitches)) => (11 10 30 -19 1 2 15 -10 3 2 2 1 14) (setf new (filter-remove '(2 19 30) intervals)) (interval-to-pitch new :start 'g4) => (g4 fs5 e6 a4 bb4 cs6 eb5 fs5 g5 a6) or (interval-ambitus 11 '(g0 fs1 e2 bb4 eb3 e3 fs3 a4 b3 d4 e4 fs4 g4 a5))
  18. You will not use a DICTUM function for it.
  19. (position-filter por (single-events test-flatten)) => ((-e) (-e) (-e) (-e) (-e) (-h.) (-q) (-e))
  20. The DICTUM function is design to be the last function you are using in your composition - manual and rule base edit. Therefore there is no need for variables here. The dictum itself can be a list of variables: (setf 3-dm1 '( (:range (7q e.) :apply (dechord x)) (:range (7q s) :apply marc) (:range (h. 1) :apply (pfp2-a pfp)) (:range (ws 2) :apply (pfp3-a pfp)) (:any q :apply ponte) (:any e :apply ric) (:apply marc :bar (1 157)) ;(:apply spicc :bar (4)) (:apply mart :bar (178 179 180 181)) (:butlast leg :bar (158)) (:apply tasto :bar (53 59 61 156 166 167)) (:sub (-q) :bar (10 13 21 33 34 35 36)) ) 3-dm2 '((:range (7q e.) :apply (dechord x)) (:range (7q s) :apply marc) (:range (h. 1) :apply (pfp2-a pfp)) (:range (ws 2) :apply (pfp3-a pfp)) (:any q :apply ponte) (:any e :apply ric) (:apply marc :bar (1)) ;(:apply spicc :bar (4)) (:apply mart :bar (177)) (:apply leg :bar (157)) (:butlast leg :bar (158 170 182)) (:apply tasto :bar (21 59 60 156 166 167)) (:sub (-q) :bar (19 39 42 74)) ) 3-dm3 '( (:range (7q e.) :apply (dechord x)) (:range (7q s) :apply marc) (:range (h. 1) :apply (pfp2-a pfp)) (:range (ws 2) :apply (pfp3-a pfp)) (:any q :apply ponte) (:any e :apply ric) (:apply marc :bar (1 3 5 6 7)) (:apply ric :bar (4)) (:apply spicc :bar (168)) (:apply leg :bar (157)) (:butlast leg :bar (158 182)) (:apply tasto :bar (21 53 59 60 155 156 166 167)) (:sub (-q) :bar (39 42 47 50 51 61 68 71)) ) 3-dm4 '( (:range (7q e.) :apply (dechord x)) (:range (7q s) :apply marc) (:range (h. 1) :apply (pfp2-a pfp)) (:range (ws 2) :apply (pfp3-a pfp)) (:any q :apply ponte) (:any e :apply ric) (:apply marc :bar (1)) ;(:apply ric :bar (4)) (:apply leg :bar (157)) (:butlast leg :bar (158 170 182)) (:apply tasto :bar (53 59 61 155 156 166 167)) (:sub (-q) :bar (11 12 16 18)) ) ) (setf 3-v1 (dictum 3-dm1 3-v1) 3-v2 (dictum 3-dm2 3-v2) 3-v3 (dictum 3-dm3 3-v3) 3-v4 (dictum 3-dm4 3-v4) )
  21. New function: DICTUM Please note that the functions APPLY-TO-DICTUM and OMN-DICTUM are merged to a new function DICTUM. If you used any of the two function before in your score please rename the function and make the changes to the dictum form and type. Here are the new types: :range a list (<low> <high>). Length, pitch or velocity values. :and a list of event elements (l p v a). :any an event element or list of event elements. :apply an event element, list of event elements or function. :remove an event element, list of elements, :velocity, :event or :attribute. :first an event element or list of event elements (first event in a sequence). :last an event element or list of event elements (last event in a sequence). :butlast an event element or list of event elements (butlast events in a sequence). :rest an event element or list of event elements (rest events in a sequence). :sub a sequence of events (a bar substitution). :bar an integer or list of integers (bar number). :event an integer or list of integers (event number). Dictum Examples: Replaces an element with a new-element in all bars: (:any f :apply p) (:any q :apply e) (:any stacc :apply leg) (:any q :apply stacc) (:any e :apply (s stacc)) Replaces an element with a new-element in a given bar: (:any f :apply p :bar 1) (:any q :apply e :bar 1) (:any stacc :apply leg :bar 1) (:any q :apply stacc :bar 1) (:any e :apply (s stacc) :bar 1) (:any e :apply (s stacc) :bar (1 3 5)) (:any e (s stacc) :bar 2..6) Replaces an element with a new-element in a given bar and a given event number: (:any f :apply p :bar 1 :event 1) (:any q :apply e :bar 1 :event 1) (:any q :apply stacc :bar 1 :event 1) (:any e :apply (s stacc) :bar 1 :event 1) (:any e :apply (s stacc) :bar (1 3 5) :event 1) (:any e :apply (s stacc) :bar 2..6 :event 1) Replaces all elements in a sequence of its type with a new-element: (:apply stacc) Replaces all elements of its type with a new-element in a given bar: (:apply stacc :bar 2) (:apply stacc :bar (2 4 6 8)) Rewrites accidentals with sharp map: (:apply :sharp) Rewrites accidentals with flat map: (:apply :flat) Replaces a list of elements with a new-element in all bars: (:any (f mf) :apply mp) Replaces a list of elements with a new-element in a given bar: (:any (f mf) :apply mp :bar 1) Removes an element from the sequence: (:remove leg) Removes all velocity elements from the sequence: (:remove :velocity) Removes all attribute (articulation) elements from the sequence: (:remove :attribute) Converts an event number in a given bar into a pause: (:remove :event :bar 1 :event 2) Replaces a first event in all bars in a sequence: (:first ord) Replaces the first event in a given bar: (:first ord :bar 6) Replaces the last event in a given bar: (:last fermata :bar 6) Replaces all elements in a sequence excluding the last event: (:butlast leg) Replaces all elements in a sequence excluding the first event: (:rest leg) Replaces all elements in a given range with a new-element: (:range (t s) :apply marc) (:range (mp f) :apply p) (:range (c4 c5) :apply tasto) Replaces all elements in a given range and in a given bar: (:range (t s) :apply marc :bar 2) (:range (mp f) :apply p :bar 2) (:range (c4 c5) :apply tasto :bar 2) Replaces all elements in a sequence when equal the and series: (:and (q c4 f) :apply ff) (:and (q c4 f stacc) :apply (q c4cs5 f marc)) Substitutes a given bar number with a new sequence of events: (:sub (3q c4 eb4 gs4) :bar 8 )
  22. What Opusmodus version you where using on the old Mac - please specify the macOS. What is your new computer and which macOS is installed on it.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy