As per the this thread I started:
https://forum.team-mediaportal.com/tuning_details_driving_me_crazy-t28389.html
I've dug into the code; I've dabbled in c# a little so please bare with me.
I've SVN'd the latest TV3 code and found where the issue is. As it stands the decision as to whether to update the tuning details or create new ones is based on whether tuning details for the channels exist or not.
I've created a patch for CardDvbS.cs so that it not only checks whether the tuning details exist but whether they are of the same type or not (dvbs, dvbt etc).
patch looks like this:
So now it will not update the tuning details if the channel type is different.
I've compiled setuptv and tested.ok
Now my questions are these:
1.Where do I look to find all the channel types so that I can create patches for CardDvbt.cs, CardDvbC.cs etc.?
2.How do I submit my patch?
3.Will any one implement my patch?
4.Do I not know what I'm doing and should I just go back to what I know (watching the TV!!)?
Regards,
mcraenz
https://forum.team-mediaportal.com/tuning_details_driving_me_crazy-t28389.html
I've dug into the code; I've dabbled in c# a little so please bare with me.
I've SVN'd the latest TV3 code and found where the issue is. As it stands the decision as to whether to update the tuning details or create new ones is based on whether tuning details for the channels exist or not.
I've created a patch for CardDvbS.cs so that it not only checks whether the tuning details exist but whether they are of the same type or not (dvbs, dvbt etc).
patch looks like this:
Code:
Index: CardDvbS.cs
===================================================================
--- CardDvbS.cs (revision 16000)
+++ CardDvbS.cs (working copy)
@@ -816,7 +816,7 @@
Channel dbChannel;
DVBSChannel channel = (DVBSChannel)channels[i];
TuningDetail currentDetail = layer.GetChannel(channel);
- if (currentDetail == null)
+ if (currentDetail == null || currentDetail.ChannelType != 3)
{
//add new channel
exists = false;
@@ -827,6 +827,7 @@
dbChannel.SortOrder = channel.LogicalChannelNumber;
}
}
+
else
{
exists = true;
@@ -850,7 +851,7 @@
{
layer.AddChannelToGroup(dbChannel, channel.Provider);
}
- if (currentDetail == null)
+ if (currentDetail == null || currentDetail.ChannelType != 3 )
{
channel.SatelliteIndex = position;// context.Satelite.IdSatellite;
layer.AddTuningDetails(dbChannel, channel);
So now it will not update the tuning details if the channel type is different.
I've compiled setuptv and tested.ok
Now my questions are these:
1.Where do I look to find all the channel types so that I can create patches for CardDvbt.cs, CardDvbC.cs etc.?
2.How do I submit my patch?
3.Will any one implement my patch?
4.Do I not know what I'm doing and should I just go back to what I know (watching the TV!!)?
Regards,
mcraenz