A MATLAB plugin is a folder located in the user home dir.
Documents\AnyWave\Plugins\MATLAB on Windows.
/home/username/AnyWave/Plugins/MATLAB on Linux.
/users/username/AnyWave/Plugins/MATLAB on MacOS.
Requirements
MATLAB shoulb be installed if you plan to run scripted plugins, obviously.
AnyWave should detect the MATLAB installation when starting but it is also possible to set the path to the MATLAB installation in the Edit->Preferences menu.
About standalone (compiled) plugins: The matching MATLAB runtime must be installed in your system.
On Windows there is nothing special to do, if the Runtime is in the current system PATH, then the standalone plugin will find it.
On MacOS and Linux however, you must SET the path to the MATLAB Runtime installation in the Edit->Preferences of AnyWave.
That will allow AnyWave to run the standalone versions of your plugins.
1. Starting with anywave v2105 you can use the Plugin Creation Tool to create a new plugin.
1.1 Make it by your own
Create a folder in AnyWave/Plugins/MATLAB directory.
In that directory, create two files:
- desc.txt
- main.m
1.1.1 desc.txt
This file is a simple text file that must contain the following lines:
name = My Plugin
description = Do something on data
1.1.1.1 optional lines
To tune up the behavior of your plugin you may add some flags to tell AnyWave what you plugin can do:
flags=nodatarequired -> this line will inform anywave that your plugin can run even if no data file is open.
flags=canrunfromcommandline -> this flag indicates that your plugin can be run from the command line.
You can combine flags by separating them with a colon (:)
flags=nodatarequired:canrunfromcommandline
Put your plugin in a submenu, by adding the following line:
category=Process:MyCategory:My plugin
This line will create a sub menu called MyCategory in the Processes Menu of AnyWave and a link to launch the plugin.
1.1.2 main.m
This is a MATLAB function you can create within MATLAB.
function main(varargin)
args = anywave('init', varargin);
% args contains all the proporties related to AnyWave current data file and the plugin context.
% my plugin code starts here
2. Compiled plugin
Using the MATLAB Compiler, you can create a standalone version of your plugin.
AnyWave can call the standalone version of your plugin if you add the following line in desc.txt:
compiled plugin=nameofexefile
Example for Delphos plugin, the desc.txt contains the line:
compiled plugin=delphos.exe
3. check that AnyWave detects your plugin at startup
Close and relaunch AnyWave, your plugin should appear in the Processes menu.
IMPORTANT note about the init function
Before calling any anywave commands in your code, call the init function this way:
args = anywave('init', varargin);
Be sure that your function accepts varargin (cell array) argument.
This will ensure that your plugin can be compiled and run by AnyWave as a standalone application.
The args variable is a structure/dictionnay that contains all useful properties you may use in your plugin.
The anywave application path, the current plugin directory, etc.