User Tools

Site Tools


plugins

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
plugins [2023/02/13 14:52] – external edit 127.0.0.1plugins [2023/06/06 14:06] James Sentman
Line 1: Line 1:
 =====The XTension Plugin API v2===== =====The XTension Plugin API v2=====
  
-**NOTE:** This documentation is in a transitional phase of updating from v1 to v2 of the plugin API. Please contact me for more info if you need to work on a plugin while I’m updating the docs. (8/11/2018)+**NOTE:** This documentation is in a transitional phase of updating from v1 to v2 of the plugin API. Please contact me for more info if you need to work on a plugin while I’m updating the docs. (6/6/2023)
 \\ \\
 \\ \\
  
-Introduced in XTension version 9.3 you can now create new plugins for otherwise unsupported devices using Python. The plugins run as separate processes and communicate to XTension through a TCP socket. All direct communications and parsing of XTension packets are handled by the plugin include files so you don’t have to handle any of that. You can send commands to XTension to control units, update data or displays and the plugin classes provide events you can use to receive commands or be alerted to other changes to information+Introduced in XTension version 9.3 you can now create new plugins for otherwise unsupported devices using Python 3. The plugins run as separate processes and communicate to XTension through a TCP socket or other appropriate pipe. All direct communications of the low level protocol are handled by the plugin include files to abstract you from that, but are documented in the appendix if you need to refer to them. You can send commands to XTension to control units, update data or displays and the plugin classes provide events you can use to receive commands or be alerted to other changes to information.
- +
-====Language Support==== +
-At this moment I have plugin connectors for Python and for [[http://xojo.com/|Xojo]]. All examples on this site are using python 2.7. I also have an alpha level build of the connectors for NodeJS though that is problematic due to the necessity of also having node js installed on the Mac in question. It may be an option if no python or other libraries are available for performing whatever you need to do. I have also documented the raw [[plugins:rawprotocol|XTension Interapplication Communications Protocol]] given that it should be possible to implement that in any modern language and provide a plugin in C++, Lua, PHP or whatever you prefer. Contact me if you wish the Xojo examples or want to discuss the implementation of a different language.+