Rank: Newbie
Groups: Registered
Joined: 8/14/2021(UTC) Posts: 6 Location: London
|
Plugin API should allow push and pull feeds. I have a feed for example on a websocket which is receiving data pushed from remote sources. Suggest a plugin is a .Net class implementing a VMix interface IVMixDataSource (similar to xaml template plugins) and a class attribute [VMixPlugin("vendor-name", "plugin-name")] which populates the data source menu. Attributes could also be used to tell VMix what config fields are available in the plugin to populate a VMix config page. To register a plugin as a data source, 1. Open the plugin dll in VMix. 2. VMix looks for all public classes that implement IVMixDataSource 3. VMix adds the plugin to its registry under a sub group for vendor-name (to avoid name clashes) A starting point that would work for table style data - the same concept could be used for named data rows. Code:
IVMixDataSource {
// init gets called by VMix on startup to send a push interface to the plugin
void init(IVMixPushDataSink pushDataSink, IDictionary<string, string> config);
// functions to pull data from plugin
int rowCount {get;}
IDictionary<string, object> getRow(int row);
// VMix can use these to subscribe only to rows that are needed on air
// null means all
void subscribe(int? row = null);
void unsubscribe(int? row = null);
}
IVMixPushDataSink {
// plugin can push data to VMix
void publishRow(int row, IDictionary<string, object> row);
}
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/26/2019(UTC) Posts: 38
|
|
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close