Menu

#18 Create plug-in architecture for HTM input processor

1.0
open
None
2013-04-05
2013-03-19
Doug King
No

Previous ticket https://sourceforge.net/p/openhtm/todo/13/ decoupled the input stream processor from the rest of the UI and standardized on a input file format.

This ticket is for a plug-in feature so anyone can create an input processor / generator and have it show up in the IDE list for 'input studio' or 'input lab'. Processors can be simple things with a couple of settings, or more complex with a rich UI for experimenting with generation, distortion, noise, etc.

The plug-in framework will be using .NET classes for MEF (Managed Extensiblility Framework) from the System.ComponentModel.Composition and System.ComponentModel.Composition.Hosting namespaces.

A plugin that conforms to our spec will have an input stream reader. Input stream can be a number of sources, file, URL, port, etc. abstracted out as a source. We will need to look in the .NET framework for a stream class or classes that support this.

It will be up to the developer of the plug-in to determine what to do with the input stream, but it will need processes the stream, modify it, etc. and queue it up for the HTM to consume.

Additionally the plug-in would need an optional UI component that can be hosted in our WinForm, and the ability to save / load it's settings in a way that respects / works with our existing project settings scheme.

Please discuss

Discussion

  • Doug King

    Doug King - 2013-03-19
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -9,3 +9,5 @@
     It will be up to the developer of the plug-in to determine what to do with the input stream, but it will need processes the stream, modify it, etc. and queue it up for the HTM to consume.
    
     Additionally the plug-in would need an optional UI component that can be hosted in our WinForm, and the ability to save / load it's settings in a way that respects / works with our existing project settings scheme.
    +
    +Please discuss
    
     
  • David Ragazzi

    David Ragazzi - 2013-04-05
    • assigned_to: David Ragazzi