Changes between Initial Version and Version 1 of IngenArchitecture

Sep 15, 2008, 1:39:29 PM (13 years ago)
David Robillard



  • IngenArchitecture

    v1 v1  
     1This page is a "big picture" description of how Ingen (or "The Ingen System", maybe?) is designed.  Read this if you want to do anything beyond simply using a single Ingen GUI instance.
     3== Client/Server System ==
     5Ingen itself is (or can be, at least) an independent process with no user interface to speak of. All controlling of the engine is done via [OSC] - creating a patch, loading a plugin, connecting two ports, etc.
     6Clients connect to the engine and can "register" to receive notification from the engine (again via OSC) of when things change.
     8The key idea here is that many clients can connect to the engine at one time (even from multiple machines - collaborative modular synthesis!). Clients can come and go as they please, keep up to date with the engine status, etc. etc.
     10Having no clients connected at all is perfectly okay (for situations like running on a headless machine for live performance, etc.)
     13== Patch Files ==
     15Patches are loaded on the client side. In other words the engine doesn't know anything about patch files at all. (This was done so the engine can be used as an audio system in other applications that don't care about the particular file format the included clients use, scripting, etc).  From the engine's perspective there is no different between a user building a patch manually and loading a patch (except of course that it happens a ''lot'' faster).
     17There is a command-line patch loading client included called `ingen_load`. This will load a patch into the engine and exit - useful for headless setups (or if you're just a console junky).  You can use `ingen_load` to load a patch file while the GTK client is running, and the patch will show up in the GTK client just as if you loaded from within; there is no difference.
     20== More ==
     22Ask about anything you would like explained here and I will add it.