|
|
[[_TOC_]]
|
|
|
* [Requirements](#requirements)
|
|
|
* [anywave package](#anywave-package)
|
|
|
* [Use the Plugin Creation Assistant](#use-the-plugin-creation-assistant)
|
|
|
* [What is a Plugin?](#what-is-a-plugin)
|
|
|
* [desc.txt](#desctxt)
|
|
|
* [optional lines](#optional-lines)
|
|
|
* [main.py](#mainpy)
|
|
|
* [DEBUG Python plugin](#debug-python-plugin)
|
|
|
* [Python API package](#python-api-package)
|
|
|
|
|
|
A Python plugin is a folder located in the user home dir.
|
|
|
Documents\AnyWave\Plugins\Python on Windows.
|
|
|
/home/username/AnyWave/Plugins/Python on Linux.
|
|
|
/users/username/AnyWave/Plugins/Python on macOS.
|
|
|
A Python plugin is a folder located in the user home dir.\
|
|
|
Documents\\AnyWave\\Plugins\\Python on Windows.\
|
|
|
/home/username/AnyWave/Plugins/Python on Linux.\
|
|
|
/users/username/AnyWave/Plugins/Python on macOS.
|
|
|
|
|
|
# Requirements
|
|
|
A python local installation or a virtual environment located in the AnyWave/Plugins/Python/venv folder.
|
|
|
The Plugins/Python/venv folder is created the first time AnyWave is launched.
|
|
|
A good practice is to create it using the classic python -m venv command
|
|
|
Place the venv in the folder mentioned earlier and AnyWave will detect it when starting.
|
|
|
|
|
|
A python local installation or a virtual environment located in the AnyWave/Plugins/Python/venv folder.\
|
|
|
The Plugins/Python/venv folder is created the first time AnyWave is launched.\
|
|
|
A good practice is to create it using the classic python -m venv command\
|
|
|
Place the venv in the folder mentioned earlier and AnyWave will detect it when starting.
|
|
|
|
|
|
## anywave package
|
|
|
The virtual environment must have the anywave-plugin-api package.
|
|
|
````python
|
|
|
|
|
|
The virtual environment must have the anywave-plugin-api package.
|
|
|
|
|
|
```python
|
|
|
pip install anywave-plugin-api
|
|
|
````
|
|
|
```
|
|
|
|
|
|
# Use the Plugin Creation Assistant
|
|
|

|
|
|
|
|
|

|
|
|

|
|
|
|
|
|

|
|
|
|
|
|
Change MATLAB option to Python!
|
|
|
Change MATLAB option to Python!
|
|
|
|
|
|
# What is a Plugin?
|
|
|
It's a folder placed on Plugins/Python subfolders of AnyWave.
|
|
|
When AnyWave starts the first time it creates a folder named AnyWave in the user's home directory.
|
|
|
In the AnyWave folder you will find a Plugins\MATLAB folder.
|
|
|
Create a directory for you plugin in that location or use the Plugin Creation Assistant (see previous section).
|
|
|
|
|
|
|
|
|
It's a folder placed on Plugins/Python subfolders of AnyWave.\
|
|
|
When AnyWave starts the first time it creates a folder named AnyWave in the user's home directory.\
|
|
|
In the AnyWave folder you will find a Plugins\\MATLAB folder.\
|
|
|
Create a directory for you plugin in that location or use the Plugin Creation Assistant (see previous section).
|
|
|
|
|
|
## desc.txt
|
|
|
A file called desct.txt must be put in your Plugin.
|
|
|
This file is a simple text file that must contain the following lines:
|
|
|
*name = My Plugin*
|
|
|
*description = Do something on data*
|
|
|
When using the Plugin Creation Assistant, the file is created for you.
|
|
|
|
|
|
A file called desct.txt must be put in your Plugin.\
|
|
|
This file is a simple text file that must contain the following lines:\
|
|
|
_name = My Plugin_\
|
|
|
_description = Do something on data_\
|
|
|
When using the Plugin Creation Assistant, the file is created for you.
|
|
|
|
|
|
### 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 (:)
|
|
|
|
|
|
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.
|
|
|
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.
|
|
|
|
|
|
## **__main__**.py
|
|
|
|
|
|
## ____main____.py
|
|
|
A filed called ____main____.py must also be put in your Plugin.
|
|
|
This file along with desc.txt file will make your folder an AnyWave Python plugin.
|
|
|
When using the Plugin Creation Assistant, the file is created for you.
|
|
|
A filed called __**main__**.py must also be put in your Plugin.\
|
|
|
This file along with desc.txt file will make your folder an AnyWave Python plugin.\
|
|
|
When using the Plugin Creation Assistant, the file is created for you.\
|
|
|
The file must look like:
|
|
|
````python
|
|
|
|
|
|
```python
|
|
|
import sys
|
|
|
import anywave as aw
|
|
|
|
|
|
aw.init(sys.argv)
|
|
|
args = aw.get_props()
|
|
|
````
|
|
|
args is a dict containing all the properties related to AnyWave current data file and the plugin context.
|
|
|
|
|
|
```
|
|
|
|
|
|
args is a dict containing all the properties related to AnyWave current data file and the plugin context.
|
|
|
|
|
|
## [DEBUG Python plugin](/anywave/documentation/-/wikis/Python_debug)
|
|
|
|
... | ... | |