Skip to content

Instantly share code, notes, and snippets.

@rlm
Created September 8, 2011 06:33
Show Gist options
  • Save rlm/1202779 to your computer and use it in GitHub Desktop.
Save rlm/1202779 to your computer and use it in GitHub Desktop.
// Special device which allows simulation of multiple listeners
// hearing the same set of sources. Provides access to the rendered
// data for each listener. Designed to work with LWJGL.
// first, the mainContext is the only context that is controlled by
// LWJGL.
// One context will be created for each listener that we want.
// Then, at the start of each render loop, we will iterate through all
// the active sources in our mainContext (the one which is controlled
// through LWJGL), and take their sourceIDs. For each of these IDs
// and for each other context, we'll check some internal structure to
// see if we've already created a corresponding source. If that
// source exits, we will SYNCH it with the source which belongs to the
// mainContext. If it DOESN'T exist, we will CLONE the source from the
// main context and establish it in the other context.
// Each render loop consists of noting all of the active sources in
// the mainContext and storing their IDs. Then, for each context,
// the correspondig sources to the active sources in the mainContext
// will be set to PLAY, and all sources in all other contexts will be
// set to PAUSE. aluMixData will be called for each context in this
// way.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment