Finally, after so many months of delay, v2 is officially released!
First, I would like to apologize for the delay, it has been a really busy year for me and I only get to work on this project a few days each month.
Due to the huge amount of changes, I've decided to release it as v2.0 instead of v1.1.This version is not backwards-compatible with v1.
v2 implements almost
all the functions provided by the plugin interface. I've picked some out after deciding that they are not suitable to be implemented in this plugin, and it's better if you just write your own plugin if you were going to use those functions.
Despite saying that, all suggestions are welcome.
In v1, WM_COPYDATA was used to transfer larger data (data larger than the size of an integer, which is 4 bytes) from the plugin to the external program. As a result, the external program has to have a window message listener (in most cases, a hidden window) to be able to receive larger data. This will cause limitations and difficulties to implement it in many languages, especially scripting languages which does not have a message listener interface or anything similar. And also, the implementation is not very elegant.
To solve this problem, v2 uses memory mapped file to transfer data from the plugin to the external program. So as long as the language has a dll interface, an SDK can be made for it. Also, memory mapped files are much more efficient at transferring large data than WM_COPYDATA.
(Note: WM_COPYDATA is still used to transfer data from the external program to the plugin).
Also, the SDKs no longer have 2 variants (regular and instant) anymore.
Starting from v2, all releases will be equivalent to the instant variant in v1.
Note: The MBMLForm window is removed in v2, so anybody who had problems with it, it should not show up anymore. Highlights for this release (2.0):
-A bunch of new functions, and some helper functions
-Search and jump functions!
-Play and pause functions are now "built-in" to the plugin rather than the SDK
-4 new SDKs (AutoIt, Python, Ruby, and Java)
-Window functions (minimize, maximize, bring to front, etc)
Hope you enjoy the new version!