Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin opcodes wrapper functions #23

Open
32 of 80 tasks
dudk opened this issue Oct 26, 2020 · 0 comments
Open
32 of 80 tasks

Plugin opcodes wrapper functions #23

dudk opened this issue Oct 26, 2020 · 0 comments

Comments

@dudk
Copy link
Member

dudk commented Oct 26, 2020

Dispatch and host callback functions have vague semantics that treat parameters depending on what opcode is provided. It's not user-friendly and error prone. The more convenient approach would be to provide wrapper functions where user can always provide exact parameters and avoid error-prone and unsafe castings.

Strikethrough opcodes are deprecated

Opcodes:

  • EffOpen (vst2.VST::Load)
  • EffClose (vst2.Plugin::Close)
  • EffSetProgram (vst2.Plugin::SetProgram)
  • EffGetProgram (vst2.Plugin::Program)
  • EffSetProgramName (vst2.Plugin::SetProgramName)
  • EffGetProgramName (vst2.Plugin::CurrentProgramName)
  • EffGetParamLabel (vst2.Plugin::ParamUnitName)
  • EffGetParamDisplay (vst2.Plugin::ParamValueName)
  • EffGetParamName (vst2.Plugin::ParamName)
  • effGetVu
  • EffSetSampleRate (vst2.Plugin::SetSampleRate)
  • EffSetBufferSize (vst2.Plugin::SetBufferSize)
  • EffStateChanged (vst2.Plugin::Start; vst2.Plugin::Stop)
  • EffEditGetRect
  • EffEditOpen
  • EffEditClose
  • effEditDraw
  • effEditMouse
  • effEditKey
  • EffEditIdle
  • effEditTop
  • effEditSleep
  • effIdentify
  • EffGetChunk
  • EffSetChunk
  • EffProcessEvents
  • EffCanBeAutomated
  • EffString2Parameter
  • effGetNumProgramCategories
  • EffGetProgramNameIndexed (vst2.Plugin::ProgramName)
  • effCopyProgram
  • effConnectInput
  • effConnectOutput
  • EffGetInputProperties
  • EffGetOutputProperties
  • EffGetPlugCategory
  • effGetCurrentPosition
  • effGetDestinationBuffer
  • EffOfflineNotify
  • EffOfflinePrepare
  • EffOfflineRun
  • EffProcessVarIo
  • EffSetSpeakerArrangement (vst2.Plugin::SetSpeakerArrangement)
  • effSetBlockSizeAndSampleRate
  • EffSetBypass
  • EffGetEffectName
  • effGetErrorText
  • EffGetVendorString
  • EffGetProductString
  • EffGetVendorVersion
  • EffVendorSpecific
  • EffCanDo
  • EffGetTailSize
  • effIdle
  • effGetIcon
  • effSetViewPosition
  • EffGetParameterProperties (vst2.Plugin::ParamProperties)
  • effKeysRequired
  • EffGetVstVersion
  • EffEditKeyDown
  • EffEditKeyUp
  • EffSetEditKnobMode
  • EffGetMidiProgramName
  • EffGetCurrentMidiProgram
  • EffGetMidiProgramCategory
  • EffHasMidiProgramsChanged
  • EffGetMidiKeyName
  • EffBeginSetProgram
  • EffEndSetProgram
  • EffGetSpeakerArrangement
  • EffShellGetNextPlugin
  • EffStartProcess
  • EffStopProcess
  • EffSetTotalSampleToProcess
  • EffSetPanLaw
  • EffBeginLoadBank
  • EffBeginLoadProgram
  • EffSetProcessPrecision
  • EffGetNumMidiInputChannels
  • EffGetNumMidiOutputChannels
@dudk dudk changed the title Introduce wrapper-functions for all VST2 opcodes Introduce wrapper-functions for all VST2 effect opcodes Nov 4, 2020
@dudk dudk changed the title Introduce wrapper-functions for all VST2 effect opcodes Plugin opcodes wrapper functions Nov 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant