» hot.PluginInterfaces
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

hot.PluginInterfaces

acl(admin devvvv vvvvgroup)

Documentation

thoughts on V2

some user suggestions:
c-plugin-interface-2.0-suggestions

main

  • replace PluginInfo with Attributes to the plugins class that can be parsed via reflection
  • also make the AutoEvaluate property an Attribute to the plugins class
  • use MEF to load plugins (gets rid of SetPluginHost)

pins

  • provide two pin classes
    • Input/OutputPin<T> for primitive types including VMath.Vector3D, SlimDX.Vector3D, ...
      • based on IInput/IOutputPin (derived from IEnumerable)
      • internally routing to ValueInput/Output, StringInput/Ouptput
      • using GetValue..Pointer internally to Marshal.Copy the whole spread at once and improve performance of slice accesses
      • alternatively only one Spread<T>
    • NodeInput/OutputPin<INodeIOBase> for NodePin-types
  • Subtypes via Attributes to pin-properties
    • note: pins created via reflection, no constructor needed
  • provide Input/OutputPinGroups to allow plugins to create pins dynamically
  • for GetFunctions: use return values instead of output parameters
  • provide GetPointer<T> (if possible)
  • adapt all templates to the changes

changes for V1

  • make OutputPin.SliceCount readable
  • provide GetTransformPointer, GetColorPointer

optionally

  • hand over NodeIOInterface as IntPtr (see SlimDX) instead of having the INodeIOBase interface that all interfaces have to derive from?
  • make enums real Enums (not strings/ints as is now)
  • make empty strings not arrive as null...

alternative (non generics)

  • simpler pin creation methods, like:
    • IValueIn CreateValuePin(Name, Default, SpreadMode)
    • IValueIn CreateBang(Name)
    • IValueIn CreateToggle(Name)

registration free com for loading c++ plugins

Missing Pin Types

  • Mesh Input
  • Texture Input
  • VertexBuffer Input, Output
  • Layer Input

anonymous user login

Shoutbox

~4mth ago

joreg: END OF SHOUTBOX! As this page has is now legacy, it will no longer feature new content. For latest news, see: http://vvvv.org

~4mth ago

joreg: vvvvTv S0204 is out: Custom Widgets with Dear ImGui: https://youtube.com/live/nrXfpn5V9h0

~4mth ago

joreg: New user registration is currently disabled as we're moving to a new login provider: https://visualprogramming.net/blog/2024/reclaiming-vvvv.org/

~5mth ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~5mth ago

~5mth ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~5mth ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~5mth ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~5mth ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~5mth ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/