
SKINS
Coming soon...
PLUGINS
Plugins in VirtualDJ are .dll (or .bundle on Mac) files that extend the functions of the software.
You have 5 main categories of plugins:
- Dsp plugins: Audio effects that interact with the sound.
- VideoEffect plugins: Video effects that add some special effect to the video output.
- VideoTransition plugins: Video effects that define a new way to crossfade from one video to another.
- Device plugins: Mappers that let you redefine how a specific hardware controller interacts with VirtualDJ.
- Timecode plugins: Plugins that let you add compatibility with other kind of timecode records, or to redefine the behavior of the Timecode engine.
In order to create a plugin, you will have to use a compiler that let you create .dll or .bundle files.
On Windows, you can use the free Microsoft Visual Studio Express. On Mac, you can use the free XCode.
Plugins in VirtualDJ look a lot like COM objects, so any languages that can create COM objects can create a plugin for VirtualDJ (Visual Basic, C#, etc).
Still, we highly recommend to use C++, since that's the native language of the header files, and that's also the language in which you'll find all the help on the forums here.
Once you are ready to start creating your plugins, you'll need to download and include the header files that define the basic plugin structure.
You need to make your own plugin derive from the interface class IVdjPluginXXXX.
- vdjPlugin.h (basic common base-class for all plugins)
- vdjDsp.h (base class for all Dsp plugins)
- vdjVideo.h (base classes for all Video plugins - DirectX (Windows) version)
- vdjVideo_mac.h (base classes for all Video plugins - OpenGL (Mac) version)
- vdjTimecode.h (base classes for all Timecode plugins)
- vdjDevice.h (base class for all Device plugins)
- DJCMapper.h (OLD constants for Hercules DJConsole/DJControl mappers)
- DJCMapper2.h (constants for Hercules DJConsole/DJControl/RMX/Steel mappers)
- DMC1Mapper.h (constants for Visiosonic DMC1/DAC2 mappers)
- DAC3Mapper.h (constants for Visiosonic DAC3 mappers)
- BCDMapper.h (constants for Berhinger BCD2000/3000 mappers)
- ICUEMapper.h (constants for Numark iCue mappers)
- KC0Mapper.h (constants for Numark TotalControl mappers)
- Dmc2Mapper.h (constants for Numark DMC2 mappers)
- iCDXMapper.h (constants for Numark iCDX mappers)
- XPonentMapper.h (constants for M-Audio XPonent mappers)
- DenonMapper.h (constants for all Denon controller mappers)
- Denon4500Mapper.h (OLD constants for Denon HC4500 mappers in VDJ v5.1 and earlier)
Then you should implement the DllGetClassObject() function to return a new instance of your plugin's class (derived from the IVdjPluginXXXX class).
Wiki HOME