Jump to content


  • Content Count

  • Joined

  • Last visited

1 Follower

About Rangarajan

  • Rank
    Senior Member

Contact Methods

Profile Information

  • Gender
  • Location
    Chennai, India

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Dear Janusz, Thanks a lot for your answers! Regards, Rangarajan
  2. Janusz, While I am waiting for your reply to my earlier queries, I want to ask one more doubt. The "osc-thread" function takes a finite list of data to be transmitted to the receiving controller. What if I want to send data continuously in a loop (like - forever)? Regards, Rangarajan
  3. Likewise, I would also like to know the meaning of the first argument to "gen-osc-data". The documentation uses the term "span", but I don't understand it fully. Sorry if I am giving too much trouble! Regards, Rangarajan
  4. Great! The example works now. Thanks for the help Janusz. I am trying to understand the finer details of this. 1) The third argument to "osc-thread" is a list of lists with two elements <controller-value, time>. What is the time unit assumed here? For example if a list element is '(0.5 1/2), what does "1/2" in this indicate? Is it 1/2 second, or something else? 2) Suppose the third argument to this function has 5 elements like this: '((a b) (c d) (e f) (g h) (I j)), what happens to the thread after it sends the last pair to the controller device? Does it get destroyed by itself? 3) Is there a way to check the status of any of these threads at any time after they have started? 4) Is there a way to destroy a thread and release its resource back to the runtime? Is that what (stop-osc-thread...) does? 5) Is it possible to re-start/re-use a thread? Regards, Rangarajan
  5. Thanks again for the example code. To test this example, I started Reaktor 6, and loaded the "Drive.ens" as you had suggested. Then enabled "OSC Activate" under "OSC Settings". To see if any OSC message was being received, I watched the "Incoming OSC Monitor" pane. I was able to run the example after making one minor correction - the variable "seed" had to be defined first (a minor issue). Also changed the IP address to what my Reaktor displayed under "OSC Settings". When I ran the example, nothing happened, but of course, there was no error message as well. "Incoming OSC Monitor" pane in Reaktor did not display anything, indicating it did not receive any message from outside. What is supposed to happen when the example program runs? 1) "osc-thread"function takes an ID as its second argument. Can you explain how this ID is mapped to a control on Reaktor? I believe this is crucial. Don't we also have to configure this appropriately in Reaktor? 2) What does "osc-thread" really do? Does it not send the data given to it to the controller at the other end? Would it be possible for you to include any additional code that is needed to actually make Reaktor play something (need not be interesting)? Right now I don't hear anything at all, so it is difficult to understand what is going on. Since OSC is a great addition to the current release of OM, it would be nice to include detailed documentation on the correct use of the feature. Regards, Rangarajan
  6. Thanks Janusz and Stephane! Let me work through the example and understand OSC support. Regards, Rangarajan
  7. Hi, I am getting back to Opusmodus after a long time. I am excited about the support for OSC in this new release. I have two questions: 1) Normally when we use OSC to send to a destination, we use an "address" like "/a/b/c". A device that has this destination "address" is expected to receive the message and act on it. How and where do we specify that address in "osc-thread" function. Just to give an example, a couple of years ago, I had written an article on how to control Reaktor using OSC. If I want to do something similar using OM, what is the procedure? 2) There could be occasions where I want to ping the destination at regular intervals. How do I do that in OM? A detailed example will be quite useful. Regards, Rangarajan
  8. Rangarajan


  9. Congratulations to the whole Opusmodus team for the great work! - Rangarajan
  10. Hi, A few weeks ago, I wrote about the Optima Pattern Matching library. In today's post, I have given a simple example of using the library to post-process a score, after reading a MIDI file. Regards, Rangarajan
  11. Sounds nice! Thanks for sharing the code. Regards, Rangarajan
  12. I hope to share some examples of use with OM in the next few posts. -Rangarajan
  13. As part of my research into other tools that can be used along with Opusmodus, in today's post I have given a basic introduction to the Optima Lisp library for pattern matching. I hope to continue the discussion in the next couple of posts as well. I think this library will be useful if we want to do any operations in Opusmodus involving pattern matching, for example, reading a score and looking for specific patterns in it. Regards, Rangarajan
  14. Seems like an interesting idea. When should we consider/prefer such a post-processing idiom? Any suggestions? Regards, Rangarajan
  • Create New...