|
|
(68 intermediate revisions by one user not shown) |
Line 1: |
Line 1: |
| + | __NOTOC__ |
| =Welcome= | | =Welcome= |
| This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.<br /> | | This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.<br /> |
− | AnyWave is written using the Qt Framework and the Qt plugin mechanism, so a good knowledge of the Qt Framework is required.
| + | {| style="text-align: center; margin: auto;" |
− | | + | |+ Quick Navigation |
− | =The SDK=
| + | |- |
− | If you have installed AnyWave on your system, you will find all the required files in the installation folder.<br />
| + | | [[File:Menu_matlab_plugin.png|400px|link=AnyWave:MATLAB_Plugin|'''Write a MATLAB Plugin''']] || [[File:Menu_cpp_plugin.png|400px|link=AnyWave:Cpp_Plugin|'''Write a c++ Plugin''']] |
− | ==Linux==
| + | |- |
− | Build from sources following the instructions on our [https://gitlab.thevirtualbrain.org/anywave Gitlab].<br />
| + | | [[File:Menu_matlab_batch.png|400px|link=AnyWave:Plugin_Batch|'''Make your plugin batchable''']] || [[File:Menu_matlab_batch_gui_compatible.png|400px|link=AnyWave:MATLAB_Batch_GUI|'''Make your plugin compatible with the batch GUI of AnyWave''']] |
− | Considering the default installation path, the requires folders to build a plugin are:<br />
| + | |} |
− | * '''/usr/local/AnyWave/include'''
| + | |
− | * '''/usr/local/AnyWave/lib'''
| + | |
− | ==Mac OS==
| + | |
− | The required folders to build a plugin are:<br />
| + | |
− | * '''/Applications/AnyWave.app/content/include'''
| + | |
− | * '''/Applications/AnyWave.app/content/frameworks'''
| + | |
− | | + | |
− | ==Windows==
| + | |
− | The required folders to build a plugin are:<br />
| + | |
− | * '''AnyWave\include'''
| + | |
− | * '''AnyWave\lib'''
| + | |
− | | + | |
− | =Basic requirements to build a plugin=
| + | |
− | We strongly recommend QtCreator as the tool to use which is available along with the Qt open source package you will need to build a plugin. <br/>
| + | |
− | Download Qt and Qt Creator here: [https://www.qt.io/download Get Qt and Qt Creator]
| + | |
− | Note:<br/>
| + | |
− | The Windows version of AnyWave is built with Visual Studio 2017 though, so, if you plan to build a plugin for Windows, consider using this tool along with the Qt VS Addin.<br/>
| + | |
− | Technically speaking you can build a plugin with QtCreator using another compiler like '''gcc''' or '''clang'''.<br/>
| + | |
− | You will need to put the runtime DLL files of the chosen compiler into the AnyWave folder after you copied the plugin into the Plugins subdirectory.
| + | |
− | | + | |
− | ==Create a project== | + | |
− | Every Qt project starts with a .pro file which is the format used by qmake, the tool for building Qt projects.<br/>
| + | |
− | AnyWave plugins require path to AnyWave SDK to successfully build.<br/> | + | |
− | So, before we go deep into an example, we need to provide the paths to the AnyWave SDK.<br/>
| + | |
− | On a qmake .pro file you may add the following lines:<br/>
| + | |
− | | + | |
− | | + | |
− | When building a plugin for AnyWave, the project file must find the SDK required files of AnyWave.<br />
| + | |
− | A good practice is to set an environment variable called '''AW_ROOT''' that points to the root folder of your AnyWave installation.<br />
| + | |
− | For example on Linux, that would be: /usr/local/AnyWave<br />
| + | |
− | | + | |
− | Tutorials:<br />
| + | |
− | * [[AnyWave:BuildReader|Build a reader plugin]]
| + | |
− | | + | |
− | =Build a signal processing plug-in=
| + | |
− | ==[[AnyWave:WriteMatlabScripted|How to write a MATLAB plug-in]]==
| + | |
− | ===[[AnyWave:MATLAB_API|MATLAB API]]===
| + | |
− | | + | |
− | ==[[AnyWave:WritePythonScripted|How to write a Python Scripted plug-in]]==
| + | |
This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.