Version 1.0.0.1 Intitial Sandy Barbour Version 1.0.1.1 Fixed a problem when a script that uses the KeySniffer was disabled. - Sandy Barbour 31/05/2005. Version 1.0.2.1 You no longer need to set PYTHONPATH with the latest downloads - Sandy Barbour 08/06/2005 Fixed a bug on OSX, when the XPlane directory was not from the root of the Hard Disc. Version 1.0.3.1 Fixed problem with the flight loop callback when script is disabled and then enabled. - Sandy Barbour 30/06/2005 Fixed problem on the Mac with scripts not being imported when XPlane was in certain folders. Version 1.0.4.1 I now buffer any python script errors on startup. - Sandy Barbour 06/07/2005 Go into the PythonInteface Control Panel to see these errors. Eventually I will clean up the format as I am currently displaying the exact format that I get back from python. Version 1.0.5.1 Now displays all XPluginStart script errors. - Sandy Barbour 07/07/2005 Thanks to Matt Bailey for bringing this problem to my attention. Version 1.0.6.1 Added a simple wrapping of text in the Control Panel Listbox. - Sandy Barbour 11/07/2005 Version 1.0.7.1 Removed the linking to opengl lib for OSX in PythonInterface23.xpl, this was causing a problem on some systems. - Sandy Barbour 12/08/2005 Version 1.0.8.1 Finally fixed the built in PYTHONPATH so that it works no matter where Xplane is on OSX. - Sandy Barbour 14/08/2005 Fixed the the following path functions for OSX so that they now return a mac compatible path for python. XPLMGetSystemPath(), XPLMGetPrefsPath() and XPLMGetNthAircraftModel(). XPLMExtractFileAndPath() for OSX now accepts a mac compatible python path and returns a mac compatible python path. I convert the input path to SDK format and then convert what the SDK function returns back to python format that will work on the mac.. Fixed the XPLMGetPrefsPath() on Linux so that it returns the proper path. This is actually a plugin SDK bug, when that is fixed it will not affect the python version. Version 1.0.9.1 Fixed XPLMGetDatab so that it handles strings properly. - Sandy Barbour 06/12/2005 Fixed script path on windows when first letter after drive name was lower case. Version 1.1.0.1 Added module to support my Virtual Camera Plugin for scripting. - Sandy Barbour 10/12/2005 Version 1.1.1.1 Added LookAtAircraft function. - Sandy Barbour 20/12/2005 Version 1.1.2.1 Script files can now be all lower case. - Sandy Barbour 08/03/2006 Fixed XPLMRegisterDataAccessor() so that it supports multiple datarefs. - Sandy Barbour 14/03/2006 Version 1.2.0.1 XPLMFindDataRef now returns None instead of zero. - Sandy Barbour 30/04/2006 Script Enable/Disable widget now calls the script enable/disable callbacks. - Sandy Barbour 30/04/2006 Added Start/Stop python buttons to Control Panel widget. - Sandy Barbour 30/04/2006 Version 1.3.0.1 Added Log and Output files and CheckBox to enable/disable output file. - Sandy Barbour 04/11/2006 Version 1.3.1.1 Fixed path bug on OSX with Xplane 860, needed to add a '/' at the start of the path. - Sandy Barbour 08/12/2006 Version 1.3.2.1 Fixed Control Panel list boxes so that they will show text sent to them during startup. Word wrapping is now performed on the text that is sent to the list boxes. - Sandy Barbour 05/05/2007 Version 1.4.0.1 Changed the XPLMSendMessageToPlugin() function so that it can handle strings. - Sandy Barbour 20/11/2007 Version 1.5.0.1 Fixed bug in XPLMDrawAircraft where the DrawStateInfo structure was not getting the correct data. - Sandy Barbour 17/01/2008 Version 2.0.0.1 Added SDK 2.0 Functions. - Sandy Barbour 18/01/2008 Version 2.0.1.1 Fixed XPLMDrawObects to match bug fix in the SDK Function. - Sandy Barbour 30/01/2008 Version 1.6.0.1 \ Version 2.1.0.1 - \ Fixed Custom Array Datarefs. - Sandy Barbour 17/04/2008 Version 1.7.0.1 \ Version 2.2.0.1 - \ Fixed bug when using Stop Python would crash xplane. - Sandy Barbour 04/06/2008 Version 1.8.0.1 \ Version 2.3.0.1 - \ Added XPLM_USER_AIRCRAFT to XPLMPlanes Module. Fixed XPGetWidgetDescriptor() when requested length was greater than 1024. Fixed bug where no xpMsg_Create message was getting received by the widget callbacks. Fixed bug where no xpMsg_Create message was getting received by the custom widget callbacks. Added check for missing PythonScripts directory, Error will be logged and displayed in Control Panel. - Sandy Barbour 06/10/2008 Added 2 new functions to set and get a python object for a widget. This is internal to the Plugin and not part of the SDK API. - Sandy Barbour 08/10/2008 Version 1.9.0.1 \ Version 2.4.0.1 - \ Fixed problem with globals in Linux - Sandy Barbour 19/10/2008 Fixed bug in PI_GetMouseState() - Sandy Barbour 09/11/2008 Fixed bug in XPSendMessageToWidget() - Sandy Barbour 23/11/2008 Version 1.9.1.1 \ Version 2.4.1.1 - \ Added PI_GetKeyState() and PI_GetWidgetGeometryChange() functions - Sandy Barbour 28/12/2008 Version 1.9.2.1 \ Version 2.4.2.1 - \ Added XPLMDefs module - Sandy Barbour 31/12/2008 Version 2.5.0.1 - \ Added Python Version and Computer Platform Information to PythonInterfaceLog.txt file. - Sandy Barbour 01/05/2009 Version 2.5.1.1 - \ Added code so that XPLMSetDatab() can handle a null terminator. - Sandy Barbour 19/05/2009 Version 2.5.2.1 - Fixed some memory leaks. - Sandy Barbour 09/09/2009 Version 2.5.3.1 - Changed Popup code so that it allows for the SDK Glue code change that we did.. - Sandy Barbour 08/10/2009 Version 2.66.01 - Build done with Python 2.66 Final headers and libraries. - Sandy Barbour 11/02/2011 Added the ability to use refcons with most callbacks. Fixed bug where XPLMAcquirePlanes was not returning correct value. Added the XPLMSetErrorCallback SDK 2.00 function which now works the same as the plugin SDK version. Added the XPLMLoadDataFile and XPLMSaveDataFile SDK 2.00 functions. Added error message when a XPLMFindDataRef() does not find a DataRef, will help with debugging scripts. Fixed case where XPLMGetNthAircraftModel() can cause a crash when used in XPluginStart. Added PythonInterface.ini file. Fixed wierd intermittent bug in XPLMExtractFileAndPath(). Fixed case where custom dataref callbacks weren't handling overflow cases. Version 2.67.01 - Build done with Python 2.67 Final headers and libraries. - Sandy Barbour 07/07/2011 Added XPLM_MSG_PLANE_UNLOADED message to XPLMPlugin Module. Version 2.72.01 - Build done with Python 2.72 Final headers and libraries. - Sandy Barbour 11/07/2011 Version 2.67.02 - Build done with Python 2.67 Final headers and libraries. - Sandy Barbour 12/08/2012 Version 2.73.01 - Build done with Python 2.73 Final headers and libraries. - Sandy Barbour 12/08/2012 Fixed bug in the the XPluginReceiveMessage callback where inFromWho did not have the correct ScriptID. While I was looking at this I have changed inParam in the XPluginReceiveMessage callback and PI_SendMessageToScript to PyObject. This allows ints, floats, strings etc. to be sent and they will be received in XPluginReceiveMessage callback. This should not affect any scripts that were already sending an int with the PI_SendMessageToScript function. Version 2.67.03 - Build done with Python 2.67 Final headers and libraries. - Sandy Barbour 24/09/2012 Version 2.73.02 - Build done with Python 2.73 Final headers and libraries. - Sandy Barbour 24/09/2012 Added support for new functionality in SDK 2.10. Version 2.67.04 - Build done with Python 2.67 Final headers and libraries. - Sandy Barbour 28/11/2012 Version 2.73.03 - Build done with Python 2.73 Final headers and libraries. - Sandy Barbour 28/11/2012 Fixed bug where disabling a script would disable the FlightLoopCallback for all scripts. Version 2.67.05 - Build done with Python 2.67 Final headers and libraries. - Sandy Barbour 10/01/2013 Version 2.73.04 - Build done with Python 2.73 Final headers and libraries. - Sandy Barbour 10/01/2013 Linux 64 bit plugin load the python so. OS X 64 bit plugin uses the new XPLM and XPWidgets Frameworks. None of the 32 bit plugins have been changed. Windows 32 and 64 bit plugins have not been changed. Version 2.67.06 - Build done with Python 2.67 Final headers and libraries. - Sandy Barbour 20/01/2013 Version 2.73.05 - Build done with Python 2.73 Final headers and libraries. - Sandy Barbour 20/01/2013 Fixed bug in XPDestroyWidget where child widgets were not getting destroyed. The function was also reporting a callback error which was incorrect if the child widget had no callbacks. This only affected using the XPDestroyWidget function with the child widget. Normally all child widgets are destroyed when the root widget is destroyed and the DestroyChildren parameter is set to 1. This bug affects all of the 32 and 64 bit plugins. Version 2.67.07 \ Fixed bug in the plugin's Key Callback Wrapper. - Sandy Barbour 11/02/2014 Version 2.73.06 / This bug affects all of the 32 and 64 bit plugins.