Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "OlaOutput Build Instructions"

From wiki.openlighting.org

Jump to: navigation, search
Line 20: Line 20:
  
 
<pre>
 
<pre>
simon:~/Downloads/MaxSDK-6.1.4 $ ls -l
+
simon:~/Downloads/max-sdk-7.0.3 $ ls -l
total 8640
+
total 12016
-rw-r--r--@  1 simonn 5000       516 Oct 21  2013 MaxAPI-6.1.4.html
+
-rwxr-xr-x@  1 simon 5000     516 Apr 30 05:38 MaxAPI-7.0.3.html
-rw-r--r--@  1 simonn 5000   4419158 Oct 21 2013 MaxAPI-6.1.4.pdf
+
-rwxr-xr-x@  1 simon 5000  6137127 Apr 30 05:38 MaxAPI-7.0.3.pdf
drwxr-xr-x@  5 simonn 5000       170 Oct 21 2013 c74support
+
-rwxr-xr-x@  1 simon 5000     265 Apr 30 05:38 README.md
drwxr-xr-x@ 14 simonn 5000       476 Oct 25  2013 examples
+
drwxr-xr-x@ 105 simon 5000    3570 Apr 30 05:38 help
drwxr-xr-x@ 398 simonn 5000     13532 Oct 21 2013 html
+
drwxr-xr-x@ 831 simon 5000   28254 Apr 30 05:38 html
drwxr-xr-x    8 simonn wheel     272 May  1 22:04 olaoutput
+
drwxr-xr-x   3 simon 5000     102 May 1 22:37 max_build
 +
drwxr-xr-x    9 simon 5000     306 May  1 22:36 olaoutput
 +
-rwxr-xr-x@  1 simon  5000      214 Apr 30 05:38 package-info.json
 +
drwxr-xr-x@  15 simon  5000      510 Apr 30 05:38 source
 
</pre>  
 
</pre>  
  
Line 36: Line 39:
 
[[File:Olaoutput-xcode1.png|thumb|center]]
 
[[File:Olaoutput-xcode1.png|thumb|center]]
  
Note that XCode can't find commonsyms.c or libprotobuf.8.dylib. Click on commonsyms.c on the left, then in the right panel click on the folder icon and navigate to c74support/max-includes/common/commonsyms.c .
+
Note that XCode can't find commonsyms.c or libprotobuf.8.dylib. Click on commonsyms.c on the left, then in the right panel click on the folder icon and navigate to source/c74support/max-includes/common/commonsyms.c .
  
 
For libprotobuf.8.dylib, it's a similar story, click on the folder icon and then select /opt/local/lib/libprotobuf.9.dylib. If you didn't use MacPorts to install OLA, the protobuf library may be in a different location.
 
For libprotobuf.8.dylib, it's a similar story, click on the folder icon and then select /opt/local/lib/libprotobuf.9.dylib. If you didn't use MacPorts to install OLA, the protobuf library may be in a different location.
 +
 +
Next you'll need to fix the C74SUPPORT path. Click on the 'olaoutput project' in the left pane, then choose 'Build Settings'. Set C74SUPPORT to the correct path (see screenshot).
 +
 +
[[File:Olaoutput-xcode2.png|thumb|center]]
 +
 +
Finally change the dropdown in the center pane from 'max-external' to olaoutput. Then under build settings remove i386 from the list of Valid Architectures.
 +
 +
[[File:Olaoutput-xcode3.png|thumb|center]]
 +
 +
At this point the build should succeed.  The .mxo file will be in the max_build directory under the MAX SDK directory.
 +
 +
 +
== Extra Info ==
 +
 +
The plugin will only work on machines where the OLA libraries are installed in the same paths. This means you can build a plugin on a machine where OLA was installed from a tarball and then expect it to work on a machine where OLA was installed using MacPorts.
 +
 +
If you want to build a 386 (32-bit) version, you'll need to build all the MacPorts software with i386 support. See the [https://guide.macports.org/chunked/internals.configuration-files.html build_arch] variable.

Revision as of 07:55, 1 May 2015

This describes how to build a 64bit version of the OlaOutput MAX/MSP plugin. Building a 32bit plugin is left as an exercise for the reader.

Download the Max SDK

Download the MAX/MSP SDK from https://cycling74.com/downloads/sdk/. Extract the zip file.

Install XCode

Download XCode

Install OLA

Follow the instructions for installing OLA. The easiest way is to install using MacPorts, which will install into the /opt/local path.

Clone the OlaOutput Git Repo

Clone the git repo.

Move the olaoutput directory under the Max SDK directory from the zip file. It should now look something like:

simon:~/Downloads/max-sdk-7.0.3 $ ls -l
total 12016
-rwxr-xr-x@   1 simon  5000      516 Apr 30 05:38 MaxAPI-7.0.3.html
-rwxr-xr-x@   1 simon  5000  6137127 Apr 30 05:38 MaxAPI-7.0.3.pdf
-rwxr-xr-x@   1 simon  5000      265 Apr 30 05:38 README.md
drwxr-xr-x@ 105 simon  5000     3570 Apr 30 05:38 help
drwxr-xr-x@ 831 simon  5000    28254 Apr 30 05:38 html
drwxr-xr-x    3 simon  5000      102 May  1 22:37 max_build
drwxr-xr-x    9 simon  5000      306 May  1 22:36 olaoutput
-rwxr-xr-x@   1 simon  5000      214 Apr 30 05:38 package-info.json
drwxr-xr-x@  15 simon  5000      510 Apr 30 05:38 source

Build

Start XCode and open the olaoutput/olaoutput/olaoutput.xcodeproj file. You should see something like the screenshot below.

Olaoutput-xcode1.png

Note that XCode can't find commonsyms.c or libprotobuf.8.dylib. Click on commonsyms.c on the left, then in the right panel click on the folder icon and navigate to source/c74support/max-includes/common/commonsyms.c .

For libprotobuf.8.dylib, it's a similar story, click on the folder icon and then select /opt/local/lib/libprotobuf.9.dylib. If you didn't use MacPorts to install OLA, the protobuf library may be in a different location.

Next you'll need to fix the C74SUPPORT path. Click on the 'olaoutput project' in the left pane, then choose 'Build Settings'. Set C74SUPPORT to the correct path (see screenshot).

Olaoutput-xcode2.png

Finally change the dropdown in the center pane from 'max-external' to olaoutput. Then under build settings remove i386 from the list of Valid Architectures.

Olaoutput-xcode3.png

At this point the build should succeed. The .mxo file will be in the max_build directory under the MAX SDK directory.


Extra Info

The plugin will only work on machines where the OLA libraries are installed in the same paths. This means you can build a plugin on a machine where OLA was installed from a tarball and then expect it to work on a machine where OLA was installed using MacPorts.

If you want to build a 386 (32-bit) version, you'll need to build all the MacPorts software with i386 support. See the build_arch variable.