root/juggler/trunk/INSTALL.html

Revision 20929, 49.4 kB (checked in by patrick, 8 months ago)

Without SPROC support, there is no way to use AudioWorks?. Beyond that,
AudioWorks? seems to have disappeared long ago.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <html><head>
2       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3    <title>Building and Installing the Juggler Project (Version 2.3)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1"></a>Building and Installing the Juggler Project (Version 2.3)</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="othername">The Juggler Team</span></h3></div></div></div><div><p class="pubdate">$Date$</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e15">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e32">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e116">Important Note for Windows Users</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e124">Build Tools</a></span></dt><dt><span class="section"><a href="#source.code.section">Getting the Source Code and the Dependencies</a></span></dt><dd><dl><dt><span class="section"><a href="#section.cvs.access">How to Get the Juggler Suite from Subversion</a></span></dt><dt><span class="section"><a href="#d0e250">Downloading Third-Party Dependencies</a></span></dt></dl></dd><dt><span class="section"><a href="#compile.section">Compiling</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e332">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e343">Compiling the Juggler Suite of Tools</a></span></dt><dt><span class="section"><a href="#compile.individual.section">Tips for Compiling Individual Tools in the Juggler
4          Suite</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e15"></a>Introduction</h2></div></div></div><p>You have downloaded the source code for Version 2.3 of the Juggler
5       Project. This is the code that will become VR Juggler 3.0, and it is the
6       code that is used to create the VR Juggler 3.0 pre-releases. Please be
7       aware that this code represents a work in progress, and if you acquired
8       it directly from Subversion rather than using a pre-packaged source code
9       snapshot, the code may have bugs affecting compilation and
10       execution.</p><p>This document explains how to build the modules of the Juggler
11       Project from the source code. We begin by explaining some issues related
12       to specific operating systems. We then explain how to get the source
13       code from our Subversion repository. (Those users who downloaded a
14       pre-packaged source release can skip ahead to <a class="xref" href="#using.configure.pl" title="Using configure.pl">the section called &#8220;Using <span class="command"><strong>configure.pl</strong></span>&#8221;</a>). We conclude with instructions on how
15       to build VR Juggler and its individual components.</p><p>Before reading further, we recommend that readers take a look at
16       the Wiki page relating to building from source (<a class="ulink" href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn</a>).
17       It is a <span class="emphasis"><em>supplement</em></span> to this document containing tips
18       and reminders for those users building the SVN version of VR Juggler. It
19       is not a replacement for this document, nor can it stand on its own as
20       build instructions. You are reading the definitive build instructions;
21       the Wiki page merely provides informal, extra information.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e32"></a>Important Notes for IRIX Users</h3></div></div></div><p>Despite our best efforts, there are some issues related to
22          compiling the Juggler Project on IRIX. We introduce them in this
23          section and explain how to work around them.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e37"></a>Perl Version</h4></div></div></div><p>There are many Perl scripts used as part of getting,
24             configuring, and building the Juggler Suite of tools. In
25             particular, two scripts required for compiling need Perl 5.005 or
26             newer. The version of Perl that ships with IRIX 6.5 is very old
27             (circa 1997) and does not work with many Perl scripts we have
28             written. SGI provides a much newer version of Perl (5.6.1) with
29             their freeware tools (<a class="ulink" href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>).
30             It will be necessary to install that version for our scripts to
31             work. This version is typically installed as
32             <code class="filename">/usr/freeware/bin/perl</code>.</p><p>Once you have a modern Perl installed, you can run various
33             Perl scripts as follows:</p><pre class="screen">/usr/freeware/bin/perl &lt;script-name&gt;</pre><p>The above will be required any time a Perl script fails with
34             an error similar to the following:</p><pre class="screen">Perl 5.005 required--this is only version 5.00404, stopped at ./configure.pl line 35.
35 BEGIN failed--compilation aborted at ./configure.pl line 35.</pre><p>Furthermore, it is highly recommended that the
36             <code class="option">--with-perl</code> argument be passed to
37             <span class="command"><strong>configure.pl</strong></span>. This argument gives all the
38             Autoconf-based configure scripts a hint about where the preferred
39             version of Perl lives. If using
40             <code class="filename">/usr/freeware/bin/perl</code> to run
41             <span class="command"><strong>configure.pl</strong></span>, we recommend that the
42             <span class="command"><strong>configure.pl</strong></span> command line appear similar to the
43             following:</p><pre class="screen">/usr/freeware/bin/perl configure.pl --with-perl=/usr/freeware/bin</pre><p>Note that the value given to <code class="option">--with-perl</code> is
44             the <span class="emphasis"><em>directory</em></span> where the
45             <span class="command"><strong>perl</strong></span> executable can be found. The configure
46             scripts will add this directory to the front of the search path
47             when trying to find a suitable <span class="command"><strong>perl</strong></span> executable.
48             Once it is found, all the Perl scripts used for configuration,
49             compilation, and installation will use that executable.</p><p>To simplify command execution somewhat, it can help to have
50             <code class="filename">/usr/freeware/bin</code> (or whatever path is
51             appropriate) in your path before <code class="filename">/bin</code> or
52             <code class="filename">/usr/bin</code> or any of the other myriad
53             directories where Perl might exist on IRIX. In such a situation,
54             none of the above extra steps should be necessary. The correct
55             version of Perl will be found simply by virtue of it being early
56             in your path.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e100"></a>MIPSpro Compiler Version</h4></div></div></div><p>Reports have been made on the VR Juggler mailing list
57             regarding compile failures (including segmentation faults within
58             the compiler) occur when using the MIPSpro Compilers Version
59             7.3.1.1m. We have found upgrading to Version 7.3.1.3m (or newer)
60             fixes the problems.</p><p>A new feature of VR Juggler 1.1 and newer is support for GCC
61             on IRIX. Users who do not have MIPSpro or cannot upgrade can
62             compile and run VR Juggler (without OpenGL Performer support)
63             using the version of GCC distributed by SGI. It can be downloaded
64             from <a class="ulink" href="http://freeware.sgi.com/index-by-alpha.html" target="_top">http://freeware.sgi.com/index-by-alpha.html</a>
65             for free. When configuring the source with
66             <span class="command"><strong>configure.pl</strong></span> (described later), use the option
67             <code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e116"></a>Important Note for Windows Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not
68          supported by Visual Studio 6.0. Microsoft <a class="ulink" href="http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q243/4/51.asp&amp;NoWebContent=1" target="_top">acknowledges</a>
69          the issues concerning noncompliance to the C++ Standard with Visual
70          Studio 6.0, and it appears that they have no plans to fix these
71          problems. Therefore, we require the use of Visual Studio 7.1 (.NET
72          2003) or newer to compile the source code.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e124"></a>Build Tools</h2></div></div></div><p>When building on non-Windows platforms, the GNU Autotools are
73       required. This means that, in addition to a C++ compiler (e.g., GCC),
74       the following packages must be installed in order to compile VR
75       Juggler:</p><div class="itemizedlist"><ul type="disc"><li><p>GNU Make 3.79 or newer</p></li><li><p>GNU Autoconf 2.53 or newer</p></li><li><p>GNU Automake 1.8 or newer</p></li></ul></div><p>Additionally, VR Juggler 2.1 and beyond require the <a class="ulink" href="https://realityforge.vrsource.org/view/FlagPoll/" target="_top">Flagpoll</a>
76       software tool. As of this writing, the minimum required version is
77       0.8.1. It is recommended that all of these tools be installed in either
78       the <code class="filename">/usr</code> or the <code class="filename">/usr/local</code>
79       directory trees so that search paths do not have to be extended.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="source.code.section"></a>Getting the Source Code and the Dependencies</h2></div></div></div><p>In this section, we explain how to get the Juggler Project source
80       code and the dependencies required to build Juggler. There are two ways
81       to get the source code: from a pre-packaged source release archive or
82       from the Subversion repository on RealityForge. If you got the code from
83       a pre-packaged source archive, that code is a complete
84       &#8220;<span class="quote">snapshot</span>&#8221; of the Subversion repository at the time of
85       release. It contains all dependencies that would otherwise have been
86       acquired using Subversion. It <span class="emphasis"><em>does not</em></span> contain
87       binary dependencies that must be downloaded separately (such as NSPR,
88       the Java Developer Kit, a C++ compiler, etc.).</p><p>The current list of <span class="emphasis"><em>required</em></span> software
89       packages is as follows:</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM (<a class="ulink" href="http://www.sourceforge.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>):
90             A lightweight, easy-to-use XML parser written in C++. CppDOM must
91             be compiled and installed for use with VR Juggler.</p></li><li><p>Boost (<a class="ulink" href="http://www.boost.org/" target="_top">http://www.boost.org/</a>): A C++
92             library providing many powerful utility classes and libraries.
93             Boost must be compiled and installed for use with VR
94             Juggler.</p></li><li><p>GMTL (<a class="ulink" href="http://ggt.sourceforge.net/" target="_top">http://ggt.sf.net/</a>): A
95             generic math library that makes use of C++ templates and STL
96             paradigms. GMTL must be installed for use with VR Juggler.</p></li></ul></div><p>The following lists <span class="emphasis"><em>semi-optional</em></span>
97       packages:</p><div class="itemizedlist"><ul type="disc"><li><p>NSPR (<a class="ulink" href="http://www.mozilla.org/projects/nspr/" target="_top">http://www.mozilla.org/projects/nspr/</a>):
98             The Netscape Portable Runtime, which can be used by VPR for
99             threading and sockets (required on Win32 and Solaris).</p></li><li><p>Java Developer Kit (<a class="ulink" href="http://java.sun.com/" target="_top">http://java.sun.com/</a>): The J2SE
100             SDK (or JDK) is used to compile all the Java code used in the
101             Juggler Project. Without it, none of the Java code can be built.
102             We require version 1.4 or newer. The Java Standard Edition (J2SE)
103             can be downloaded from <a class="ulink" href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.</p></li><li><p>omniORB (<a class="ulink" href="http://www.jdom.org/" target="_top">http://omniorb.sourceforge.net/</a>):
104             A C++ implementation of CORBA 2.3, required for the Tweek C++
105             API.</p></li><li><p>Doozer (<a class="ulink" href="http://sourceforge.net/projects/doozer" target="_top">http://sourceforge.net/projects/doozer</a>):
106             A collection of makefile stubs written for use with GNU Make and
107             intended for simplifying the creation of cross-platform VR Juggler
108             application builds. Version 2.1.4 or newer is needed for building
109             VR Juggler sample applications.</p></li></ul></div><p>The following are fully optional packages that are primarily of
110       interest only to people doing development on the Juggler Suite
111       itself:</p><div class="itemizedlist"><ul type="disc"><li><p>JUnit (<a class="ulink" href="http://www.junit.org/" target="_top">http://www.junit.org/</a>): A unit
112             testing framework for Java.</p></li><li><p>CppUnit (<a class="ulink" href="http://cppunit.sourceforge.net/" target="_top">http://cppunit.sourceforge.net/</a>):
113             A unit testing framework for C++. The Juggler C++ test suties make
114             use of extensions to CppUnit. An extended version of the CppUnit
115             source that includes these extensions can be acquired from the
116             Juggler Subversion repository in the module
117             <code class="literal">cppunit</code>. Refer to <a class="xref" href="#section.cvs.access" title="How to Get the Juggler Suite from Subversion">the section called &#8220;How to Get the Juggler Suite from Subversion&#8221;</a> for instructions about accessing
118             the Juggler Subversion repository.</p></li></ul></div><p>The third-party dependencies must be downloaded from the sites
119       listed above and installed manually. You may also have to compile one or
120       more of the packages if binary distributions are not available. Which
121       packages you download depends on what you already have installed. Note
122       carefully which packages are needed based on the software you have
123       installed and what versions of tools (such as the JDK) that you
124       download.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.cvs.access"></a>How to Get the Juggler Suite from Subversion</h3></div></div></div><p>You can optionally get the Juggler Project as a source code
125          tarball from the website (<a class="ulink" href="http://www.vrjuggler.org/" target="_top">http://www.vrjuggler.org/</a>) or
126          you can execute the following command from a shell to get the code
127          from our Subversion repository:</p><pre class="screen">svn co https://realityforge.vrsource.org/svn/vrjuggler/juggler/trunk juggler
128 </pre></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e250"></a>Downloading Third-Party Dependencies</h3></div></div></div><p>In addition to source the dependencies acquired through
129          Subversion, there are some third-party dependencies that must be
130          installed separately. Remember that no Java code in VR Juggler can be
131          used without the JDK and a working Java version of CORBA.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e255"></a>Boost</h4></div></div></div><p>The minimum required version of Boost, as of this writing,
132             is 1.31.0. The Boost source can be downloaded from <a class="ulink" href="http://www.sf.net/projects/boost/" target="_top">http://www.sf.net/projects/boost/</a>.
133             To compile and install Boost, refer to its installation
134             documentation (<a class="ulink" href="http://www.boost.org/more/getting_started.html#Build_Install" target="_top">http://www.boost.org/more/getting_started.html#Build_Install</a>).
135             Note that you need the command <span class="command"><strong>bjam</strong></span> (referred
136             to as &#8220;<span class="quote">boost-jam</span>&#8221; on the Boost download page) to
137             build Boost.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Mac OS X users should compile the Boost libraries using
138                the &#8220;<span class="quote">darwin</span>&#8221; toolset.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e278"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.6.5 or newer. The source
139             and binary distributions for some platforms can be downloaded from
140             <a class="ulink" href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>.
141             If a binary version is not available for your operating system you
142             must compile and install CppDOM yourself. Note that you need SCons
143             (<a class="ulink" href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
144             to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e289"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.4.12
145             or newer. The source distribution can be downloaded from <a class="ulink" href="http://www.sf.net/projects/ggt/" target="_top">http://www.sf.net/projects/ggt/</a>.
146             Note that you need SCons (<a class="ulink" href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
147             to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e300"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR
148             for operating system primitives. On some platforms (IRIX, FreeBSD,
149             Linux, Mac OS X), the use of NSPR is strictly optional. On others
150             (Win32, HP-UX, and Solaris), it is required. Based on your local
151             system, you should decide whether you need NSPR. Binary versions
152             of NSPR can be downloaded from <a class="ulink" href="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases" target="_top">ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases</a>.
153             At this time, we recommend the use of version 4.2 or newer.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e308"></a>Java Developer Kit (also called the J2SE SDK)</h4></div></div></div><p>We make use of the Java programming language in addition to
154             C++. Java is used exclusively for GUIs such as Tweek and VRJConfig
155             (which is a JavaBean that is loaded into Tweek). To compile the
156             Java code, a JDK is necessary. We currently require version 1.4 or
157             newer. The Java Standard Edition can be downloaded from <a class="ulink" href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.
158             More information can be found at <a class="ulink" href="http://java.sun.com/" target="_top">http://java.sun.com/</a>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e319"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required
159             in order to compile the Tweek C++ API. At this time, the Tweek C++
160             API is not required for VR Juggler, but this situation will change
161             in the near future. At this time, we primarily use omniORB 4.0.x;
162             omniORB 3.0 is not supported. omniORB can be downloaded from
163             <a class="ulink" href="http://omniorb.sourceforge.net/" target="_top">http://omniorb.sourceforge.net/</a>.</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compile.section"></a>Compiling</h2></div></div></div><p>In this section, we describe how to compile the Juggler Project.
164       We focus on VR Juggler as a whole, but information about some of the
165       individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e332"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It
166          may not be stable, and it may not even compile. Compiling VR Juggler
167          itself can be a little complicated for anyone who does not have some
168          background in using Subversion, Autoconf, C++, and
169          <span class="command"><strong>make</strong></span> or Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e343"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of
170          the tools that make up VR Juggler. Each tool compiles to its own
171          library and can be installed individually. (Refer to the
172          <code class="filename">README</code> file in this directory for more
173          information about the specific modules.)</p><p>To build VR Juggler on Windows, you must use the Visual Studio
174          solution. After getting the dependencies needed to compile VR Juggler
175          (see the next section), refer to the <a class="ulink" href="README-WINDOWS.html" target="_top">README-WINDOWS.html</a> file located in
176          this directory. Do not bother to the rest of this document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e356"></a>Per-Module Dependencies</h4></div></div></div><p>Here, we provide per-module dependency information. Given
177             that the dependencies for any single module are met, the modules
178             may be reused effectively outside the scope of immersive VR
179             application development. Below, we list the
180             <span class="emphasis"><em>minimum</em></span> required version for each dependency,
181             and where appropriate, we note which dependencies are
182             optional.</p><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e364"></a>VPR</h5></div></div></div><p>VPR provides a cross-platform, object-oriented operating
183                system abstraction. It is the foundation for all other Juggler
184                modules.</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM 0.6.6</p></li><li><p>Boost headers and Boost.Filesystem 1.31.0</p></li><li><p>NSPR (Windows, Solaris, and HP-UX only) 4.4</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e379"></a>Tweek C++ API</h5></div></div></div><p>Tweek implements a distributed model/view/controller
185                system on top of CORBA. The Tweek C++ API provides the C++
186                component of that system. Code written on top of the Tweek C++
187                API normally acts as the model piece of the distributed
188                model/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>omniORB 4.0</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e391"></a>Tweek Java API</h5></div></div></div><p>Tweek implements a distributed model/view/controller
189                system on top of CORBA. The Tweek Java API provides the Java
190                component of that system. The main part of the Tweek Java API
191                is the Tweek JavaBean Loader, a GUI application that loads
192                Tweek Beans that normally function as the view and controller
193                pieces of the distributed module/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>J2SE SDK 1.4</p></li><li><p>JDOM (included with Juggler source)</p></li><li><p>Ant (included with Juggler source)</p></li><li><p>JacORB IDL-to-Java compiler (included with Juggler
194                      source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e409"></a>Tweek Python API</h5></div></div></div><p>Tweek implements a distributed model/view/controller
195                system on top of CORBA. The Tweek Python API provides the
196                Python component of that system. The main part of the Tweek
197                Java API is the <span class="emphasis"><em>unfinished</em></span> TweekQt GUI, an
198                application that loads Python modules that normally function as
199                the view and controller pieces of the distributed
200                module/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>Python 2.3</p></li><li><p>omniORBpy 2.0</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e424"></a>JCCL C++ API</h5></div></div></div><p>The JCCL C++ API provides an interface for loading
201                XML-based configurations. It includes the run-time
202                reconfiguration feature of Juggler.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e433"></a>JCCL Java API</h5></div></div></div><p>The JCCL Java API provides a programming interface for
203                editing Juggler configuration files and config definition files
204                as well as JavaBeans for editing these files using a graphical
205                interface.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li><li><p>TableLayout package (included with Juggler
206                      source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e445"></a>JCCL Remote Run-Time Reconfiguration Plug-in
207                (C++)</h5></div></div></div><p>The C++ JCCL Remote Run-Time Reconfiguration Plug-in is
208                an optional extension to the JCCL Config Manager for allowing
209                remote manipulation of a Juggler configuration at run time
210                based on Tweek.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek C++ API</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e454"></a>JCCL Remote Run-Time Reconfiguration Plug-in
211                (Java)</h5></div></div></div><p>The Java JCCL Remote Run-Time Reconfiguration Plug-in is
212                an optional extension that provides the features needed for a
213                Java-based editor to communicate with the C++ Remote Run-Time
214                Reconfiguration Plug-in to edit Juggler configurations
215                live.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e463"></a>Sonix</h5></div></div></div><p>Sonix is an abstraction layer for positional sound
216                software. Sonix itself cannot play audio, but it includes
217                plug-ins based on popular interfaces for playing audio. Each
218                plug-in depends on a specific audio software library.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>GMTL 0.4.12</p></li></ul></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e475"></a>Sonix OpenAL Plug-in</h6></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Sonix</p></li><li><p>OpenAL</p></li><li><p>Free ALUT</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e