Jump to content


  • Content count

  • Joined

  • Last visited

About EAIP

  • Rank
    Advanced Member

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location

Recent Profile Visitors

1,919 profile views
  1. gen-loop has stopped working for me since Opusmodus 1.2.23173 I get the following compiler warnings on startup: ;Compiler warnings for "/Users/erikpeters/Opusmodus/Extensions/Lipparella Externals/pitch-exp.opmo" : ; In pitch-exp: Undefined function gen-loop ;Compiler warnings for "/Users/erikpeters/Opusmodus/Extensions/Lipparella Externals/pitch-exp-2.opmo" : ; In pitch-exp-2: Undefined function gen-loop ;Compiler warnings for "/Users/erikpeters/Opusmodus/Extensions/Lipparella Externals/choose-3.opmo" : ; In choose-2: Undefined function gen-loop ;Compiler warnings for "/Users/erikpeters/Opusmodus/Extensions/Lipparella Externals/Dynamics-5.opmo" : ; In choose-dynamics: Undefined function gen-loop gen-eval seems to be the recommended function, but there are still references to gen-loop in the tutorials and elsewhere on the OM website has gen-loop been removed from om?
  2. EAIP

    Posting seed value

    Thanks Janusz, this was exactly was what I was wishing for, really useful I think!
  3. EAIP

    Posting seed value

    Thanks for the patience and clarification Janusz, and thanks also to Lasse for the useful lisp function.
  4. EAIP

    Posting seed value

    Yes, of course, but in terms of workflow it isn't very practical, I think you would like to keep things separated when trying out individual lines of a score. Is there a way of somehow getting the seed or random state used under the hood when not providing one yourself? (Sorry about the typo, I meant to write Cmd + 3 in the code example, as in "OMN notation")
  5. EAIP

    Posting seed value

    Also you can't use the method above for a single line if you want to evaluate OMN Notation (cmd + 3 or ctrl + cmd + N) at the same time (or at least I don't know how to do that). (setf seed (rnd-range 1 999999)) (init-seed seed) (setf pitch (rnd-sample 5 '(c4 e4 g4 b4))) ; Select all then Evaluate and Notation (ctrl + 3) => Error: The value 793536 is not of the expected type list.
  6. EAIP

    Posting seed value

    Yes, I know about init-seed, it's great for setting the overall seed in a complete score context, I guess you mean something like this: (setf seed (rnd-range 1 999999)) (init-seed seed) (setf pitch (rnd-sample 5 '(c4 e4 g4 b4))) (setf len (rnd-sample 5 '(s e))) (setf phrase (make-omn :pitch pitch :length len )) (def-score flute ( :key-signature 'chromatic :time-signature '(4 4) :tempo 112 :layout (flute-layout 'flt) ) (flt :omn phrase :channel 1 :sound 'gm :program 'flute ) ) If you are happy with the result you can then evaluate the seed variable and paste the posted number into the :seed keyword in one or both of the forms including random functions and thus achieve locking one or several parameters. However, if you just want to evaluate for example the 3rd line over and over again untill you find a pitch line you like, this is quite a cumbersome method. It would be great to somehow get a report of the current internal state of a single random function, or at least be able to after evaluation get the current random state or seed used. Perhaps I'm misunderstanding something crucial regarding the way the seed functionality is implemented in OM.
  7. Here is a suggestion for posting the random seed value used by a function. When using Open Music way back in time I remember that you could "lock" a random function if you liked the result, which IMO was a great workflow feature. Perhaps a similar thing could be achived in Opusmodus if the random seed used for a function was posted to the post window in addition to the result of the evaluation. If you like the result of a particular seed you could then manually "lock" the randomization using the :seed keyword for the function: ; first try different randomizations (setf bin-rhythm (gen-binary-rnd 5 5 2 1)) => gen-binary-rnd :seed 752 (setf bin-rhythm (gen-binary-rnd 5 5 2 1)) => gen-binary-rnd :seed 234 ; then lock seed if you like the result (setf bin-rhythm (gen-binary-rnd 5 5 2 1) :seed 234) Perhaps if possible also with the variable name as a label to keep track of things when using several random functions in complex code: (setf bin-rhythm (gen-binary-rnd 5 5 2 1)) => bin-rhytm gen-binary-rnd :seed 37 I think that this or a similar approach would be a really powerful way of trying different results when working with randomization in Opusmodus.
  8. EAIP


  9. Hi, I was wondering how to get an octave treble clef and the correct transposing notation when writing for guitar. At the moment my def-score look like this: (def-score Crossing_Waves (:key-signature 'chromatic :time-signature timesigs :tempo 72 :layout (guitar-layout 'inst)) (inst :length lengths :pitch pitches :velocity dynamics :channel 1 :sound 'gm :sound 'acoustic-guitar-nylon) Notation is in treble clef in one system as it should, but as sounding pitch without the 8 under the treble clef. Kind Regards, Erik
  10. EAIP

    Playback problem

    Sorry about the noise, I've solved the problem! Kind Regards, Erik
  11. Hello, I recently upgraded to Sierra, and somehow the default playback mechanism stopped working. When trying some basic examples in OM there is no sound. Any suggestions as to where to begin troubleshooting? I'm on Version 1.2.22101M. Kind Regards, Erik
  12. EAIP

    Dim al niente

    Hi, The following OMN script gives the notation below. Is it possible to make the diminuendo end with niente as well, while keeping the visual appearance – the length – of the dim? Kind Regards, Erik '(q a4 0< b4 pp> -q)
  13. Hi, In the following code the mf of the first bar won't show up. Any other dynamic symbol in the first bar will work as expected. Are you able to reproduce this on your system? All the best, Erik (setf omn (make-omn :length '((1/8 1/8) (1/2 1/2) (1 1)) :pitch '((g4) (d5) (f5)) :velocity '((mf) (f) (mf)) ) ) => ((e g4 g4) (h d5 f d5) (w f5 mf f5)) ; no dynamic symb in first bar! (setf omn (make-omn :length '((1/8 1/8) (1/2 1/2) (1 1)) :pitch '((g4) (d5) (f5)) :velocity '((pp) (f) (mf)) ) ) => ((e g4 pp g4) (h d5 f d5) (w f5 mf f5)) ; now the dynamic symb shows up in the first bar!