Jump to content

Implementing a JUCE sequencer into Houdini

Recommended Posts

Good day everyone,

for our current project (in the scale of 7 people, 4 months), we are trying to implement a sequencer into Houdini that was built with the audio-programming tool called JUCE (https://juce.com/). Essentially, this is just a library to create audio tools in C++ through a graphical interface.

Now currently, my audio programming colleague built a sequencer for our project that allows us to accumulatingly, randomly assign sounds from a library to the slots in the sequencer which then get played back.

The goal of this implementation is to tell the sequencer which objects of my simulation are currently in frame and then feed this list of objects to the sequencer. The sequencer then builds a structure of playback and outputs which objects get triggered when in order to play their animation. Ideally, I will use the HDK to implement this code (while linking the custom libraries of JUCE) and have this run as a plugin inside Houdini.

I do have a somewhat of a background in programming (but not with C++) and a long history with Houdini, but this undertaking exceeds my capabilities.
What I am looking for is advice on where to even get started in tackling such an implementation or plugin building in general. (And if this undertaking is even doable.)
Unfortunately the HDK documentation is already a little too advanced for me and I couldn't find a way into the subject matter.

I would be very grateful for any help.


Share this post

Link to post
Share on other sites

What are the advantages of implementing it as Houdini plugin? Is it really necessary? My thinking is that Houdini won't play, in general, simulation (even cached) in realtime[1]. Wouldn't be more elegant to create a play list for the sequencer as a post simulation process in Houdini and pass it to the sequencer via file? There are probably a dozen of different ways of accomplish this. The easiest one doesn't even require C++ nor Python. Just select objects visible in camera's frustrum at time x and save that list to a cvs file with corresponding timing. 

In case that's not an option, CHOPs are nice place to pass sequence of events to different places. Making custom OBJ level object alike. SOPs can do that also with nice advantage of taking result of 'pruning' procedure as input. You would have to provide more information though. 

[1] - Houdini isn't realtime application and it has full civil right to snap a few miliseconds for an unknown reason from time to time... (its cousin Touch Designer is realtime application though and can read almebics - a hint!). 

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now