Difference between revisions of "AnyWave:DeveloperCorner"

From WikiMEG
Jump to: navigation, search
 
(99 intermediate revisions by one user not shown)
Line 1: Line 1:
__NOTITLE__
+
__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
=Requirements=
+
|-
Qt5 is the base framework used by AnyWave and thus by the plug-ins.<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''']]
Make sure you have the Qt5 development environment installed on your computer which will be the case if you have built AnyWave from the git repository.
+
|-
 
+
| [[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''']]
=Build the SDK=
+
|}
Click [[AnyWave:BuildSDK|here]] to see how to build AnyWave from sources.
+
 
+
=How to use the SDK=
+
A regular AnyWave plug-in is a C++ project that will be using C++ objects defined in the SDK.<br />
+
 
+
So, before creating a project to build a plug-in, the SDK must be correctly configured.<br />
+
This is easily done by defining an environment variable called '''AWSDK''' that must contain the path to the SDK root folder location.<br />
+
 
+
On Linux and Mac systems this can be accomplished by adding the two following lines to your .bashrc file:<br />
+
''AWSDK=/home/user/Dev/AwSDK''<br />
+
''export AWSDK''
+
 
+
On Windows, this can be done by opening the Security and System/System panel. <br />
+
Then click on the left part of the window on Advanced properties.<br />
+
 
+
'''NOTE:''' close and re-open the terminal for the changes to be applied.
+
 
+
=AnyWave C++ objects=
+
See this [[AnyWave:AwObjects|section]] of the Wiki to learn more about C++ objects defined in the SDK.
+
 
+
=How to build a plugin=
+
The CMake tool will take care of the building step for your plugin.<br />
+
So, it is strongly advised to get used with the basic cmake concepts, though, it's quite simple to set up a cmake project to build a plug-in:<br />
+
Follow this [[AnyWave:PrepareCMake|section]] to see have to do it.
+
 
+
=[[AnyWave:BuildReader|Build a Reader plug-in]]=
+
 
+
=Build a signal processing plug-in=
+
==[[AnyWave:WriteMatlabScripted|How to write a MATLAB Scripted plug-in]]==
+
 
+
==[[AnyWave:WritePythonScripted|How to write a Python Scripted plug-in]]==
+

Latest revision as of 16:14, 21 April 2020

Welcome

This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.

Quick Navigation
Write a MATLAB Plugin Write a c++ Plugin
Make your plugin batchable Make your plugin compatible with the batch GUI of AnyWave