- January 3, 2008
- 890
- 556
- Home Country
- Germany
- Thread starter
- Moderator
- #21
I am getting close to releasing my first native Tvserver plugin for TvWishlist (thanks again for your help on tha native sql queries, which works great now), but still do have a couple of questions left:
(I am still using the official release of MP2alfa3 with one single DVB-S card)
1) Problem in GetConflictingSchedules in ScheduleManagement.cs
I do not understand how this function should work
The line
IEnumerable<Card> cards = CardManagement.ListAllCards(CardIncludeRelationEnum.None); //SEB
in private static bool AssignSchedulesToCard causes that every schedule cannot be assigned to a card.
If i replace it (what i did in my plugin) by
IList<Card> cards = CardManagement.ListAllCards(); //huha
everything works fine.
With the original line i had always a false return from the method CanViewTvChannel(Card card, int channelId) in CardManagement.
The card.ChannelMaps were always null.
When i replaced it with
IList<Card> cards = CardManagement.ListAllCards();
the method returned the correct value and everything is working as expected.
2) Titan Skin
The titan skin is ignoring my TvWishList picture in TvWishListMP2\Skin\default\images\55b7087f-58c4-419a-bdc7-119753aa8bfc.png
this works with fine with the Reflexion skin and the Rising Skin. Is there anything else needeed to overcome this?
3) Hostname/IPaddress for multiseat configuration
Is there an easy way to get the ipaddress of the MP2 server computer from the client plugin?
In the first release i will use for the native TV provider my named pipes to communicate between plugin and server. I could force the user to give the ip address in a setting, but it would be much more user friendly if this address would be provided. Once i understand more of the UPnP service I plan to change.
4) Communication Concept between native tv server plugin and a client
I studied the example of the SlimTv client and how the communication with the MP2 server is done here via UPnP to the client. If I need now an extension for my tvserver plugin, do i need to write my own own service like SlimTv.Service and use UPnP? For simple communication could I use the MP2 message concept between the tvserver plugin and the client plugin? What would be the recommended concept?
I plan to study more thew UPnP concept described by morpheus_xxx in:
All access to settings is done via the ISettingsManager service. It can be used to serialize any class as XML, applying default values, store it per-machine or per-user base.
An UPnP-service (ServerSettingsService) exposes "Get/Set" of settings in a generic way (https://github.com/MediaPortal/Medi...ttings.Service/UPnP/ServerSettingsImpl.cs#L36, so simple but powerful)
The Client loads settings from this service (using https://github.com/MediaPortal/Medi...ttings.Client/UPnP/ServerSettingsProxy.cs#L33)
An example configuration class for server-importer-settings is here: https://github.com/MediaPortal/Medi...els/ServerImporterWorkerSetupModel.cs#L47-L80
When settings are changed, they are sent back to server where they are applied (can be done immediately, because there is a message based "SettingsChangeWatcher" that notifies you about changes)
Is there a recommended way to send messages between a native tvserver plugin and the tv server setup? Should I use the Mp2 messaging service here?
5) Performance of native tvserver and sql data base
i realized that the performance of my plugin with the native tvserver is a lot slower than the MP1 plugin and i saw some posts about a new SQLite database. Is it a correct understanding that the SlimTv client will be adopted to the new SQLite database? I guess a major part of the perforamnce problem is due to my wrapper class and using named pipes instead of the UPnP service which I plan to change next in near future.
(I am still using the official release of MP2alfa3 with one single DVB-S card)
1) Problem in GetConflictingSchedules in ScheduleManagement.cs
I do not understand how this function should work
The line
IEnumerable<Card> cards = CardManagement.ListAllCards(CardIncludeRelationEnum.None); //SEB
in private static bool AssignSchedulesToCard causes that every schedule cannot be assigned to a card.
If i replace it (what i did in my plugin) by
IList<Card> cards = CardManagement.ListAllCards(); //huha
everything works fine.
With the original line i had always a false return from the method CanViewTvChannel(Card card, int channelId) in CardManagement.
The card.ChannelMaps were always null.
When i replaced it with
IList<Card> cards = CardManagement.ListAllCards();
the method returned the correct value and everything is working as expected.
2) Titan Skin
The titan skin is ignoring my TvWishList picture in TvWishListMP2\Skin\default\images\55b7087f-58c4-419a-bdc7-119753aa8bfc.png
this works with fine with the Reflexion skin and the Rising Skin. Is there anything else needeed to overcome this?
3) Hostname/IPaddress for multiseat configuration
Is there an easy way to get the ipaddress of the MP2 server computer from the client plugin?
In the first release i will use for the native TV provider my named pipes to communicate between plugin and server. I could force the user to give the ip address in a setting, but it would be much more user friendly if this address would be provided. Once i understand more of the UPnP service I plan to change.
4) Communication Concept between native tv server plugin and a client
I studied the example of the SlimTv client and how the communication with the MP2 server is done here via UPnP to the client. If I need now an extension for my tvserver plugin, do i need to write my own own service like SlimTv.Service and use UPnP? For simple communication could I use the MP2 message concept between the tvserver plugin and the client plugin? What would be the recommended concept?
I plan to study more thew UPnP concept described by morpheus_xxx in:
All access to settings is done via the ISettingsManager service. It can be used to serialize any class as XML, applying default values, store it per-machine or per-user base.
An UPnP-service (ServerSettingsService) exposes "Get/Set" of settings in a generic way (https://github.com/MediaPortal/Medi...ttings.Service/UPnP/ServerSettingsImpl.cs#L36, so simple but powerful)
The Client loads settings from this service (using https://github.com/MediaPortal/Medi...ttings.Client/UPnP/ServerSettingsProxy.cs#L33)
An example configuration class for server-importer-settings is here: https://github.com/MediaPortal/Medi...els/ServerImporterWorkerSetupModel.cs#L47-L80
When settings are changed, they are sent back to server where they are applied (can be done immediately, because there is a message based "SettingsChangeWatcher" that notifies you about changes)
Is there a recommended way to send messages between a native tvserver plugin and the tv server setup? Should I use the Mp2 messaging service here?
5) Performance of native tvserver and sql data base
i realized that the performance of my plugin with the native tvserver is a lot slower than the MP1 plugin and i saw some posts about a new SQLite database. Is it a correct understanding that the SlimTv client will be adopted to the new SQLite database? I guess a major part of the perforamnce problem is due to my wrapper class and using named pipes instead of the UPnP service which I plan to change next in near future.