Skip to content
Snippets Groups Projects

VAMatlab

VAMatlab is a binding to the VA interface for Matlab. It uses the VA network connection to forward commands and receive information to a VA server, usually the VAServer application.

License

Copyright 2015-2017 Institute of Technical Acoustics (ITA), RWTH Aachen University

Licensed under the Apache License, Version 2.0 (the "License"); you may not use files of this project except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Quick build guide

Visual Studio

It is recommended to clone and follow the build guide of the parent project VA, which includes this project as a submodule. Generate VA with the Matlab binding flag activated. It will generate the Matlab executable. You will then have to generate the itaVA Matlab facade class, see below.

Matlab executable

Open Matlab and run the script VAMatlabExecutable_build.m. It will create the VAMatlab Matlab executable, for win23-x64 the binding will have the name VAMatlab.mexw64. There is a switch that can link the VACore into the Matlab executable, hence no external VA server application is required. To activate this, the preprocessor flag VAMATLAB_WITH_LOCAL_CORE has to be defined and set to 1. Use the switch in the build script configuration section. To also include a lightweight Optitrack tracker connection using the NatNetSDK, define the preprocessor flag VAMATLAB_WITH_OPTITRACK and set it to 1. Use the switch in the build script configuration section.

itaVA class

To ease usage, a facade class called itaVA can be generated that will also add volatile help on the available functionality of VA. To create this Matlab class, run either itaVA_build.m after deploy of VA, or itaVA_build_absolute.m from the repository directory. Both scripts will create a class file named itaVA.m based on stubs that are filled by calls to the VAMatlab executable, which has to be build prior.

Make sure that Matlab will use the correct VA Matlab executable and not an older version of it which might have been added to the PATH of Matlab.

Deploy

If the deploy script is not used, manual deploy will include the following:

Deploying the Matlab executable will require to copy all necessary DLLs into a deploy directory (next to the VAMatlab executable file). On Windows platform, provide the following files

  • VistaAspects.dll
  • VistaBase.dll
  • VistaInterProcComm.dll
  • VABase.dll
  • VANet.dll
  • NatNetSDK.dll (if with tracking)
  • VACore.dll (if with local core, as well as many more ... use DependencyWalker to identify missing files)