Not huge news, but news nevertheless. The SDK has been updated with the little bits that were missing.
VirtualDJ8_SDK_20211003
http://www.virtualdj.com/developers/VirtualDJ8_SDK_20211003.zip
Some interesting additions that I'll give my layman's understanding on what I spot.
[not an exhaustive list]
in vdjPlugin8.h
class IVdjPluginStartStop8 : public IVdjPlugin8
{
public:
// called when the plugin is started or stopped
virtual HRESULT VDJ_API OnStart() { return 0; }
virtual HRESULT VDJ_API OnStop() { return 0; }
};
basic plugins now can have a OnStart() and OnStop()
very welcome addition for a certain style of simple plugin.
All the flags for the param types [colorfx, xfader transition fx, effect beats etc etc]
The flags for processing have been expanded, some new ones to me here.
#define VDJFLAG_EXTENSION1 0x10 //will be set by VDJ when calling OnGetPluginInfo if the passed structure is of the extended type
#define VDJFLAG_SETPREVIEW 0x20 //preview for use on skin will exclude this plugin when this flag is set
#define VDJFLAG_POSITION_NOSLIP 0x40 //when set for position plugin, it will not use slip mode
#define VDJFLAG_ALWAYSPREFADER 0x80
#define VDJFLAG_ALWAYSPOSTFADER 0x100
#define VDJFLAG_EPHEMERAL 0x200 // don't save or load the params from ini
in vdjDsp8.h
class IVdjPluginPositionDsp8 : public IVdjPlugin8
has been filled out. [I might have an project with this, now we can make position plugins]
vdjVideo8.h
I'm not familiar with so I won't comment but it looks like a bit has been added.
not an exhaustive list, and I'll leave what I'm not sure on to avoid saying something dumb. If any other plugin writer spots something new then please share.
VirtualDJ8_SDK_20211003
http://www.virtualdj.com/developers/VirtualDJ8_SDK_20211003.zip
Some interesting additions that I'll give my layman's understanding on what I spot.
[not an exhaustive list]
in vdjPlugin8.h
class IVdjPluginStartStop8 : public IVdjPlugin8
{
public:
// called when the plugin is started or stopped
virtual HRESULT VDJ_API OnStart() { return 0; }
virtual HRESULT VDJ_API OnStop() { return 0; }
};
basic plugins now can have a OnStart() and OnStop()
very welcome addition for a certain style of simple plugin.
All the flags for the param types [colorfx, xfader transition fx, effect beats etc etc]
The flags for processing have been expanded, some new ones to me here.
#define VDJFLAG_EXTENSION1 0x10 //will be set by VDJ when calling OnGetPluginInfo if the passed structure is of the extended type
#define VDJFLAG_SETPREVIEW 0x20 //preview for use on skin will exclude this plugin when this flag is set
#define VDJFLAG_POSITION_NOSLIP 0x40 //when set for position plugin, it will not use slip mode
#define VDJFLAG_ALWAYSPREFADER 0x80
#define VDJFLAG_ALWAYSPOSTFADER 0x100
#define VDJFLAG_EPHEMERAL 0x200 // don't save or load the params from ini
in vdjDsp8.h
class IVdjPluginPositionDsp8 : public IVdjPlugin8
has been filled out. [I might have an project with this, now we can make position plugins]
vdjVideo8.h
I'm not familiar with so I won't comment but it looks like a bit has been added.
not an exhaustive list, and I'll leave what I'm not sure on to avoid saying something dumb. If any other plugin writer spots something new then please share.
Posté Sun 03 Oct 21 @ 12:33 pm
@Adion
The GUID for IVdjPluginPositionDsp8 is not listed in vdjDsp8.h or is it IID_IVdjPluginDsp8?
In previous version, it was:
class IVdjPluginPositionDsp8 : public IVdjPluginBufferDsp8
The GUID for IVdjPluginPositionDsp8 is not listed in vdjDsp8.h or is it IID_IVdjPluginDsp8?
In previous version, it was:
class IVdjPluginPositionDsp8 : public IVdjPluginBufferDsp8
Posté Sun 17 Oct 21 @ 3:13 pm
true,
by the way there are comments in many defines making them unusable with many preprocessors
(i.e.: visual studio 2019 doesn't like them and treat them as part of the line
#define VDJPARAM_COLORFX 7 //similar to slider, but with default position at 0.5 and only one per effect for single-knob full control
...
or
#define VDJFLAG_POSITION_NOSLIP 0x40 //when set for position plugin, it will not use slip mode
...
) can't combine with other in values
VDJFLAG_POSITION_NOSLIP | VDJFLAG_PROCESSLAST
by the way there are comments in many defines making them unusable with many preprocessors
(i.e.: visual studio 2019 doesn't like them and treat them as part of the line
#define VDJPARAM_COLORFX 7 //similar to slider, but with default position at 0.5 and only one per effect for single-knob full control
...
or
#define VDJFLAG_POSITION_NOSLIP 0x40 //when set for position plugin, it will not use slip mode
...
) can't combine with other in values
VDJFLAG_POSITION_NOSLIP | VDJFLAG_PROCESSLAST
Posté Sun 17 Oct 21 @ 3:31 pm
Not sure why the #define's don't work correctly for you.
We use Visual Studio on windows too, and work correctly in our own plugins.
(Looked it up, and using the C99 standard or later, comments are explicitly removed before the preprocessor uses the defines, so unless you are compiling for C90 standard or so it should be fine https://stackoverflow.com/questions/1510869/does-the-c-preprocessor-strip-comments-or-expand-macros-first )
We use Visual Studio on windows too, and work correctly in our own plugins.
(Looked it up, and using the C99 standard or later, comments are explicitly removed before the preprocessor uses the defines, so unless you are compiling for C90 standard or so it should be fine https://stackoverflow.com/questions/1510869/does-the-c-preprocessor-strip-comments-or-expand-macros-first )
Posté Sun 17 Oct 21 @ 4:06 pm
maybe I added keep comments directive in settings ;)
I took a look at my extended headers (debug & GUI handling)
and found a note :
// Missing maybe wrong
#ifndef VDJPOSITION8GUID_DEFINED
#define VDJPOSITION8GUID_DEFINED
static const GUID IID_IVdjPluginPosition8 = { 0xa1d90ea1, 0x4d0d, 0x42dd, { 0xa4, 0xd0, 0xb8, 0xf3, 0x37, 0xb3, 0x21, 0xf1 } };
#else
extern static const GUID IID_IVdjPluginPosition8 ;
#endif
(GUID I saw not, matching old known GUIDs even from oldest SDKs entries)
Is this the correct entry missing from "vdjDsp8.h" ?
I took a look at my extended headers (debug & GUI handling)
and found a note :
// Missing maybe wrong
#ifndef VDJPOSITION8GUID_DEFINED
#define VDJPOSITION8GUID_DEFINED
static const GUID IID_IVdjPluginPosition8 = { 0xa1d90ea1, 0x4d0d, 0x42dd, { 0xa4, 0xd0, 0xb8, 0xf3, 0x37, 0xb3, 0x21, 0xf1 } };
#else
extern static const GUID IID_IVdjPluginPosition8 ;
#endif
(GUID I saw not, matching old known GUIDs even from oldest SDKs entries)
Is this the correct entry missing from "vdjDsp8.h" ?
Posté Sun 17 Oct 21 @ 4:47 pm
It looks like that was indeed missing (and there was no correct one yet)
Posté Sun 17 Oct 21 @ 5:28 pm