XBMC-Kodi.cz

Úplná verze: plugin na live kamera obrazky
Prohlížíte si holou variantu vašeho obsahu. Prohlédněte si plnou verzi s příslušným formátováním.
Ahojte,
skusam vytvarat svoj prvy kodi addon. Mal by zobrazovat obrazky z live kamier v casovej slucke.
Script bezi stale na pozadi a potrebujem kontrolovat ci nahodou uzivatel nezrusil prezeranie obrazkov, ak ano
script sa ukonci. Na prehravanie videa staci kontrolovat xbmc.Player().isPlaying() , nic take som ale nenasiel na obrazky. Nasiel som len ze premenna getInfoLabel('Slideshow.Path') je naplnena ked je zobrazeny obrazok. Hladam nejake elegantnejsie riesenie, vie niekto pomoct? Dakujem.
Kód:
import xbmc from time
import sleep from itertools
import cycle import xbmcgui

list = [
  'http://www.zivekamery.sk/webcams/HOLCHATA-l.jpg',
  'http://www.zivekamery.sk/webcams/STRB_AREAL-l.jpg'
]

pool = cycle(list)
secInterval = 15
monitor = xbmc.Monitor()
firstRun = True

while not monitor.abortRequested():
  if xbmc.getInfoLabel('Slideshow.Path') != '' or firstRun:
    item = next(pool)   
    xbmc.executebuiltin('ShowPicture("{0}")'.format(item))
  else:
    break

  if monitor.waitForAbort(secInterval):
    break

  firstRun = False

xbmcgui.Dialog().ok('notice', 'script end')
Slideshow by mělo mít definované Slideshow.IsActive, .IsPaused, .IsRandom a .IsVideo. Alespoň ve skinu enginu ty funkce jsou, takže by v xbmcgui měly být také? Ty jsi je v knihovně nenašel?
skusal som xbmc.getCondVisibility('Slideshow.IsActive') ale je to stale False (0). Prikaz Slideshow nemozem pouzit lebo tam sa zadava len cesta k adresaru, ja zobrazujem pomocou ShowPicture kde zadam www adresu online kamery.
No jo, došlo mi to až teď. Slideshow.IsActive je True pouze pokud si spuštíš Slide Show, ne při prohlížení jednotlých obrázků po obrázku. Tak sorry za špatnou radu.

Pro test na prohlížení obrázků by snad šel použít kód zobrazeného okna, xbmcgui.getCurrentWindowId() a testovat, zda je to id okna "Picture", tedy 10002.

Nechci ti radit, ale já bych to spouštění smyčky odvodil primárně pomocí funkce xbmc.getGlobalIdleTime(), spouštělo by se to jako screen saver. Samozřejmě při spuštění vždy s kontrolou jestli v té chvíli neběží video nebo nejsi v Picture okně a pak už bych zobrazoval smyčku trvale až do doby, až by ta hodnota xbmc.getGlobalIdleTime() přestal plynule růst...