Jump to content

opmo

Administrators
  • Posts

    2,903
  • Joined

  • Last visited

Everything posted by opmo

  1. This update fixed the program change bug found in ADD-TEXT-ATTRIBUTES. New: ADD-PROGRAM-ATTRIBUTES. add-program-attributes &rest attributes [Function] Arguments and Values: attributes lists of attributes (programs). Description: This functions allows you to add your own lists of attribute names (program changes) to the system. This function is used when you don't want to display certain attributes within the score notation but would like to control program changes on a particular note (pitch). First you need to create a file 'User Attributes.opmo' in the Opusmodus 'Extensions' folder - if it hasn't been created already. To be able to add your own program attributes to the system you need to add a new list with one arguments to the ADD-PROGRAM-ATTRIBUTE existing list. (add-program-attributes '(music-box) '(vibraphone) '(xylophone) '(tubular-bells) '(marimba) ) The new attributes will display in your given colour which you assign in the Preferences window. Score Example: (add-program-attributes '(music-box) '(vibraphone) '(xylophone) '(tubular-bells) '(marimba) ) Now we are linking the program attributes with a sound set: (def-sound-set prog-att :programs (:group prog1 music-box 10 vibraphone 11 marimba 12 xylophone 13 tubular-bells 14 )) (setf omn '(q a4 ff xylophone b4 vibraphone c4 marimba d4 tubular-bells)) (def-score test (:key-signature 'chromatic :time-signature '(4 4) :tempo 30) (inst :omn omn :channel 1 :sound 'prog-att) ) It is important to know that if you share your score with others to include the attribute lists together with the score at the beginning of the score. See above. This is a new file, please replace the existing 'User Attributes.opmo' file (Extensions folder) with this one. User Attributes.opmo HAPPY HOLIDAYS, best wishes, Janusz
  2. The software is acknowledged in Opusmodus 'Acknowledged' file. But I could add a line to the documentation as well.
  3. New: add-text-attributes &rest attributes [Function] Arguments and Values: attributes lists of attributes (playing techniques). Description: This functions allows you to add your own lists of attributes names (playing techniques) to the system. Examples: (add-text-attributes '(ord-tasto "ord⟶tasto") '(tasto-ponte "sul tasto⟶pont.") ) '(h c4 ppp> ord-tasto+leg cs5 pppp tasto-ponte) First you need to create a file 'User Attributes.opmo' in the Opusmodus 'Extensions' folder - if it hasn't been created already - with the contents below. To be able to add your own attributes (playing techniques) to the system you need to add a new list with two arguments to the existing list (see below). The first argument is a symbol (name) which you will use in the omn-script and the second argument is a string (text) that will be displayed in the score above the note. See the example above: ;; ----------------------------------------------------------------------- ;; User Text Attributes ;; ----------------------------------------------------------------------- ;; Copyright © 2016 Opusmodus Ltd, All rights reserved. ;; ----------------------------------------------------------------------- ;; This file needs to be in the Opusmodus Extensions folder. ;; ----------------------------------------------------------------------- (in-package :Opusmodus) ;; ----------------------------------------------------------------------- ;; To add your own attribute (playing techniques) to the system you need ;; to add a new list with two arguments. The first is a symbol (name) ;; which you will use in the omn script and the second is a string, ;; text that will be displayed in the score above the note. (add-text-attributes ;; Strings '(ord-tasto "ord⟶tasto") '(tasto-ord "tasto⟶ord.") '(arco-tasto "arco sul tasto") '(alto-tasto "alto sul tasto") '(extr-tasto "extr. sul tasto") '(molto-tasto "molto sul tasto") '(ord-ponte "ord⟶pont.") '(ponte-ord "pont.⟶ord.") '(tasto-ponte "sul tasto⟶pont.") '(tasto-ponte-tasto "sul tasto⟶pont⟶tasto") '(ponte-tasto-ponte "sul pont⟶tasto⟶pont.") '(ponte-tasto "sul pont⟶tasto") '(arco-ponte "arco sul pont.") '(poco-ponte "poco sul pont.") '(da-ponte "dietro al pont.") '(extr-ponte "extr. sul pont.") '(alto-ponte "alto sul pont.") '(molto-ponte "molto sul pont.") ;; Brass '(half-depressed-valves "half depressed valves") '(hit-on-mouthpiece "hit on mouthpiece") '(insert-straight-mute-into-bell "insert straight mute into bell") '(kiss "kiss") '(mouthpiece-backwards "mouthpiece backwards") '(mouthpiece-only "mouthpiece only") '(play-and-sing "play and sing") '(silent-brass "silent brass") '(snap-with-a-finger-on-the-bell "snap with a finger on the bell") '(stop-mute-closed "stop mute closed") '(stop-mute-open "stop mute open") '(stop-mute-wahwah-effect "stop mute wahwah effect") '(without-mouthpiece "without mouthpiece") '(air-noise-f "air noise-f") '(air-noise-h "air noise-h") '(air-noise-k "air noise-k") '(air-noise-p "air noise-p") '(air-noise-s "air noise-s") '(air-noise-sh "air noise-sh") '(air-noise-t "air noise-t") '(without-tubings "without tubings") ;; Blowing '(over-blow "over blow") '(under-blow "under blow") '(harsh-blow "harsh blow") '(without-air "without air") '(low-noise-blow "low noise blow") '(high-noise-blow "high noise blow") '(multiph "multiphonic") '(breathy "breathy") '(hum "hum") '(finger-damp "finger damp") ;; Harp '(bisb "bisbigl.") '(thin-pick "thin pick") '(between-tuning-peg-and-tuning-mechanism "between tuning peg and tuning mechanism") '(clang "clang") '(close-to-table "close to table") '(dampened "dampened") '(fingernail "fingernail") '(hand-on-the-corpus "hand on the corpus") '(hand-on-the-strings "hand on the strings") '(knuckle-on-the-corpus "knuckle on the corpus") '(semitone-downwards "semitone downwards") '(semitone-upwards "semitone upwards") '(wholetone-downwards "wholetone downwards") '(wholetone-upwards "wholetone upwards") '(pedal-noise "pedal noise") '(tuning-wrench "tuning wrench") '(hit "hit") '(xylophone-tone "xylophone tone") ) The new attributes will displayed in your given colour which you assign in the Preferences window. It is important to know that if you share your score with others to include the attributes list together with the score at the beginning of the score: (add-text-attributes '(am-steg "am steg") '(ruhig "ruhig")) Please drop the file to the Extensions folder: User Attributes.opmo
  4. There is a way to add your own text attributes to the system already but needs a bit of coding :-)
  5. To that: (h c4 pp ord.->tasto) I will need to add the 'symbol' to the system.
  6. We will change the articulation system in version 2 which will allow the user to add any text play technique to the system. As for now I am happy to add the attributes you need for your work. Please send me the text play technique you are looking for and I will add them to the system.
  7. Because you are using different package. You are making thinks more difficult :-)
  8. More control in PITCH-FRAGMENT function. pitch-fragment count size pitch &key transpose section exclude seed span flat [Function] Arguments and Values: count an integer or list of integers (count of fragments). size an integer list (size of fragments). pitch a list or list of pitches. transpose a list of integers (transposition values). section an integer or list of integers. Selected list or lists to process. The default is NIL. exclude an integer or list of integers. Excluded list or lists from process. The default is NIL. seed NIL or an integer. The default is NIL. OMN: flat NIL or T. If true, the OMN single type lists are flatten. The default is NIL. span :length, :pitch or :velocity. The default is :pitch. Description: This function returns a fragment of a sequence from an existing list or lists. (pitch-fragment 4 3 '(c4 d4 e4 f4 g4 a4) :seed 235) => (d4 e4 f4 e4 f4 g4 c4 d4 e4 d4 e4 f4) (pitch-fragment 4 3 '(c4 d4 e4 f4 g4 a4) :seed 235 :flatten nil) => ((d4 e4 f4) (e4 f4 g4) (c4 d4 e4) (d4 e4 f4)) (pitch-fragment 4 3 '(c4 d4 e4 f4 g4 a4) :transpose '(1 -1 2 -2) :seed 2457) => (cs4 eb4 f4 e4 fs4 gs4 g4 a4 b4 c4 d4 eb4) (pitch-fragment 4 3 '(c4 d4 e4 f4 g4 a4) :transpose '(1 -1 2 -2) :variant '(r i ri p) :seed 2457) => (f4 eb4 cs4 e4 d4 c4 b4 cs5 eb5 d4 eb4 f4) The function has many applications, not least in the area of LIVE CODING. In non-realtime composition it is invaluable for exploring the potential of a motif or theme. Examples: If you set count to '(2 4) and the size set to '(2 3) then the first list will output 2 fragments, one of 2 and one of 3 pitches. The second list will output 4 fragments of 2, 3, 2 and 3 pitches (loop). (pitch-fragment '(2 4) '(2 3) '((c4 d4 e4 f4 g4 a4) (cs4 ds4 fs4 gs5 as4)) :transpose '(1 -1 2 -2)) => ((fs4 gs4 eb4 e4 fs4) (e4 g4 c4 d4 f4 bb5 c5 b3 cs4 e4)) The following examples show how OMN list form can be fragmented. (pitch-fragment '(3 2) '((2 3) (1 2)) '((q c4 stacc cs4 d4 c4cs4 ten d4) (q c4 stacc cs4 d4 c4cs4 ten d4)) :transpose '((1 -13) (6 -13)) :seed 6) => ((q eb4 stacc cs4d4 cs3 b2c3 ten cs3 cs4d4 stacc eb4) (q fs4 stacc b2c3 cs3)) (setf omn (gen-repeat 6 '((e f4 e4 c4 a4 g4 d4 ab4 db4 eb4 gb4 bb4 b4)))) (pitch-fragment '(3 4 2 5) '((2 3 4 2) (3 2 3)) omn :transpose '((1 -1) (1 -11 2 -2 13 -13)) :seed 235) => ((e eb4 a4 g4 c4 d4 fs4 f4 cs4 bb4) (e bb4 gs4 eb4 b3 c4 e4 bb4 eb4 d4 bb3 g4) (e d4 e4 gs4 fs4 cs4) (e bb4 gs4 eb4 bb3 gs3 a4 e4 bb4 c4 fs4 b3 a5 d5) (e e4 g4 f4 a4 bb4 f4 cs4 bb4 gs4) (e gs4 eb4 a4 f3 cs3 eb4 f4 gs4 fs4 b3 cs4))
  9. Opusmodus on Windows (using VMWare)
  10. The update produces an error: (move-s '(c4 eb4 g4)) > Error: The value nil is not of the expected type fixnum. > While executing: move-r, in process Listener-3(11). > Type cmd-. to abort, cmd-\ for a list of available restarts. > Type :? for other options.
  11. You need to install the quicklisp first. Please remove the following line for the file: ;;; CCL path (setf (logical-pathname-translations "ccl") '((#P"ccl:**;*.*" #P"/Users/opusmodus/ccl/**/*.*"))) This is a path to ccl on my computer.
  12. You can add the SCHEDULER library to Opusmodus with quicklisp: 1. To do that you need to install the Quicklisp first: ;; Load: (load "http://beta.quicklisp.org/quicklisp.lisp") ;; To continue, evaluate: (quicklisp-quickstart:install) You need to do that only once. 2. After the installation drop the file 'Quicklisp Start.lisp' to the 'Extensions' folder. 3. Quit Opusmodus. 4. Start the app. Now you can use the SCHEDULER functions. Update Quicklisp Start.lisp
  13. Files ending with .opmo~ or .lisp~ are backups files. You never should worry about them.
  14. At the moment I am working on other things but I will have a look and see if I can make a function for it.
  15. Fix to variant symbols in the TIME-POINT-SYSTEM function.
  16. Great news indeed. Could you drop here one or two screen shots - Opusmodus on PC.
  17. Is Opusmodus fully functional on Windows machine using VMWare?
  18. OMN implementation in Common Lisp is very complex indeed - it needs to work with MIDI and MusicXML. The OMN code is thousands of lines long.
  19. This is not known bug. As I don't have the score files you are using the for the test the best way is to eval (one by one) a file form the 'Score Examples' and see if it works. I think your score has some errors, that all :-)
  20. Fix: A one list Snippet with span over 12 whole notes will automatic use (4 4) time signature.
  21. Addition to harmonic-progression function :base (harmonic-progression '(0 3 4 4) '(c major)) => (c4e4g4 f4a4c5 g4b4d5 g4b4d5) (harmonic-progression '(1 4 5 5) '(c major) :base 1) => (c4e4g4 f4a4c5 g4b4d5 g4b4d5) New System Library 'MATHS' (will expand with time).
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy