Search the Community
Showing results for tags 'resolved'.
-
I just installed V 1.3.24409, and am getting some errors on startup. The first one is an alert that says: "Error in Hemlock command processing. There is no applicable method for the generic function: #<STANDARD-GENERIC-FUNCTION ENSURE-COMPOSER-PANE #x302001D4373F> when called with arguments: ("/Users/<my username>/Documents/Opusmodus/Extensions/Load CLM Instruments.lisp" #<OM-LAYOUT-CONTROLLER <OMLayoutController: 0x134880> (#x134880)>). After I dismiss that, a window opens that says: Error: File #P"clm:instruments;" does not exist. > While executing: clm-user-ins-path, in process Opusmodus Extension Initialization(6). and then the error recovery options. I have deleted both the ~/Documents/Opusmodus and ~/.opusmodus folders, deleted the prefs file, and searched for any other opusmodus folders, so I'm confident that it's clean. I then reinstalled the newly DL'd Opusmodus, launched it, entered my serial #, and created a new Opusmodus folder. This didn't help. The file ~/Documents/Opusmodus/Extensions/Load CLM Instruments.lisp exists and looks unremarkable. ~/Documents/Opusmodus/CLM/instruments exists and contains a bunch of .ins files. Before I DL'd the new version, I launched the previous version 1.3.24303 and got that same error window complaining about not finding clm:instruments. I am unaware of anything changing on my Mac that might have broken this recently. I'm running Mojave 10.14.2 on an iMac (Retina 5K, 27-inch, Late 2014). The Quick Start Workspace loads and plays anyway. Any ideas about how to fix this?
-
So I'm very happy to be exploring new snippet structure but cannot seem to define my own instrument, based on the example in the help file I did this but get errors: SOLVED: I had to Evaluate my Def-Inst before it would play..
-
After installing the newest version, I receive this diagnostic. Not sure at all what it means. There is no applicable method for the generic function: #<STANDARD-GENERIC-FUNCTION ENSURE-COMPOSER-PANE #x302001CFAA4F> when called with arguments: ("/Users/RSTGSU/Opusmodus/Extensions/Load CLM Instruments.lisp" #<OM-LAYOUT-CONTROLLER <OMLayoutController: 0x735e90> (#x735E90)>) Nor do I know how to solve it.
-
I was wondering what was the preferred method to store snippets? I come across quick ideas I want to quickly store away for future. There seems to be two choices..make a .opmo file or 'save the last file as .xml' under the File menu. Are there any others? I guess an xml file is good for seeing the notation rapidly but effectively renders the snippet dead as it loses the reference to the code and an .opmo file keeps the code... though this needs to be evaluated to see the notation quickly.
-
> Error: The function double is predefined by Opusmodus. > While executing: ccl::cerror-if-redefine-om, in process Opusmodus Extension Initialization(5). > Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts. > If continued: Replace the definition of double. > Type :? for other options. 1 > Recently when I start Opus Modus I get this error message. Is there something to do? With thanks!
-
For sound synthesis purposes (e.g., for an expressive performance), we may want to use note lengths beyond the restricted set of quantised note durations. However, Opusmodus currently prevents various irregular note duration sequences to be auditioned and throws an error instead. What is really interesting, though, is that the notation for such irregular durations still seem to work. It might make sense the other way round (i.e. refusing to notate certain rhythms -- though I am definitely not voting for introducing that :), but I don't see any real reason why arbitrary rhythms may not be auditioned. As an example, below is a short example of some arbitrary non-regular rhythm. Opusmodus can notate this rhythm, but when trying to play it back it throws an error. '((1/10 1/11 1/12 1/13)) Thanks! Best, Torsten
-
resolved How to force a time signature for Snippet fast use
JulioHerrlein posted a topic in OMN Lingo
Dear Friends, I'm setting some 12-tone examples for classroom. I just want to show some rows with motives, in the example below. I'd like to force this omn expression to make a snippet in 4/4 only or 2/4, without having to use def score. Is it possible ? It's easier for faster classroom purposes. Best, Julio (setf clodorow '(a4 gs5 c5 d5 bb4 b4 fs5 f5 cs5 g5 ds5 e5)) (setf serierit '(q.. s -s s s s -s e._q -s s -s s_q)) (make-omn :length serierit :pitch clodorow :velocity '(pp sfz p < f pp mf mf mp mp) :length-symbols t) It's genarating a 7/4 snippet. I would prefer it in 2/4 or 4/4... Any help ? Best, Julio -
I really like how Opusmodus allows to preview monophonic snippets (and other material, like interval sequences). No need to explicitly call some function or connect to some editor, as in other composition systems -- just use a keyboard shortcut to see and hear an intermediate result. However, what I miss is notating/auditioning intermediate results of polyphonic music with a single shortcut. So, I defined the function preview-score, based on def-score. The function expects a polyphonic score in the slightly simplified format we discussed earlier. Here is a minimal example. (preview-score '(:vln ((q b4 a4 h g4)) :vlc ((h g3 b3)))) If I want to control further notation or playback parameters, preview-score provides arguments for that, but that is basically the same as using def-score directly. Instead, such parameters can be defined only once with global variables, and then used for multiple calls to preview-score. Here is some example setting. (setf *default-preview-score-instruments* '(:vln (:program 'violin :sound 'gm) :vlc (:program 'cello :sound 'gm))) (defparameter *default-preview-score-header* '(:title "Opus magnum" :tempo 80)) Janusz: How can I define a keyboard shortcut that calls the function preview-score with the score returned by a selected code region (or the Lisp expression just before the cursor)? Thanks! For completeness, the definition of preview-score is below. Best, Torsten ;;; just some dummy settings for now (defparameter *default-preview-score-instruments* '(:vln (:program 'violin :sound 'gm) :vlc (:program 'cello :sound 'gm)) "Settings for each instrument used by `preview-score'. The format is a plist where keys are the instrument labels, and values a list with the actual settings. For format of these settings are the same as instrument settings for `def-score' with keywords like :sound, :channel etc. -- except for they key :omn.") ;;; just some dummy settings for now (defparameter *default-preview-score-header* '(:title "Opus magnum" :tempo 80) "Global score settings used by `preview-score'. The format is a plist where keys are the instrument labels, and values a list with the actual settings. The format is the same as the header settings for `def-score' with keywords like :title, :key-signature etc.") (defun preview-score (score &key (name 'test-score) (instruments *default-preview-score-instruments*) (header *default-preview-score-header*)) "Notates and plays a score in a format slightly simpler than expected by def-score, i.e., without its header. Args: - score (plist): a headerless score. See below for its format. - name (symbol): The score name. - instruments (plist): Keys are instrument labels, and values a list with the actual settings. These settings have the same format as instrument settings for `def-score' with keywords like :sound, :channel etc. -- except for they key :omn. - header (plist): The format is the same as the header settings for `def-score' with keywords like :title, :composer, :key-signature etc. Score format: ;;; (<part1-name-keyword> <part1-OMN> ;;; <part2-name-keyword> <part2-OMN> ;;; ...) Example: ;;; (preview-score ;;; '(:vln ((q g4) (q. c5 e d5 q e5 f5) (h. e5)) ;;; :vlc ((q g3) (q c4 b3 a3 g3) (h. c3))) ;;; :instruments '(:vln (:program 'violin :sound 'gm) ;;; :vlc (:program 'cello :sound 'gm)) ;;; :header '(:title \"Opus magnum\" ;;; :tempo 80)) " ;; Using eval is problematic (https://stackoverflow.com/questions/2571401/why-exactly-is-eval-evil/), ;; but hard to avoid for a dynamically created def-score expression that requires splicing with ,@. ;; Possible alternative would be to define preview-score as macro, but then arguments are not evaluated. (eval `(def-score ,name ;; quote all header args, because symbol values must be quoted... ,(mapcar #'(lambda (x) `',x) (append header ;; add default vals of required header args at end -- they are overwritten by args given (list :key-signature 'atonal ;; By default, use implicit time signature of 1st part :time-signature (om:get-time-signature (second score)) :tempo 70))) ,@(mapcar #'(lambda (part) (let ((part-symbol (first part)) (part-omn (second part))) (list* part-symbol :omn `(quote ,part-omn) (getf instruments part-symbol)))) (plist->pairs score))) ) (audition-musicxml-last-score) *last-score*) #| ; mini test (preview-score '(:vln ((q g4) (q. c5 e d5 q e5 f5) (h. e5)) :vlc ((q g3) (q c4 b3 a3 g3) (h. c3))) :instruments '(:vln (:program 'violin :sound 'gm) :vlc (:program 'cello :sound 'gm)) :header '(:title "Opus magnum" :tempo 80)) |#
-
a minor correction suggested... I know this is fairly basic, but it made a beginner like me do a double take... this is the helpfile: but further down it says... yet 'size' (which is in the type for a &key) is not a valid keyword, it refers to 'number'... thought it may help others... must be a nightmare keeping all help-files consistent, my sympathies! best, Julio
-
Following from this question, I want to use several different Lisp packages through quicklisp, but I can't get the installation to work correctly. After doing some digging, I found out that the path to quicklisp is not defined correctly. This is the content of the ql:*quicklisp-home* global: > ql:*quicklisp-home* #P"/Users/opusmodus/quicklisp/" I realised that changing this manually doesn't fix the issue, and because of this I can't install or use quicklisp correctly. Note that I do not have a user by the name opusmodus and creating that directory with my user's permission does not fix it. I managed to do something by using SBCL as my own user to load and install quicklisp, and then in opusmodus use the following: (load #p"/Users/ajf-/quicklisp/setup.lisp") But it's actually a workaround and it's not very reliable (also gives an error sometimes). Can you please point me in the right direction? Thank you very much
-
Hi, I get the following error warning, when I try to audition the omn and I don't get why..? With a def-score section all compiles fine > Error: The GET-SPAN output denominator is not a power of two (1, 2, 4, 8, 16, ...). Denominator: 12. > While executing: get-time-signature-l, in process Listener-1(8). > Type cmd-. to abort, cmd-\ for a list of available restarts. > Type :? for other options. (simplified) code: (setf zahlen3 '((-3/8 3/8 -1/8 -3/8) (1/2 5/8 1/4) (5/8 1/4 -3/8) (1/8 3/8 1/4 1/2) (-3/8 1/4 -1/8 1/4 1/8 -3/8) (3/8 -1/8 1/4 1/4 5/8 1/4 1/2 -3/8) (-1/8 5/8 1/8 -3/8) (-1/8 -3/8 -3/8 -3/8) (1/8 -3/8 1/8 -3/8 1/4) (1/2 1/2 1/8 1/8 -3/8) (1/8 -1/8 3/8 1/4 1/2 -3/8 1/8) (-1/8 -1/8 1/4 3/8 1/4) (-1/4 1/4 -1/12 -1/4 1/6 5/12 -1/12) (1/6 5/12 1/6 -1/4) (1/12 1/4 1/6 1/12 -1/4 1/6 -1/12) (-1/12 1/6 1/12 -1/4 1/6) (-1/12 1/6 1/6 5/12 1/6) (1/3 -1/4 -2/12) (5/12 1/12 -1/4 -1/12 -5/12 -1/4 -1/4) (1/8 -1/4 1/12 -1/4 1/6) (1/3 1/3 1/12 1/12 -1/4 1/12 -1/12) (-1/12 1/4 1/6 1/3 -1/4 1/12 -1/12) (-1/12 1/6 1/4 1/6 -1/12) (-3/8 3/8 -1/8 -3/8 1/2 5/8 1/4 5/8 1/4) (-3/8 1/8 3/8 1/4 1/2 -3/8 1/4 -1/8) (1/4 1/8 -3/8 3/8 -1/8 1/4 1/4 5/8) (1/4 1/2 -3/8 -1/8 5/8 1/8 -3/8 -1/8 -3/8) (-3/8 -3/8 1/8 -3/8 1/8 -3/8 1/4) (1/2 1/2 1/8 1/8 -3/8 1/8 -1/8 3/8) (1/4 1/2 -3/8 1/8 -1/8 -1/8 1/4 3/8 1/4))) (get-span zahlen3) => (5/4 11/8 5/4 5/4 3/2 11/4 5/4 5/4 5/4 13/8 15/8 9/8 3/2 1 13/12 3/4 1 3/4 7/4 7/8 5/4 5/4 3/4 7/2 19/8 19/8 23/8 2 9/4 19/8) (setf toene '(c4 d4 e4 f4 fs4 gs4 bb4)) (setf stimme1 (make-omn :length zahlen3 :pitch toene))
-
Hi, I have a small suggestion concerning MAKE-SCALE: It would be a nice extension, if one can use lists in :alt would be an easy way to construct symmetric scales and more complex sieves. simple example: (make-scale 'c3 8 :alt '(1 2)) => (c3 cs3 eb3 e3 fs3 g3 a3 bb3) same as: (flatten (list (gen-mix (make-scale 'c3 4 :alt 3) (make-scale 'cs3 4 :alt 3)))) => (c3 cs3 eb3 e3 fs3 g3 a3 bb3) Happy New Y(ear)(s)! ole