View Single Post
Old 09-23-2011, 01:21 AM   #57
Jeffos
Mortal
 
Jeffos's Avatar
 
Join Date: Dec 2008
Location: France
Posts: 1,969
Default

With new major versions of REAPER, some users of old, veeerrrryyy old extension plugins can face unexpected issues. We have this problem with the SWS extensions.
Example: with the same plugin, something which was ok in REAPER 3 might crash in REAPER 4.

Unfortunately, we have no mean to manage that from extension code (as it is an "old" version, by definition) so ideally this should be handeled on REAPER side...
It seems to me the SDK's REAPER_PLUGIN_VERSION could help us about that. From the SDK:
Code:
//  int ReaperPluginEntry(HINSTANCE hInstance, reaper_plugin_info_t *rec);
//  return 1 if you are compatible (anything else will result in plugin being unloaded)
//  if rec == NULL, then time to unload

#define REAPER_PLUGIN_VERSION 0x20E

typedef struct reaper_plugin_info_t
{
  int caller_version; // REAPER_PLUGIN_VERSION

  [...]
So, this is a request to upgrade the SDK for REAPER 4 (and may be for each new major releases?) with a new value for this #define. Of course, REAPER should also use this new value for reaper_plugin_info_t->caller_version. Ideally, when not compatible, REAPER would also display a warning message like "Unloading extension plugin reaper_example.dll: not compatible (please upgrade!)".

[EDIT] impact for 3rd party devs = they will just have to re-compile against the new SDK

Last edited by Jeffos; 09-23-2011 at 01:42 AM.
Jeffos is offline   Reply With Quote