im85288 / service.upnext

GNU General Public License v2.0
81 stars 42 forks source link

Action if nothing was chosen dos not work #227

Closed Yaqwa closed 3 years ago

Yaqwa commented 3 years ago

Since last version the next episode starts playing even if I do nothing. In the settings I said not to play next episode when nothing was chosen. This happened since last update from 11/5/2020

psonnosp commented 3 years ago

I second that, glad to see that it's not just me having this issue so there's some exclusive error in my setup.

dagwieers commented 3 years ago

Yes, we know this. Unfortunately, this is a side-product of using a playlist to advance to the next episode. The original implementation would not advance to the next episode when it was requested.

siemon-geeroms commented 3 years ago

I have a similar issue, when I stop the current episode (via api call) without choosing an option the next one is being started either way

dagwieers commented 3 years ago

@MoojMidge @im85288 Let's discuss the two implementations for future reference: https://github.com/im85288/service.upnext/wiki/Design

And find a better implementation for the next release to fix this issue.

MoojMidge commented 3 years ago

On Slack?

The main issue with the method used prior to v1.1.3 (starting playback of next file after end of previous file) is that it stopped working reliably. When the VideoPlayer was exiting, it would do one of three things:

  1. Swallow the request to play the next file in the shutdown of VideoPlayer, resulting in the next file not playing.
  2. Shutdown the VideoPlayer before starting the next file, triggering the onPlayBackEnded callback prior to the onPlaybackStarted callback of the next file, resulting in UpNext state being lost and Still Watching functionality not working.
  3. Open the next file before the VideoPlayer shutdown, resulting in everything working correctly.

The problem with only adding the next file to the playlist near the end of the currently playing file (the just in time method) is that scenarios numbers 1 and 2, above, can still occur.

It was relatively simple to check whether playback should not be occurring, and then explicitly stop playback, to resolve the issue with the playlist method.

siemon-geeroms commented 3 years ago

I did some debugging and it appears that when the current file is stopt via api call ( for example with yatse remote) and the up next dialog is already been shown, the "onPlayBackStopped" is not being triggered, hence the queue is not cleared. when I stop the file before the dialog appears it does trigger. I hope this helps.

MoojMidge commented 3 years ago

@siemon-geeroms I think that is a separate issue. Are you using Kodi Leia or Kodi Matrix?

siemon-geeroms commented 3 years ago

I'm using Kodi leia.

MoojMidge commented 3 years ago

@siemon-geeroms I think this may be fixed in Matrix (or it may be something entirely different to what I think is going on, as even if onPlayBackStopped doesn't fire, onPlayBackEnded should still kick in and clear the queue). If you have the time to check, would be good to confirm if this is any different in Matrix. Perhaps raise a new issue so things don't get mixed up?

Regardless, using the Monitor onNotification callback and checking for Player.OnStop circumvents this problem (as well as a bunch of other problems associated with the timing of when the Player callbacks are executed), even if it is a bit slower.

Snaptags commented 3 years ago

Any easy way to restore the old functionality? I'm using LibreElec and a Matrix Alpha version is not planned yet…

Dnkhatri commented 3 years ago

Any easy way to restore the old functionality? I'm using LibreElec and a Matrix Alpha version is not planned yet…

https://test.libreelec.tv/

MoojMidge commented 3 years ago

Any easy way to restore the old functionality? I'm using LibreElec and a Matrix Alpha version is not planned yet…

The original issue will not be resolved by using Kodi Matrix, however I think the issue that @siemon-geeroms described where the onPlaybackStopped callback doesn't get called, is fixed in Matrix.

As to whether there is an easy way to restore the old functionality - the easiest is to just remove the new playlist playback method, but that will reintroduce the old problem where playback sometimes doesn't work.

@im85288, @dagwieers I'm super busy at the moment (and will be for the foreseeable future), so it will probably not be practical to get some of the major changes merged in the near future, but it should be possible to fix this specific issue. Will submit a PR for this, to tide things over until a better way is implemented.

razzeee commented 3 years ago

I'm seeing the same on matrix, speaking about nextup going to the next episode anyway. Haven't looked at the onPlaybackStopped callback.

im85288 commented 3 years ago

@Razzeee is it possible for you to try the proposed fix in https://github.com/im85288/service.upnext/pull/237 on Matrix? Just waiting on approval from @dagwieers before merging that one.

razzeee commented 3 years ago

sure, but might take me till tonight

razzeee commented 3 years ago

Doesn't seem to install on matrix as it depends on python 2

dagwieers commented 3 years ago

@Razzeee It is tested by GitHub CI for Python 3.5 to 3.9 so should work fine on Matrix. If the problem is the default addon.xml being for Leia. We focus on the majority of our users which are running Leia. You can run make multizip to get a Matrix zip file.

dagwieers commented 3 years ago

@im85288 You don't need my approval :-) IMO we have to rethink the whole implementation, we have been adding fixes on fixes for specific issues. And I fear that this may be the case here as well :-/

The fact that we cannot easily test the expected behavior is a big issue IMO. There are too many edge-cases and options.

razzeee commented 3 years ago

Yeah, it's probably just the addon.xml, as I'm accustomed to just download the zip github creates of a branch.

dagwieers commented 3 years ago

Yeah, it's probably just the addon.xml, as I'm accustomed to just download the zip github creates of a branch.

That used to work really well, even for Py2/3 codebases.

razzeee commented 3 years ago

Sorry, I will not be able to test this, not anywhere near my setup until the 26th

im85288 commented 3 years ago

No worries, just whenever you get the chance is good thanks.

razzeee commented 3 years ago

I fail to even get a working version to build on my machine, not sure if it's worth the hassle :/

╰─ make multizip                                                                                                                               ─╯
= Cleaning up
find . -name '*.py[cod]' -type f -delete
find . -name '__pycache__' -type d -delete
rm -rf .pytest_cache/ .tox/
rm -f *.log
/ > cd /addon/requires/import[@addon='xbmc.python']/@version\nset 3.0.0\nsave\nbye
XPath error : Invalid expression
/addon/requires/import[@addon='xbmc.python']/@version\nset 3.0.0\nsave\nbye
                                                     ^
/addon/requires/import[@addon='xbmc.python']/@version\nset 3.0.0\nsave\nbye: no such node
/ > / > cd /addon/@version\nset 1.1.4+matrix.1\nsave\nbye
XPath error : Invalid expression
/addon/@version\nset 1.1.4+matrix.1\nsave\nbye
               ^
/addon/@version\nset 1.1.4+matrix.1\nsave\nbye: no such node
/ > make[1]: Entering directory '/home/razze/development/service.upnext'
= Cleaning up
find . -name '*.py[cod]' -type f -delete
find . -name '__pycache__' -type d -delete
rm -rf .pytest_cache/ .tox/
rm -f *.log
= Building new package
cd ..; zip -r service.upnext-1.1.4-fix_unwanted_playback-397aaa6.zip service.upnext/addon.xml service.upnext/LICENSE service.upnext/README.md service.upnext/resources/ -x \*.new \*.orig \*.pyc \*.pyo
  adding: service.upnext/addon.xml (deflated 55%)
  adding: service.upnext/LICENSE (deflated 62%)
  adding: service.upnext/README.md (deflated 61%)
  adding: service.upnext/resources/ (stored 0%)
  adding: service.upnext/resources/skins/ (stored 0%)
  adding: service.upnext/resources/skins/default/ (stored 0%)
  adding: service.upnext/resources/skins/default/media/ (stored 0%)
  adding: service.upnext/resources/skins/default/media/bg.png (deflated 57%)
  adding: service.upnext/resources/skins/default/media/white.jpg (deflated 67%)
  adding: service.upnext/resources/skins/default/media/shadow.png (deflated 51%)
  adding: service.upnext/resources/skins/default/media/nextupicons/ (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/07.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/03.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/19.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/11.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/12.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/26.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/00.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/01.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/15.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/17.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/16.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/05.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/21.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/27.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/10.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/25.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/14.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/28.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/29.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/20.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/22.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/18.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/06.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/09.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/08.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/23.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/02.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/13.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/04.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/30.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/24.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/button.png (deflated 12%)
  adding: service.upnext/resources/skins/default/media/star.png (stored 0%)
  adding: service.upnext/resources/skins/default/1080i/ (stored 0%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-upnext-simple.xml (deflated 85%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-stillwatching.xml (deflated 87%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-upnext.xml (deflated 87%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-stillwatching-simple.xml (deflated 85%)
  adding: service.upnext/resources/settings.xml (deflated 76%)
  adding: service.upnext/resources/media/ (stored 0%)
  adding: service.upnext/resources/media/icon.png (deflated 3%)
  adding: service.upnext/resources/media/upnext-developer.jpg (deflated 24%)
  adding: service.upnext/resources/media/screenshot01.jpg (deflated 1%)
  adding: service.upnext/resources/media/screenshot02.jpg (deflated 1%)
  adding: service.upnext/resources/media/fanart.jpg (deflated 5%)
  adding: service.upnext/resources/media/upnext-settings.jpg (deflated 15%)
  adding: service.upnext/resources/lib/ (stored 0%)
  adding: service.upnext/resources/lib/playbackmanager.py (deflated 76%)
  adding: service.upnext/resources/lib/script.py (deflated 65%)
  adding: service.upnext/resources/lib/playitem.py (deflated 69%)
  adding: service.upnext/resources/lib/service_entry.py (deflated 25%)
  adding: service.upnext/resources/lib/statichelper.py (deflated 47%)
  adding: service.upnext/resources/lib/stillwatching.py (deflated 73%)
  adding: service.upnext/resources/lib/upnext.py (deflated 72%)
  adding: service.upnext/resources/lib/monitor.py (deflated 71%)
  adding: service.upnext/resources/lib/state.py (deflated 51%)
  adding: service.upnext/resources/lib/utils.py (deflated 67%)
  adding: service.upnext/resources/lib/api.py (deflated 76%)
  adding: service.upnext/resources/lib/script_entry.py (deflated 26%)
  adding: service.upnext/resources/lib/__init__.py (stored 0%)
  adding: service.upnext/resources/lib/player.py (deflated 70%)
  adding: service.upnext/resources/lib/demo.py (deflated 56%)
  adding: service.upnext/resources/__init__.py (stored 0%)
  adding: service.upnext/resources/language/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.in_hi/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.in_hi/strings.po (deflated 68%)
  adding: service.upnext/resources/language/resource.language.ro_ro/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ro_ro/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.sv_se/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.sv_se/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.es_es/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.es_es/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.nl_nl/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.nl_nl/strings.po (deflated 68%)
  adding: service.upnext/resources/language/resource.language.hu_hu/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.hu_hu/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.ru_ru/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ru_ru/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.hr_hr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.hr_hr/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.pt_br/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.pt_br/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.fr_fr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.fr_fr/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.sk_sk/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.sk_sk/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.el_gr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.el_gr/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.de_de/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.de_de/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.ja_jp/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ja_jp/strings.po (deflated 65%)
  adding: service.upnext/resources/language/resource.language.ko_kr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ko_kr/strings.po (deflated 64%)
  adding: service.upnext/resources/language/resource.language.en_gb/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.en_gb/strings.po (deflated 69%)
  adding: service.upnext/resources/language/resource.language.cs_cz/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.cs_cz/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.pl_pl/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.pl_pl/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.it_it/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.it_it/strings.po (deflated 67%)
= Successfully wrote package as: ../service.upnext-1.1.4-fix_unwanted_playback-397aaa6.zip
make[1]: Leaving directory '/home/razze/development/service.upnext'
/ > cd /addon/requires/import[@addon='xbmc.python']/@version\nset 2.25.0\nsave\nbye
XPath error : Invalid expression
/addon/requires/import[@addon='xbmc.python']/@version\nset 2.25.0\nsave\nbye
                                                     ^
/addon/requires/import[@addon='xbmc.python']/@version\nset 2.25.0\nsave\nbye: no such node
/ > / > cd /addon/@version\nset 1.1.4\nsave\nbye
XPath error : Invalid expression
/addon/@version\nset 1.1.4\nsave\nbye
               ^
/addon/@version\nset 1.1.4\nsave\nbye: no such node
/ > make[1]: Entering directory '/home/razze/development/service.upnext'
= Cleaning up
find . -name '*.py[cod]' -type f -delete
find . -name '__pycache__' -type d -delete
rm -rf .pytest_cache/ .tox/
rm -f *.log
= Building new package
cd ..; zip -r service.upnext-1.1.4-fix_unwanted_playback-397aaa6.zip service.upnext/addon.xml service.upnext/LICENSE service.upnext/README.md service.upnext/resources/ -x \*.new \*.orig \*.pyc \*.pyo
  adding: service.upnext/addon.xml (deflated 55%)
  adding: service.upnext/LICENSE (deflated 62%)
  adding: service.upnext/README.md (deflated 61%)
  adding: service.upnext/resources/ (stored 0%)
  adding: service.upnext/resources/skins/ (stored 0%)
  adding: service.upnext/resources/skins/default/ (stored 0%)
  adding: service.upnext/resources/skins/default/media/ (stored 0%)
  adding: service.upnext/resources/skins/default/media/bg.png (deflated 57%)
  adding: service.upnext/resources/skins/default/media/white.jpg (deflated 67%)
  adding: service.upnext/resources/skins/default/media/shadow.png (deflated 51%)
  adding: service.upnext/resources/skins/default/media/nextupicons/ (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/07.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/03.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/19.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/11.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/12.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/26.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/00.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/01.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/15.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/17.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/16.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/05.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/21.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/27.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/10.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/25.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/14.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/28.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/29.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/20.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/22.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/18.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/06.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/09.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/08.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/23.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/02.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/13.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/04.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/30.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/nextupicons/24.png (stored 0%)
  adding: service.upnext/resources/skins/default/media/button.png (deflated 12%)
  adding: service.upnext/resources/skins/default/media/star.png (stored 0%)
  adding: service.upnext/resources/skins/default/1080i/ (stored 0%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-upnext-simple.xml (deflated 85%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-stillwatching.xml (deflated 87%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-upnext.xml (deflated 87%)
  adding: service.upnext/resources/skins/default/1080i/script-upnext-stillwatching-simple.xml (deflated 85%)
  adding: service.upnext/resources/settings.xml (deflated 76%)
  adding: service.upnext/resources/media/ (stored 0%)
  adding: service.upnext/resources/media/icon.png (deflated 3%)
  adding: service.upnext/resources/media/upnext-developer.jpg (deflated 24%)
  adding: service.upnext/resources/media/screenshot01.jpg (deflated 1%)
  adding: service.upnext/resources/media/screenshot02.jpg (deflated 1%)
  adding: service.upnext/resources/media/fanart.jpg (deflated 5%)
  adding: service.upnext/resources/media/upnext-settings.jpg (deflated 15%)
  adding: service.upnext/resources/lib/ (stored 0%)
  adding: service.upnext/resources/lib/playbackmanager.py (deflated 76%)
  adding: service.upnext/resources/lib/script.py (deflated 65%)
  adding: service.upnext/resources/lib/playitem.py (deflated 69%)
  adding: service.upnext/resources/lib/service_entry.py (deflated 25%)
  adding: service.upnext/resources/lib/statichelper.py (deflated 47%)
  adding: service.upnext/resources/lib/stillwatching.py (deflated 73%)
  adding: service.upnext/resources/lib/upnext.py (deflated 72%)
  adding: service.upnext/resources/lib/monitor.py (deflated 71%)
  adding: service.upnext/resources/lib/state.py (deflated 51%)
  adding: service.upnext/resources/lib/utils.py (deflated 67%)
  adding: service.upnext/resources/lib/api.py (deflated 76%)
  adding: service.upnext/resources/lib/script_entry.py (deflated 26%)
  adding: service.upnext/resources/lib/__init__.py (stored 0%)
  adding: service.upnext/resources/lib/player.py (deflated 70%)
  adding: service.upnext/resources/lib/demo.py (deflated 56%)
  adding: service.upnext/resources/__init__.py (stored 0%)
  adding: service.upnext/resources/language/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.in_hi/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.in_hi/strings.po (deflated 68%)
  adding: service.upnext/resources/language/resource.language.ro_ro/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ro_ro/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.sv_se/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.sv_se/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.es_es/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.es_es/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.nl_nl/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.nl_nl/strings.po (deflated 68%)
  adding: service.upnext/resources/language/resource.language.hu_hu/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.hu_hu/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.ru_ru/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ru_ru/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.hr_hr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.hr_hr/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.pt_br/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.pt_br/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.fr_fr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.fr_fr/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.sk_sk/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.sk_sk/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.el_gr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.el_gr/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.de_de/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.de_de/strings.po (deflated 67%)
  adding: service.upnext/resources/language/resource.language.ja_jp/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ja_jp/strings.po (deflated 65%)
  adding: service.upnext/resources/language/resource.language.ko_kr/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.ko_kr/strings.po (deflated 64%)
  adding: service.upnext/resources/language/resource.language.en_gb/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.en_gb/strings.po (deflated 69%)
  adding: service.upnext/resources/language/resource.language.cs_cz/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.cs_cz/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.pl_pl/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.pl_pl/strings.po (deflated 66%)
  adding: service.upnext/resources/language/resource.language.it_it/ (stored 0%)
  adding: service.upnext/resources/language/resource.language.it_it/strings.po (deflated 67%)
= Successfully wrote package as: ../service.upnext-1.1.4-fix_unwanted_playback-397aaa6.zip
make[1]: Leaving directory '/home/razze/development/service.upnext'
MoojMidge commented 3 years ago

The makefile relies on echo properly expanding the newline escape sequence to send multiple commands to the xmllint shell as part of a single combined string.

Evidently this doesn't work in the distribution you are using (LibreElec using BusyBox?).

If the makefile used echo -e rather than just echo on lines 76 and 79, that may work on your system:

https://github.com/im85288/service.upnext/blob/1e5a8813cd33a7d46af5f2f838fb572358faf303/Makefile#L76 Change to: echo -e "cd /addon/requires/import[@addon='xbmc.python']/@version\nset $(abi)\nsave\nbye" | xmllint --shell addon.xml; \

https://github.com/im85288/service.upnext/blob/1e5a8813cd33a7d46af5f2f838fb572358faf303/Makefile#L79 Change to: echo -e "cd /addon/@version\nset $$version\nsave\nbye" | xmllint --shell addon.xml; \

Alternatively, can just edit addon.xml directly: https://github.com/im85288/service.upnext/blob/1e5a8813cd33a7d46af5f2f838fb572358faf303/addon.xml#L4 Change to: `

`

Fwiw the PR works OK for me on Android using Matrix Beta 2 (sample size of 1).

razzeee commented 3 years ago

spot on, using echo -e fixes the script for me

mcdannej commented 3 years ago

My use case for the last year has been for UpNext to play three episodes and then time out when no action was taken. It stopped working a couple of weeks ago, I think on the same bug described above. Is rolling back to an older version of UpNext (and disabling auto-update) an option to restore functionality?

Yaqwa commented 3 years ago

Yes - i use version 1.2. All working graet - you just have to look if somethings still in the cache

dagwieers commented 3 years ago

This should be fixed in the latest v1.1.5 release. If not, let us know :-)

Snaptags commented 3 years ago

Still broken using the v1.1.5 release. Regardless of what I select in the "behavior" section, the plugin always stops playback if nothing no action has been chosen :(

Yaqwa commented 3 years ago

Working fine. Thanks

im85288 commented 3 years ago

Still broken using the v1.1.5 release. Regardless of what I select in the "behavior" section, the plugin always stops playback if nothing no action has been chosen :(

If you can turn on debug mode and provide logs it may help to see why it's not working for you.

Yaqwa commented 3 years ago

It IS working. Try it twice. The first time you use it, it has a bit problems but the next time it is working properly. Give it a try.

MoojMidge commented 3 years ago

To be honest that kinda sounds like it is not working properly if it doesn't work the first time, but does the second time.

But need more information (debug log) to figure out why.

Yaqwa commented 3 years ago

I meant if you update it the very first time it is not working. All other times it works fine..... Except... Sorry to say this, if you set it up to stop after nothing is done the episode was marked as seen but does not dissappear if your setting is on "not seen yet"

MoojMidge commented 3 years ago

I see, that's a bit odd it doesn't work after the initial update, but does work afterwords. Are you using Kodi v19 Matrix or v18 Leia?

but does not dissappear if your setting is on "not seen yet"

Disappear from where? A widget? An unwatched filter view in your library? A plugin listing?

Yaqwa commented 3 years ago

Kodi 18

Disappear from where? A widget? An unwatched filter view in your library? A plugin listing?

you know - left side menu - middle of the side (all/seen/not seen)