Jump to content
View in the app

A better way to browse. Learn more.

Opusmodus

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

AM

Members
  • Joined

  • Last visited

Posts posted by AM

  1. with send-osc-data it don't work, of course... the code before was exactly this ...

     

    #| 
    1. you need Nik Gaffney's osc package
    2. load it
    |#
    (load (merge-pathnames "osc.lisp" *load-truename*))
    #|
    3. define global variable to hold socket, ip-address and port-no
    |#
    (defparameter *out-socket* (make-socket :type :datagram))
    (defparameter *remote-host* "127.0.0.1")
    (defparameter *remote-port* 47522)
    #|
    4. define a send function
    |#
    (defun udpsend (&rest args)
      (let ((message (apply' osc::encode-message args)))
        (send-to *out-socket* message (length message)
                 :remote-host *remote-host*
                 :remote-port *remote-port*)))
    
    ;; send
    (progn
      (udpsend "/beat" "defer" 0 "duration" 1 "pattern" 12)
      (udpsend "/beat" "defer" 1 "duration" 1 "pattern" 22)
      (udpsend "/beat" "defer" 2 "duration" 1 "pattern" 22)
      (udpsend "/beat" "defer" 3 "duration" 1 "pattern" 21))

     

     

    1605830476_Bildschirmfoto2023-01-03um19_33_59.thumb.png.8ed3848ced5a550a93ad8b0efb67d09d.png

    ensembles performed several concerts with it, so it worked 🙂 

  2. thanx, that's great!!!.... there is only one problem (but you don't have to solve it for me): the port/channel-settings are deleted 🙂  so only the internal midiplayer is playing, and no other midi-destinations via preseted port/channels (in the midi-file) are possible...?

     

    (i'm working on a generative-live-scoring project (open forms) and with OPMO i can generate/simulate different generative-grammars of my "musical material" (organzied/read as/from an array). so your solution would be very practical to develop and test the "form-grammar" of the work - THANX!!)

  3. dear all,

     

    i have a basic lisp-question to FORMAT and i did not find a solution...

     

    INPUT

     

    (setf alist '((/player "12" 1.0 1.0 1.0)
                  (/player "23" 1.0 1.0 1.0)
                  (/player "12" 1.0 1.0 1.0)	
                  (/player "23" 1.0 1.0 1.0)))
    
    ;; with FORMAT to
    => /player "12" 1.0 1.0 1.0, /player "23" 1.0 1.0 1.0, /player "12" 1.0 1.0 1.0, /player "23" 1.0 1.0 1.0

     

    by FORMAT 
    => i will save it in a TXT-file on desktop (that works (with-open-file...)), but i have a format-problems with the commatas and the ()

     

    thanx for such basic-lisp-help

    andré

  4. dear all

     

    i would like to send some specific data via OSC to MAX... 

    i can send "something" to max 

     

    (defparameter max '(127.0.0.1 7500)) ;; that works

     

    SEND data to MAX

    and i would like to send the following seq to MAX by OSC 

    /player "12" 1.0 1.0 1.0
     

    but how to do it / format it in OMPO?

     

    ;; data should be "113" 1 1. 25000  => but how to "format"? -> see the MAX form
    ;; ???
    (send-osc-data (create-osc-thread "player" max) data)

     

    /player is sended but not the rest of teh sequence 

     

     

    here is a screenshot from MAX, it worked with an external library (in CCL) but i would like to do it "directly" in OPMO.

     

    image.png.2deaaa5e3b4aa625c937276a06f1acff.png

     

    in MAX, that's what i'm sending - for example - as an internal test

    image.png.d9a5ac198ef987b42441476eed65129b.png

     

     

    thanx for some help...!!

    andré

  5. Quote

    Seriously? This is a one-man operation doing a major port of the software, not only to support a new hardware architecture, but also, as part of that, to completely swap out the underlying runtime backend. Give the guy a break, his job is hard enough without entitled people badgering him to get it done yesterday and criticizing his very efforts to communicate progress (before that, the criticism was that there wasn't any communication about it). What's "really going on"? Alien abduction? Coup attempt? Let the dev do his work.

    yes! agree with you, just let the developer(s) work instead of making a .... here. janusz is doing a great job!!

     

  6. I'm testing (for fun) the M2 with opusmodus (intel, a little wobbly on silicon) - of course I still have a copy on my intel-mac, just for fun!

     

    but the combination is really good. I calculate/play something in OPUSMODUS, sending by OSC to MAX/MSP and further to ABLETON LIVE; as a heavy test, the same thing in parallel to REAPER. everything with different plugins. no jerks, no glitches. That will be really great, this combination - when OPMO officially runs on silicon!

     

    then PROCESSING can also run in parallel 😄

     

    @opmo: thx a lot for all the special functions you have coded for me/us over the last few years, very specific/individual solutions for me, my work!!

     

     

     

     

  7. Didn't you read this (the compatibility) when you made the update, bought a new computer? I always check that - always. Also with MaxMsp, Avid Sibelius, Pro Tools ...

    Bildschirmfoto 2022-10-31 um 19.59.11.png

     

     

     

    SIBELIUS

    i think AVID SIBELIUS is not yet officially ready for VENTURA either, and M1 only under the Rosetta 2 translation layer.

     

     

    WWW.SCORINGNOTES.COM

    How Sibelius, Finale, Dorico, MuseScore, and Notion are faring on Apple's Ventura operating system and Apple Silicon-powered hardware.

     

  8. an example with 2 pitches = 2 intervals, with microtonal quantification

     

    (sort-asc
     (remove-duplicates
      (pitch-melodize
       (append
        (gen-summationsakkord '(3 5) :typ 'ks :gedachter-grundton 'db0 :quant nil)
        (gen-summationsakkord '(5 7) :typ 'ks :gedachter-grundton 'db0 :quant nil)))))
    
    (sort-asc
     (remove-duplicates
      (pitch-melodize
       (append
        (gen-summationsakkord '(3 5) :typ 'gs :gedachter-grundton 'db0 :quant nil)
        (gen-summationsakkord '(5 7) :typ 'gs :gedachter-grundton 'db0 :quant nil)))))

     

     

  9. here ist some code to generate "Summationsakkorde" (CLAUS KüHNL)... have a look to the PDF...

    (from the book "Claus Kühnl: Beiträge zu einer HArmonielehre 2000" Friedrich Hofmeister Musikverlag. p.42+)

     

    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    (defun gen-summationsakkord (primaerint &key (n 10)(typ 'ks) (gedachter-grundton 'c0) (quant 1/2) (chord t))
      (let ((partial-reihe (hertz-to-pitch (harmonics gedachter-grundton 100 :type :hertz) :quantize quant))
            (partial-liste
            (remove-duplicates
              (append primaerint 
                      (list (sum primaerint))
                      (loop repeat n
                        with k-int = (sum primaerint)
                        with g-int = (sum primaerint)
                        with a = (first primaerint)
                        with b = (second primaerint)
                        
                        collect 
                        (cond ((equal typ 'ks)
                               (setf k-int (+ (car primaerint) k-int)))
                              ((equal typ 'gs)
                               (setf g-int (+ (second primaerint) g-int)))
                              ((equal typ 'fibo)
                               (shiftf a b (+ a b)))))))))
        
        (if (null chord) 
          (position-filter (x-b partial-liste 1) partial-reihe)
          (chordize (position-filter (x-b partial-liste 1) partial-reihe)))))
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    (gen-summationsakkord '(2 3) :typ 'ks :gedachter-grundton 'c2)
    (gen-summationsakkord '(2 3) :typ 'gs :gedachter-grundton 'c2)
    (gen-summationsakkord '(2 3) :typ 'fibo :gedachter-grundton 'c2)
    
    
    (gen-summationsakkord '(2 3) :typ 'ks :gedachter-grundton 'c2 :quant nil)
    
    (gen-summationsakkord '(3 4) :typ 'ks :gedachter-grundton 'f1)
    (gen-summationsakkord '(3 4) :typ 'gs :gedachter-grundton 'f1)
    (gen-summationsakkord '(3 4) :typ 'fibo :gedachter-grundton 'f1)

     

    Doc - 03.08.2022 - 20-41.pdf

     


Copyright © 2014-2026 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.