BridgeOpCodes.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * BridgeOpCodes.h
  3. * ---------------
  4. * Purpose: Various dispatch opcodes for communication between OpenMPT and its plugin bridge.
  5. * Notes : (currently none)
  6. * Authors: Johannes Schultz (OpenMPT Devs)
  7. * The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
  8. */
  9. #pragma once
  10. #include "openmpt/all/BuildSettings.hpp"
  11. #include "../mptrack/plugins/VstDefinitions.h"
  12. OPENMPT_NAMESPACE_BEGIN
  13. enum VendorSpecificOpCodes : int32
  14. {
  15. // Explicitely tell the plugin bridge to update the AEffect struct cache
  16. kUpdateEffectStruct = 0,
  17. // Notify the host that it needs to resize its processing buffers
  18. kUpdateProcessingBuffer,
  19. // Returns the pointer to the bridge wrapper object for the current plugin
  20. kGetWrapperPointer,
  21. // Sets name for new shared memory object - name in ptr
  22. kUpdateEventMemName,
  23. kCloseOldProcessingMemory,
  24. // Cache program names - ptr points to 2x int32 containing the start and end program index - caches names in range [start, end[
  25. kCacheProgramNames,
  26. // Cache parameter information - ptr points to 2x int32 containing the start and end parameter index - caches info in range [start, end[
  27. kCacheParameterInfo,
  28. // Cache parameter values
  29. kBeginGetProgram,
  30. // Stop using parameter value cache
  31. kEndGetProgram,
  32. // Constant for identifying our vendor-specific opcodes
  33. kVendorOpenMPT = Vst::FourCC("OMPT"),
  34. // Maximum length of cached program names
  35. kCachedProgramNameLength = 256,
  36. };
  37. OPENMPT_NAMESPACE_END