Jump to content

o_e

Members
  • Posts

    273
  • Joined

  • Last visited

Posts posted by o_e

  1. Ok, one more question.. 🙂

    Lets say I have a library with different sections like this:

    (def-library test3
                 (:section one
                           x0 '(a b c)
                           x1 '(d e f)
                           )
                 (:section two
                           a0 '(x y z)
                           a1 '(u v w)
                           )
    )

    and now I want to (randomly) call in all sections:

    (library 'test3 '(one two)  nil :collect :all)
    (library 'test3 '(one two)  nil :random 5)

    is that possible?

     

    thanks!

  2. Ok, so I just save my

    (def-library test
                 (:section testing
                           bla0 '(a b c)
                           bla1 '(e f g)
                           ))

    into the Def-Library folder, adding

    (in-package :Opusmodus)

    on top

     

    The method I choose  looks like this:

    (in-package :Opusmodus)
    
    ;; Library | Opusmodus Version 2.1.26191 | 2021-01-25 09:24:09
    
    (def-library test
        (:section testing
         bla0 '(a b c)
         bla1 '(e f g)))
    
    #|
    Examples:
    (library 'test 'testing 'bla0)
    (library 'test 'testing nil :random 5)
    (library 'test 'testing nil :collect '(0 3 5))
    |#

    Can  it also be done this way (I find the automatically generated additional lines helpful)..?

    Or is it embarrasing 🙂

  3. Ok, to complete my own example (hope that may help others):

    First you have to define a library (like I did already successful):

    (def-library test
                 (:section testing
                              bla0 '(a b c)
                              bla1 '(e f g)
    ))

    to save it (permanent) as a file into ~/Opusmodus/Def-Libraries/Def-Library you have to do the following:

    (create-library 'test 'testing 'bla
                 (library 'test 'testing nil :collect :all)
                    :file "test" 
    )

     

    correct or do I miss something?

    Thanks for your patience!

     

     

  4. Hi,

    Please have merci with me, but I'am not able to build a library (permanent).

    I've tried to follow the docs, so I first use def-library:

    (def-library test
                 (:section testing
                              bla1 '(a b c)
                              bla2 '(e f g)
                              ))

    This seems to work, testing with:

    (library 'test 'testing 'bla2)
    ==>(e f g)

    Next step in my understanding would be:

    (create-library 'test 'testing 'bla  
                    :file "test" 
                   )

    that gives an error:

    ==>Error: Incorrect keyword arguments in ("test")

    What am I missing,  surely something very silly that I overlooked, greatful for some help..

    Thanks!

     

    ole

  5. Hi,

     

    I'am having hard times to understand what is pitch-transpose doing, please have a look, thanks!

    (pitch-transpose -12 '((fs1) (f1) (g-1g1bb2e6gs6a6bb6) (gs-1bb1bb2e6gs6a6bb6) (bb-1cs2bb2a3e6gs6a6bb6cs7)))
                   ;==>   ((fs1) (f1) (g1 g1bb1e5gs5a5bb5) (gs1 bb0bb1e5gs5a5bb5) (bb0 cs1bb1a2e5gs5a5bb5cs6))
                   ;        x?    x?      x?                                                              
    (pitch-transpose  12 '((fs1) (f1) (g-1g1bb2e6gs6a6bb6) (gs-1bb1bb2e6gs6a6bb6) (bb-1cs2bb2a3e6gs6a6bb6cs7)))
                   ;==>   ((fs2) (f2) (g1 g2bb3e7gs7a7bb7) (gs1 bb2bb3e7gs7a7bb7) (bb0 cs3bb3a4e7gs7a7bb7cs7))
                   ;                                                                                     x?

     

  6. Hi,

    I'am examin the distribute-seq function and don't get the exact logic behind it:

     

    (setf pitch '(c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 as4 b4))
    #|            1  2   3  4   5  6  7   8  9   10 11  12 |#
    (setf
     l-v1 '(1/8 -1/8 2/8 -1/8 5/8)
     l-v2 '(1/8 1/8 -1/8 2/8 1/8)
     l-va '(-2/8 1/8 -5/8 1/8)
     l-vc '(-1/8 3/8 1/8 1/8)
     )
    
    (setf align (distribute-seq pitch l-v1 l-v2 l-va l-vc))
    ==>((c4 e4 gs4) (cs4 d4 fs4 a4) (f4 b4) (ds4 g4 as4))
    
    ;;;from the docs, what is the rule for the distribution (when the lists are of different size)?
    ;;;Do the list of pitches (have to) match the list of length values?
    
    #|
    
    -----------------that's what I would expect:-------------------
    
            1        5        9
     l-v1 '(1/8 -1/8 2/8 -1/8 5/8)
            2   6        10  12
     l-v2 '(1/8 1/8 -1/8 2/8 1/8)
                 3        7    
     l-va '(-2/8 1/8 -5/8 1/8)
                 4   8   11  
     l-vc '(-1/8 3/8 1/8 1/8)
    
    -----------------that's how it works:------------------------
    
            1        5        9
     l-v1 '(1/8 -1/8 2/8 -1/8 5/8)
            2   3        7   10
     l-v2 '(1/8 1/8 -1/8 2/8 1/8)
                 6        12
     l-va '(-2/8 1/8 -5/8 1/8)
                 4   8   11
     l-vc '(-1/8 3/8 1/8 1/8)
    
    ----------------that's what Stéphane would expect (and what would also make sense to me):
    
           1        6        11
    l-v1 '(1/8 -1/8 2/8 -1/8 5/8)
           2   3        8   12
    l-v2 '(1/8 1/8 -1/8 2/8 1/8)
                4        9    
    l-va '(-2/8 1/8 -5/8 1/8)
                5   7   10  
    l-vc '(-1/8 3/8 1/8 1/8)
    
    |#

     

     

    greatful for some insight, thanks!

     

    ole

  7. It would be great if I could make the annotations directly in the doc file..

    I've already tried to copy the doc file in the Opusmodus/System Library (where also the docs for my own functions live)

    but it was cumbersome to handle the big amount of (double) files.

    It would be great to type the name of the function in the search field (or highlight an control-tab a function in the code)

    and see the doc and my annotations in the same place (file)..

    Maybe the update routine can be changed so that the doc files are  not replaced but supplemented?

    Maybe that could be an option to make a sort of manual update, where on can decide..

     

     

  8. I experimented a little more and found out that length-to-rest can not handle chords (I would like to make a feature request..)

    But I still don't get the pitches, I would expect the pitches from the list where length-to-rest is applied to??

    Can someone please chime in?

     

    Thanks!

     

    Quote
    
    (setf longer '((-3e_3q_3e_3e 3q eb5 -3e e gs5 3e c6 mf 3h gs6 p e gs5 mp -3q_3q_3e) 
    (-3e_3e_3e_3e_3e 3q eb5 3e a5 - eb5 mf 3he e6 e a5 mp -3q_3e_e) 
    (-3e_3e_3e_3q 3q a5 3e eb5 3h bb5 3e bb6 p 3q a5 3e eb5 mp 3q bb5 -3q_3q_3e_3e)))
    
    (setf l2r (length-to-rest '3q_3q longer :type 'under ))
    
    (ps 'vep
        :p1 (list longer)
        :vib (list l2r))

     

     

    Bildschirmfoto 2020-12-19 um 20.47.00.jpg

  9. Hi,

    I'am having hard times to understand length-to-rest:


     

    (setf one '(-q e f5 mp 3q b5 mp 3e f6 mp 3e g5 p 3wq. gs5eb6 p))

    (setf two (length-to-rest 'q one :type 'under))

    ==>(-q -e -3q -3e - 3wq. f5 mp)

    

    ;;simplified example works as expected

    (setf three '(q f4 3q b4 a4 b4 e d4 3wq gb5eb5))

    (setf four (length-to-rest 'q three :type 'under))

    ==>(q f4 -3q - - -e 3wq gb5eb5)

     

    what am I missing?

     

    thanks for help!

  10. Hi all,

     

    I would like to continue with the 'Zoom into OM' sessions and would like to ask if there are other people who are also interested and are willing to pay for it? If we get minimum 6 participants together and everybody is paying 10€ per session we can ask Stéphane to continue.

    To have a little planning certainty, I thought about that everybody is paying 50€ so we can have a serie of 5 sessions (and then make a new collection/appointment)..

    And I think we can have  sessions on topics that the participants are suggesting..

    If that sounds convincing to you, please send me a PM with your name and emailadress and I will start to organise it..

     

    Thanks and all the best!

     

    ole

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy