Jump to content

How to use designated plugins?


allanlee

Recommended Posts

Using one hardware (TBS6904) to receive multiple channels from different satellites.

 

Some channels from a specific broadcaster (for example, that one received by tuner 0) need additional tweaking while most others do not need (or need to use other different plugins, for example tuner 1).

 

Given that I have 4 tuners (tuner 0-3) in DMS, I created 4 sub-folders plugins1-4 in the plugins folder for them. However,  how could I assign plugin1 only for tuner 0 and plugin2 only for tuner 1?

 

Some plugins do not work when I put everything in the same folder, nor I want to get unnecessary potential side effects when have unused plugin loaded.

 

Hope I made myself clear. Thanks very much for the advice.

Link to comment
4 hours ago, Nayef said:

 edit  "hardware.xml "

 

Thank you for the comment but I'm afraid this does not help.

 

I'm receiving different satellites and they are separated by channel groups. The first hardware used must be the first recording timer activated (or the first channel requested via IPTV streaming clients). It's not possible to let whichever hardware start first.

 

Given that they need different plugin configurations, how could I, or is it possible to assign "pluginx" folder to a designated hardware?

 

 

Link to comment
On 2017/10/25 at 11:05 AM, Nayef said:

"Plugin1" for  hardware(1)

 

Thanks for the info - do you see such behavior in your system?

 

I'll also try it out today.

Link to comment

Sorry to jump in, I have (TBS 6985) four tuners,  I have always wonder how to configure the tuner label as 0-3 to plugin, pls could you share your settings once you get it right.

 

Cheers!

Link to comment
On 2017/10/25 at 11:05 AM, Nayef said:

i think via "number"

"Plugin1" for  hardware(1)

 

In my system seems not to be the case - usage of pluginx is dependent on the order of recording timer (or streaming) activation. After quite a few observations I found that regardless on the "number" of hardware, plugins4 is always the first one used, followed by the hardware for next active timer using plugins3, then 2, then 1.

 

Could you confirm your mentioned behavior? How did you managed to make it if so?

 

Many thanks.

 

Link to comment

allanlee is right. After years and years of usage I never managed to get that working either (tie a plugin to a designated tuner). It is simply not intended or built that way. 

Link to comment

It took me some time to understand the DMS code behind it.

 

majstang is right. As far as I can see it is not a per hardware, but a per channel assignment allowing to use different plugin instances for two or more channels on the same transponder received from the same hardware. When a channel is tuned (which does not necessarily include hardware tuning because the transponder may already be tuned) the DMS picks the first plugin instance from its list that is not occupied with a different channel (!) yet.

 

Besides that there is no fixed order by number, but the internal list of plugins is sorted by priority (and in case of equal priority by name). The priority is an integer value exported by plugins (or 0 by default if they don't). The idea behind it is to let the plugin with the highest priority see the transport stream first if there are two or more plugins receiving the same stream. Dunno in which setting this is of importance.

 

What allanlee wants would imply the following:

  • only one plugin per folder (so that its index in the internal plugin list equals the folder number)
  • drop the plugin sorting  (so the index remains unchanged)
  • introducing a fixed hardware <--> plugin index assignment. This would disable the possibility to handle a second channel from the same transponder with another plugin instance.

Doesn't look very promising to me ;)  I would rather re-use the already existing channel group mechanism (which is designed for channel -> hardware assignment) analogously for a channel -> plugin assignment, so that channels belonging to a certain group are only handled by plugins for which this group is enabled. However, the question is how a user defined set of groups can be assigned to a plugin or a plugin folder. Maybe by a small text file containing something like ACD (-> the plugin or plugins in this folder are suitable for channels belonging to group A, C or D).... with "all groups" as default if the file is not present. This wouldn't break the existing plugin handling, but extend it in a flexible way.

 

  • Like 1
Link to comment
6 hours ago, Griga said:

I would rather re-use the already existing channel group mechanism (which is designed for channel -> hardware assignment) analogously for a channel -> plugin assignment, so that channels belonging to a certain group are only handled by plugins for which this group is enabled.

This wouldn't break the existing plugin handling, but extend it in a flexible way.

 

 

Thank you sooooo much for looking into it.

 

If a channel group <-> plugin assignment is feasible that would be even much much better! It's indeed a brilliant idea enabling more flexibility.

 

Can't wait for this feature. ^_^

 

I'll be more than happy to help testing out, if that's implemented.

 

Link to comment

@GrigaIf you change the plugin handling in the DMS, you should change it in the DVBViewer as well.

The DVBViewer uses pluginsX folders as well. The main playback uses Plugins, but PiP and recordings are using pluginsX.

Link to comment
7 minutes ago, Derrick said:

I want to point to a serous problem with the plugin architecture. The GUI is showing the settings only for the main plugin, which is not used by the DMS.

 

As far as I know, there's no way to access the GUI for plugins loaded with DMS, since the service process is started under SYSTEM account, thus no GUI or try icon would show up in the system UI for a standard windows user.

 

Could you elaborate?

Link to comment

A clumsy workaround: start the DVBV without DMS and  fix the settings for the main plugin then copy the settings to the relevant plugin(s) and start again with DMS.

Link to comment
1 minute ago, Derrick said:

A clumsy workaround: start the DVBV without DMS and  fix the settings for the main plugin then copy the settings to the relevant plugin(s) and start again with DMS.

 

I believe this is another issue / a separate topic - how to access the GUI of plugins loaded with DMS.

 

I agree that what you mentioned is an option to work-around, and fortunately, the plugins I need to use could be configured via editing ini files, or they don't need any configuration.

 

However, the problem I encountered, as well as e123enitan and majstang, does not seem to be solved by the settings for plugins themselves.

Link to comment

Let's rather focus on the original topic instead of mixing up different things:

 

2 hours ago, allanlee said:

If a channel group <-> plugin assignment is feasible that would be even much much better!

 

I wonder how it can be done best. There are different possibilties:

  • Renaming the plugins accordingly, e.g. MyPlugin(ACD).dll. This per-plugin-solution would avoid having to read additional files. However, it won't work if something relies on a particular DLL name (the DMS doesn't).
  • Adding an INI file with the DLL name, e.g. MyPlugin.ini for MyPlugin.dll, that contains the allowed channel groups. It is an extensible format so that more conditions can be added in future if necessary, e.g. frequency, service ID, orbital position... However, this per-plugin solution requires that no INI with the same name exists yet.
  • Adding an INI file with a common name like PluginFolder.ini (similar to the hidden desktop.ini in special Windows folders). This per-folder-solution would apply to all contained plugins.

Experienced plugin users should comment about it...

Link to comment
2 minutes ago, Griga said:
  • Adding an INI file with a common name like PluginFolder.ini (similar to the hidden desktop.ini in special Windows folders). This per-folder-solution would apply to all contained plugins.

 

Personally I prefer the per-folder solution - which seems to be the most straightforward solution for my case.

The per-plugin solutions may have potential conflicts with existing files used / created by the plugins. If finally this would be the way to go, maybe something special should be considered, i.e. MyPlugin.DVBViewer.ini for MyPlugin.dll

 

Would appreciate more (different) opinions and ideas.

 

Link to comment

No more feedback? Then let's try.... the upcoming DMS release 2.0.4 will contain the following for testing purpose:

  • Added: Plugins: Plugin usage can be restricted to channels with certain channel groups by storing a text file Plugins.ini in the Media Server Plugin folders (Plugins1, Plugins2...). The content applies to all plugins in the folder and looks like this (example):
[Settings]
;allowed groups specified by the letters A...H.
Groups=ADE

The setting defaults to all groups if the file is missing. Please note: This is an experimental feature that may be subject to changes. It will not appear in the official change log yet.

 

Link to comment
On 2017/10/30 at 11:03 AM, Griga said:

DMS release 2.0.4 will contain the following for testing purpose:

  • Added: Plugins: Plugin usage can be restricted to channels with certain channel groups

 

 

Thank you very much for adding this feature.

 

Initial testing looks great. Will keep my observations for longer time and feedback here in case of any issue.

 

Link to comment
  • 1 year later...

I just wanted to leave a big and bold THANK YOU for this (unfortunately completely undocumented) feature!

 

I badly needed this and I can now finally use the plugins (only) for the channels I need to!

 

Please do NOT drop this feature, it really comes in handy!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...