bennettpeter / android-MythTV-Leanfront

:tv: MythTV Android TV frontend
GNU General Public License v3.0
45 stars 9 forks source link

Is there a setting for season/episode sort vs. release date sort? #92

Closed jfabernathy closed 6 months ago

jfabernathy commented 6 months ago

Not so much a bug as use case question.

I was completing my modification of creating a sub directory per season and moving the Videos to those directory on my last series. After moving all the recordings to the correct sub directory, I noticed that at the top series level I had in Leanfront all 6 years listed as separate years. But in each year, the episodes were not sorted by episode, (1-24). They were sorted 1, 10-19, 2, 21-24, 3, 4, 5, 6, 7, 8, 9. I fixed this by renaming the files so a traditional ascending sort would fix that.

-rwxrw-r-- 1 jim mythtv 157M Jul 30  2016 "Hogan's Heroes - s6e01- Cuisine a la Stalag 13.m4v"
-rwxrw-r-- 1 jim mythtv 146M Jul 30  2016 "Hogan's Heroes - s6e02- The Experts.m4v"
-rwxrwxr-x 1 jim mythtv 161M Jul 30  2016 "Hogan's Heroes - s6e03- Klink's Masterpiece.m4v"
-rwxrwxr-x 1 jim mythtv 160M Jul 30  2016 "Hogan's Heroes - s6e04- Lady Chitterly's Lover Part 1.m4v"
-rwxrwxr-x 1 jim mythtv 165M Apr  6  2017 "Hogan's Heroes - s6e05- Lady Chitterly's Lover Part 2.m4v"
-rwxrwxr-x 1 jim mythtv 150M Jul 30  2016 "Hogan's Heroes - s6e06- The Gestapo Takeover.m4v"
-rwxrwxr-x 1 jim mythtv 154M Jul 30  2016 "Hogan's Heroes - s6e07- Kommandant Schultz.m4v"
-rwxrwxr-x 1 jim mythtv 147M Jul 30  2016 "Hogan's Heroes - s6e08- Eight O'Clock and All Is Well.m4v"
-rwxrwxr-x 1 jim mythtv 165M Jul 30  2016 "Hogan's Heroes - s6e09- The Big Record.m4v"
-rwxrw-r-- 1 jim mythtv 145M Jul 30  2016 "Hogan's Heroes - s6e10 - It's Dynamite.m4v"
-rwxrw-r-- 1 jim mythtv 148M Jul 30  2016 "Hogan's Heroes - s6e11 - Operation Tiger.m4v"
-rwxrw-r-- 1 jim mythtv 154M Jul 30  2016 "Hogan's Heroes - s6e12 - The Big Broadcast.m4v"
-rwxrw-r-- 1 jim mythtv 162M Jul 30  2016 "Hogan's Heroes - s6e13 - The Gypsy.m4v"
-rwxrw-r-- 1 jim mythtv 155M Apr 14  2017 "Hogan's Heroes - s6e14 - The Dropouts.m4v"
-rwxrw-r-- 1 jim mythtv 146M Jul 30  2016 "Hogan's Heroes - s6e15 - Easy Come Easy Go.m4v"
-rwxrw-r-- 1 jim mythtv 151M Jul 30  2016 "Hogan's Heroes - s6e16 - The Meister Spy.m4v"
-rwxrw-r-- 1 jim mythtv 168M Jul 30  2016 "Hogan's Heroes - s6e17 - That's No Lady That's My Spy.m4v"
-rwxrw-r-- 1 jim mythtv 149M Jul 30  2016 "Hogan's Heroes - s6e18 - To Russia Without Love.m4v"
-rwxrw-r-- 1 jim mythtv 129M Aug 25  2016 "Hogan's Heroes - s6e19 - Klink for the Defense.m4v"
-rwxrw-r-- 1 jim mythtv 137M Aug 25  2016 "Hogan's Heroes - s6e20 - The Kamikazes Are Coming.m4v"
-rwxrw-r-- 1 jim mythtv 160M Jul 30  2016 "Hogan's Heroes - s6e21 - Kommandant Gertrude.m4v"
-rwxrw-r-- 1 jim mythtv 146M Jul 30  2016 "Hogan's Heroes - s6e22 - Hogan's Double Life.m4v"
-rwxrw-r-- 1 jim mythtv 196M Dec 25  2016 "Hogan's Heroes - s6e23 - Look at the Pretty Snowflakes.m4v"
-rwxrw-r-- 1 jim mythtv 158M Aug 27  2016 "Hogan's Heroes - s6e24 - Rockets or Romance.m4v"

The Web App shows them with season/episode info.

Screenshot from 2024-02-18 07-21-03

So should there be another sort button for just Season/Episode sort???

bennettpeter commented 6 months ago

This should have been fixed with #87? The sort is now title, season, episode. Season and episode are sorted as integers in each row of videos. It only works on Android Nougat (7.0) or later (API level 24). With fire sticks, it will not work with the fire stick basic edition(2017) or earlier.

jfabernathy commented 6 months ago

I'm running Fire TV Stick 4K Max. Fire OS 7.6.6.9 (PS 7669/4007)

Leanfront is v0-481-g2f4a197-M1.2.1-2-gc3114cd837

bennettpeter commented 6 months ago

I will take another look at it.

jfabernathy commented 6 months ago

I just noticed something about my Videos Storage group

I have 2 entries:

/home/jim/videos /data/nas/media/tv-shows

The first directory listed had 0 files in it. All the Videos are in the second directory listed.

jfabernathy commented 6 months ago

I'm back to an exception on lfe.

I pointed LFE back to my Production backend after testing a localhost backend and I noticed no Videos category on LFE. T then run LFE after setting up adb to capture the log android.log

jim@Dell-XPS-9500:~/platform-tools$ ./adb logcat lfe:D *:s | tee android.log
--------- beginning of system
--------- beginning of main
02-18 11:56:59.211  9846 10313 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/DelayShutdown
02-18 11:56:59.247  9846 10313 I lfe     : XmlNode Response: 200 OK
02-18 11:56:59.262  9846  9870 E lfe     : AsyncMainLoader AsyncMainLoader.runTasks exception
02-18 11:56:59.262  9846  9870 E lfe     : java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toUpperCase()' on a null object reference
02-18 11:56:59.262  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.a(SourceFile:1)
02-18 11:56:59.262  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.compare(Unknown Source:4)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.TimSort.sort(TimSort.java:220)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.Arrays.sort(Arrays.java:1498)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.ArrayList.sort(ArrayList.java:1470)
02-18 11:56:59.262  9846  9870 E lfe     :  at k4.a.a(SourceFile:1)
02-18 11:56:59.262  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.c(SourceFile:1)
02-18 11:56:59.262  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.i(SourceFile:1)
02-18 11:56:59.262  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.run(Unknown Source:8)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
02-18 11:56:59.262  9846  9870 E lfe     :  at java.lang.Thread.run(Thread.java:764)
02-18 11:56:59.265  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 11:56:59.298  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 11:56:59.301  9846  9865 I lfe     : AsyncBackendCall Time difference -301 milliseconds
02-18 11:56:59.302  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 11:56:59.304  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 11:56:59.305  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 11:57:05.087  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/wsdl
02-18 11:57:05.096  9846 10319 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?key=MasterBackendOverride&Default=0&HostName=_GLOBAL_
02-18 11:57:05.100  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.101  9846 10319 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.102  9846 10319 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?key=MasterServerName&Default=0&HostName=_GLOBAL_
02-18 11:57:05.104  9846 10319 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.106  9846 10319 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetRecordedList?IncCast=false&Descending=true&Count=5000&StartIndex=0
02-18 11:57:05.112  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 11:57:05.139  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.140  9846 10319 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.141  9846  9865 I lfe     : AsyncBackendCall Time difference -141 milliseconds
02-18 11:57:05.142  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 11:57:05.149  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.150  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 11:57:05.160  9846 10319 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?Key=BackendServerAddr&HostName=kubuntu-closet
02-18 11:57:05.162  9846 10319 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.208  9846 10319 I lfe     : XmlNode URL: http://192.168.0.125:6544/Video/GetVideoList?Descending=true&Count=5000&StartIndex=0
02-18 11:57:05.346  9846 10319 I lfe     : XmlNode Response: 200 OK
02-18 11:57:05.853  9846 10319 I lfe     : XmlNode URL: http://192.168.0.125:6544/Channel/GetChannelInfoList?OnlyVisible=true
02-18 11:57:05.876  9846 10319 I lfe     : XmlNode Response: 200 OK
02-18 11:57:06.071  9846  9870 E lfe     : AsyncMainLoader AsyncMainLoader.runTasks exception
02-18 11:57:06.071  9846  9870 E lfe     : java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toUpperCase()' on a null object reference
02-18 11:57:06.071  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.a(SourceFile:1)
02-18 11:57:06.071  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.compare(Unknown Source:4)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.TimSort.sort(TimSort.java:220)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.Arrays.sort(Arrays.java:1498)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.ArrayList.sort(ArrayList.java:1470)
02-18 11:57:06.071  9846  9870 E lfe     :  at k4.a.a(SourceFile:1)
02-18 11:57:06.071  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.c(SourceFile:1)
02-18 11:57:06.071  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.i(SourceFile:1)
02-18 11:57:06.071  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.run(Unknown Source:8)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
02-18 11:57:06.071  9846  9870 E lfe     :  at java.lang.Thread.run(Thread.java:764)
02-18 11:57:06.072  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 11:57:06.153  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 11:57:06.156  9846  9865 I lfe     : AsyncBackendCall Time difference -156 milliseconds
02-18 11:57:06.157  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 11:57:06.160  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 11:57:06.161  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 12:03:01.753  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/wsdl
02-18 12:03:01.766  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.768  9846  9846 I lfe     : MainActivity memoryClass:192 lMemoryClass:384
02-18 12:03:01.785  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 12:03:01.809  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.813  9846  9865 I lfe     : AsyncBackendCall Time difference -813 milliseconds
02-18 12:03:01.814  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 12:03:01.817  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.818  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 12:03:01.844  9846 10827 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/DelayShutdown
02-18 12:03:01.848  9846 10827 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.851  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/wsdl
02-18 12:03:01.858  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.914  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 12:03:01.932  9846 10829 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?key=MasterBackendOverride&Default=0&HostName=_GLOBAL_
02-18 12:03:01.938  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.947  9846 10829 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.948  9846  9865 I lfe     : AsyncBackendCall Time difference -948 milliseconds
02-18 12:03:01.948  9846 10829 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?key=MasterServerName&Default=0&HostName=_GLOBAL_
02-18 12:03:01.951  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 12:03:01.953  9846 10829 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.955  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:01.965  9846 10829 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetRecordedList?IncCast=false&Descending=true&Count=5000&StartIndex=0
02-18 12:03:01.966  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 12:03:01.999  9846 10829 I lfe     : XmlNode Response: 200 OK
02-18 12:03:02.007  9846  9870 E lfe     : AsyncMainLoader AsyncMainLoader.runTasks exception
02-18 12:03:02.007  9846  9870 E lfe     : java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toUpperCase()' on a null object reference
02-18 12:03:02.007  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.a(SourceFile:1)
02-18 12:03:02.007  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.compare(Unknown Source:4)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.TimSort.sort(TimSort.java:220)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.Arrays.sort(Arrays.java:1498)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.ArrayList.sort(ArrayList.java:1470)
02-18 12:03:02.007  9846  9870 E lfe     :  at k4.a.a(SourceFile:1)
02-18 12:03:02.007  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.c(SourceFile:1)
02-18 12:03:02.007  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.i(SourceFile:1)
02-18 12:03:02.007  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.run(Unknown Source:8)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
02-18 12:03:02.007  9846  9870 E lfe     :  at java.lang.Thread.run(Thread.java:764)
02-18 12:03:02.009  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 12:03:02.020  9846 10829 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?Key=BackendServerAddr&HostName=kubuntu-closet
02-18 12:03:02.029  9846 10829 I lfe     : XmlNode Response: 200 OK
02-18 12:03:02.034  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:02.036  9846  9865 I lfe     : AsyncBackendCall Time difference -36 milliseconds
02-18 12:03:02.037  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 12:03:02.053  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:02.053  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 12:03:02.077  9846 10829 I lfe     : XmlNode URL: http://192.168.0.125:6544/Video/GetVideoList?Descending=true&Count=5000&StartIndex=0
02-18 12:03:02.194  9846 10829 I lfe     : XmlNode Response: 200 OK
02-18 12:03:02.867  9846 10829 I lfe     : XmlNode URL: http://192.168.0.125:6544/Channel/GetChannelInfoList?OnlyVisible=true
02-18 12:03:02.879  9846 10829 I lfe     : XmlNode Response: 200 OK
02-18 12:03:03.091  9846  9870 E lfe     : AsyncMainLoader AsyncMainLoader.runTasks exception
02-18 12:03:03.091  9846  9870 E lfe     : java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toUpperCase()' on a null object reference
02-18 12:03:03.091  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.a(SourceFile:1)
02-18 12:03:03.091  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.compare(Unknown Source:4)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.TimSort.sort(TimSort.java:220)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.Arrays.sort(Arrays.java:1498)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.ArrayList.sort(ArrayList.java:1470)
02-18 12:03:03.091  9846  9870 E lfe     :  at k4.a.a(SourceFile:1)
02-18 12:03:03.091  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.c(SourceFile:1)
02-18 12:03:03.091  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.i(SourceFile:1)
02-18 12:03:03.091  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.run(Unknown Source:8)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
02-18 12:03:03.091  9846  9870 E lfe     :  at java.lang.Thread.run(Thread.java:764)
02-18 12:03:03.093  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 12:03:03.121  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:03.124  9846  9865 I lfe     : AsyncBackendCall Time difference -124 milliseconds
02-18 12:03:03.124  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 12:03:03.134  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:03.135  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 12:03:17.260  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/wsdl
02-18 12:03:17.271  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.272  9846 10845 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?key=MasterBackendOverride&Default=0&HostName=_GLOBAL_
02-18 12:03:17.275  9846 10845 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.276  9846 10845 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?key=MasterServerName&Default=0&HostName=_GLOBAL_
02-18 12:03:17.279  9846 10845 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.280  9846 10845 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetRecordedList?IncCast=false&Descending=true&Count=5000&StartIndex=0
02-18 12:03:17.283  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 12:03:17.316  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.318  9846  9865 I lfe     : AsyncBackendCall Time difference -318 milliseconds
02-18 12:03:17.318  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 12:03:17.320  9846 10845 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.321  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.321  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
02-18 12:03:17.335  9846 10845 I lfe     : XmlNode URL: http://192.168.0.125:6544/Myth/GetSetting?Key=BackendServerAddr&HostName=kubuntu-closet
02-18 12:03:17.338  9846 10845 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.367  9846 10845 I lfe     : XmlNode URL: http://192.168.0.125:6544/Video/GetVideoList?Descending=true&Count=5000&StartIndex=0
02-18 12:03:17.483  9846 10845 I lfe     : XmlNode Response: 200 OK
02-18 12:03:17.994  9846 10845 I lfe     : XmlNode URL: http://192.168.0.125:6544/Channel/GetChannelInfoList?OnlyVisible=true
02-18 12:03:18.041  9846 10845 I lfe     : XmlNode Response: 200 OK
02-18 12:03:18.248  9846  9870 E lfe     : AsyncMainLoader AsyncMainLoader.runTasks exception
02-18 12:03:18.248  9846  9870 E lfe     : java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toUpperCase()' on a null object reference
02-18 12:03:18.248  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.a(SourceFile:1)
02-18 12:03:18.248  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a$a.compare(Unknown Source:4)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.TimSort.sort(TimSort.java:220)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.Arrays.sort(Arrays.java:1498)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.ArrayList.sort(ArrayList.java:1470)
02-18 12:03:18.248  9846  9870 E lfe     :  at k4.a.a(SourceFile:1)
02-18 12:03:18.248  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.c(SourceFile:1)
02-18 12:03:18.248  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.i(SourceFile:1)
02-18 12:03:18.248  9846  9870 E lfe     :  at org.mythtv.leanfront.ui.a.run(Unknown Source:8)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
02-18 12:03:18.248  9846  9870 E lfe     :  at java.lang.Thread.run(Thread.java:764)
02-18 12:03:18.250  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Status/GetStatus
02-18 12:03:18.276  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:18.279  9846  9865 I lfe     : AsyncBackendCall Time difference -279 milliseconds
02-18 12:03:18.279  9846  9865 I lfe     : XmlNode URL: http://192.168.0.125:6544/Dvr/GetLastPlayPos?RecordedId=-1
02-18 12:03:18.284  9846  9865 I lfe     : XmlNode Response: 200 OK
02-18 12:03:18.284  9846  9865 I lfe     : AsyncBackendCall Last Play Position Support:true
^C
jfabernathy commented 6 months ago

I had a recording start and now I see the Videos Category showing again. Strange.

BTW, I have another backend with the same video files but they have not been renamed or put into sub folders yet. So we can use that for testing if you need it. I'll make a backup of the original folder to a NAS before we start testing.

bennettpeter commented 6 months ago

This exception is the bug that was logged as #90. The fix has not yet been released.

bennettpeter commented 6 months ago

The sequence of episodes is correct when in the directory above the seasons where you see all the seasons, one row per season, but incorrect if you are on the page which shows one single row for the season. I will fix that.

bennettpeter commented 6 months ago

Fixed in Fix is now live in v0-487-g6d06cf7-m1.2.1-2-gc3114cd837

jfabernathy commented 6 months ago

I tested v0-487 on my FireTV against a test v34 backend on Ubuntu 22.04/LM21.3. The videos were not renamed to correct the alphabetic sort as I did on my production backend. I created sub folders for each season and moved the videos appropriately.

All are now sorted correctly in Leanfront by season/episode

Thanks for the fix.