COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 02-29-2012, 01:22 AM   #1
xavier
Human being with feelings
 
Join Date: Oct 2010
Location: Paris
Posts: 16
Default Sysex and IPlug... sysexDump is NULL

Hello,

I've started developping a plugin to control my PreenFM hardware sound module.
The IPlug library is really great and is a joy to work with.
I use the github version :
https://github.com/audio-plugins/wdl-ce
Congrats guys.. So far i could easily do exactly what i wanted.

Now i'd like to be able to receive sysex from the hardware.
I had to modify a bit IPlugBase.* and IPlugVST.*.
I now receive a VstMidiSysexEvent* pointer which is perfect.
The type is kVstSysexType, the dumpSize field is OK but the sysexDump char array is NULL.
So i cannot read the content of the sysex.

I tried to send the sysex from a file that i put in the track or directly from the sound module, the result is the same. sysexDump char array is NULL.

Is there something special to do to be able to recevie correctly sysex dump ?
I use Reaper 4.151 64 bits version.
Thanks for any help,

Xavier
Attached Images
File Type: jpg PreenFMVst.jpg (61.8 KB, 254 views)

Last edited by xavier; 02-29-2012 at 04:59 AM.
xavier is offline   Reply With Quote
Old 02-29-2012, 05:22 AM   #2
xavier
Human being with feelings
 
Join Date: Oct 2010
Location: Paris
Posts: 16
Default Bug in Reaper's 32 bits wrapper !

I think i found something:
It seems to be a bug in reaper's 32 bits wrapper.

Reaper 64 bits, my plugin in 32 bits : Does not work: sysexDump is NULL

Reaper 64 bits, my plugin in 64 bits : It works :-)
Reaper 32 bits, my plugin in 32 bits : It works :-)

That may interest Justin, Schwa and team...

Cheers,

Xavier
xavier is offline   Reply With Quote
Old 02-29-2012, 05:34 AM   #3
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by xavier View Post
Reaper 64 bits, my plugin in 32 bits : Does not work: sysexDump is NULL

Reaper 64 bits, my plugin in 64 bits : It works :-)
Reaper 32 bits, my plugin in 32 bits : It works :-)

That may interest Justin, Schwa and team...
I was just about to post this link to KVR, but if that is the case then it might indeed be a REAPER bug.
Tale is online now   Reply With Quote
Old 02-29-2012, 06:22 AM   #4
xavier
Human being with feelings
 
Join Date: Oct 2010
Location: Paris
Posts: 16
Default

Thanks for the KVR link.

I also found this one :
http://www.kvraudio.com/forum/viewtopic.php?t=341737
Interesting reading...
The consencius seems to be to avoid sysex in VST as it's not well supported by all hosts.
I think i'll have to go with NRPN.
xavier is offline   Reply With Quote
Old 02-29-2012, 12:39 PM   #5
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by xavier View Post
I think i found something:
It seems to be a bug in reaper's 32 bits wrapper.

Reaper 64 bits, my plugin in 32 bits : Does not work: sysexDump is NULL

Reaper 64 bits, my plugin in 64 bits : It works :-)
Reaper 32 bits, my plugin in 32 bits : It works :-)

That may interest Justin, Schwa and team...
Thanks, I will look at that to see why!
Justin is offline   Reply With Quote
Old 03-13-2012, 08:24 AM   #6
buggyboy
Human being with feelings
 
Join Date: Feb 2011
Posts: 40
Default

Bear in mind that the last three struct members of VstMidiSysexEvent are:

Code:
VstIntPtr resvd1;		///< zero (Reserved for future use)
	char* sysexDump;		///< sysex dump
	VstIntPtr resvd2;
If you simply pass the sysex event between a 32-bit and a 64-bit application, it will not work: in a 64-bit application, the three members are 8*3 bytes in size, in a 32-bit application they are 4*3 bytes, so if you want to read the sysexDump member of a 64-bit event in a 32-bit host or plugin, it will read the last 4 bytes of the resvd1 member instead, which are supposed to be 0.
buggyboy is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:16 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.