Jump to content

OM OSC Setup

Recommended Posts

So today I finally got my licence for OM, and I'm extremely happy with it!
I am really looking forward to control my OpenGL libraries and SuperCollider via OSC but I've been having some troubles trying to figure out how to set it up.
I did find the OSC folder in the "third-party" party directory inside the OM App but other than that there doesn't seem to be any documentation.
My main question is, what do I need to do in order to get OSC running? I thought I wouldn't need the OSC packages because they're already inside the App but OM doesn't recognise the "sb-bsd-sockets", or any other imports for that matter.
The supplied Readme file says I need to:


Install the current version of this code is avilable from github

    git clone https://github.com/zzkt/osc

or via asdf-install.. .

    (asdf-install:install :osc)


But the first options redirect me to the same files already inside the OM App and asdf install seems to be very out of date.
I'm guessing it's something really simple but I've never installed Lisp packages or dealt with this stuff before, so any help would be very welcome!



- Jor

Link to post
Share on other sites
  • 3 months later...

Dear Janusz, today I tried to get OSC working (I'm on 1.3 now) but I couldn't get any messages to send out of OM.
I've tried a lot of different methods, ports, receivers etc. but nothing seems to work so far, this is the basic layout I'm using:

(defparameter reaktor '( 10000))
(setf data (gen-osc-data 4 (gen-sine 40 4 1) :time '(1/2 1/4 1/12 1/12 1/12)))
(setf test1 (osc-thread reaktor "param1" data))

I do have a fair amount of experience with OSC but the OMN side of things is a bit confusing to me.
I'm also trying to understand the Reaktor OSC video which uses an osc-thread-trigger function, would I need that as well? 


On a separate note, I noticed a few inconsistencies in the OSC documentation, including a mixture of "OSC-STOP-THREADS" and "STOP-OSC-THREADS"

Also, n the osc-threads help file it gives an example:

(self thread1 (osc-thread '( 10000)
                          '((1/2 0.5) (1/4 0.3) (1/2 0.0))))

I assume "self" should be "setf" but even then the example gives me an error:

> Error: Too few arguments in call to #<Compiled-function osc-thread #x3000013E4A5F>:

Lastly, is the osc-examples.lisp file something I should look into, or is that not necessary to get this working?


Thanks very much in advance!

- Jor

Link to post
Share on other sites
  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Topics

    • By opmo
      1. Create few IAC ports in the 'Audio MIDI Setup' app:

      2. Go to your virtual instrument, load an instrument and chose the port 1:

      3. In Opusmodus composer panel type (midi-destinations) and evaluate the function:
      Note: We use the MIDI-DESTINATION function for reference only.
      The output will look something like that:
      => ((0 . "Bus 1") (1 . "Bus 2") (2 . "Bus 3") (3 . "Bus 4") (4 . "Bus 5") (5 . "Bus 6") (6 . "Bus 7") (7 . "Bus 8") (8 . "Bus 9") (9 . "Bus 10") (10 . "Bus 11") (11 . "Bus 12") (12 . "Bus 13") (13 . "Bus 14") (14 . "Bus 15") (15 . "Bus 16") (16 . "Session 1") (17 . "Keyboard") (18 . "MIDI OUT") (19 . "UM-ONE") (20 . "Kontakt 5 Virtual Input”))  
      4. In the DEF-SCORE in the instrument section add the same port you have assigned to the Virtual Instrument.
      Note: Opusmodus port numbers are 0-based.
      (def-score goldberg-var7 (:key-signature '(g major) :time-signature '(6 8) :tempo '("al tempo di Giga" e 155) :layout (piano-solo-layout 'rh 'lh)) (rh :omn rh :port 0 :channel 1 :sound 'gm :program 0) (lh :omn lh))  
      Or, you could use the port name if you prefer:
      (rh :omn rh :port "Bus 1" :channel 1 :sound 'gm :program 0)
  • Create New...