SCPlug

NPAPI based browser plugin.

The idea is to control scsynth (internal server) via javascript or even a language compiling to javascript, such as ocaml. existing and emerging web technologies may provide interesting applications for lightweight algorithmic sound generation.

We’re currently working on a port to the cross-platform Qt browser plugin API.

Issues

  • callbacks currently the JS interpreter is not thread safe, incoming OSC packets must be polled from a timer
  • security ugens accessing the system (disk) should be disabled in a browser plugin
  • urls /b_allocRead, /b_read and /d_load could be changed to load from urls instead of the disk (use NPAPI)
  • packaging
    • plugins and other resources should be private to the browser plugin
    • cross platform/browser installer anyone?

Scripting interface

  • params
    • numBuffers : 1024
    • maxNodes : 1024
    • maxGraphDefs : 1024
    • maxWireBufs : 64
    • numAudioBusChannels : 128
    • numControlBusChannels : 4096
    • numInputBusChannels : 8
    • numOutputBusChannels : 8
    • bufLength : 64
    • realTimeMemorySize : 8192
    • numSharedControls : 0
    • preferredSampleRate : 0
    • preferredHardwareBufferFrameSize : 0
    • numRGens : 64
    • loadGraphDefs : true | false
    • dumpOSC : 0 | 1 | 2 | 3
  • attributes
    • length : get number of shared controls
  • methods
    • sendMsg(command ... args) : null : send OSC message
    • sendBundle(timetag ... messages) : null : send OSC bundle
    • nextMsg() : null | Array : get next response from server
    • time() : Number : get current OSC time
    • [](index) : null | Number : get shared control
    • []=(index, value) : null : set shared control

Documentation

Source code

Links to other engines

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>