Hey,
Ja, stand wohl etwas auf dem Schlauch und festgebissen an "Aktualisieren der Anzeige".
Da hätte ich auch drauf kommen können;).. Versuch ich doch glatt.
Grüße
Hey,
Ja, stand wohl etwas auf dem Schlauch und festgebissen an "Aktualisieren der Anzeige".
Da hätte ich auch drauf kommen können;).. Versuch ich doch glatt.
Grüße
Normalerweise wird ein Container.Refresh gemacht. Ich kann das hier sehr deutlich verfolgen. Bei einem Delay von z.B. 15 Sekunden wird nach einem Wechsel des Scrapers - und wenn man schnell genug ist - im Menüpunkt TV nach genau diesen 15 Sekunden der Inhalt des Widgets gewechselt...
schnell genug?
wir haben ja in der mitte ein widget titel Feld, mit einem button der den widgetinhalt in zugehörigem fenster öffnet - z.B. die playliste wenn es eine ist.
da der klick dort ja frei war hab ich direkt die settings des widgets draufgelegt.
Mit Addon.OpenSettings(plugin.service.gto))
Das ist äußerst Merkwürdig. ich hab jetzt die 5 Minuten des einen refresh gewartet, der ist es nicht..
Gehe ich über Addons/Einstellungen zum Addon und wähle den Scrappe, gehe zurück ins home ist der content aktualisiert.
Gehe ich im Home in die Settings des addons per Befehl, ändere den scrapper bleibt er stehen, trotz Meldung das er Infos bezieht.
Verlassen ich danach das Home, z.B. duch öffnen von Filme und gehe zurück ins Home bleibt trotzdem der alte Content enthalten bis ich nen
Skin.Reload ausführe. Offenbar wird der Content nur aktualisiert wenn das home definitiv neu geladen wird, das passiert in der Regel erst
wenn es nicht das Fenster ist das duch back erreicht wird. Direkt nach Filme und zurück geht nicht, Nach Filme, weiter zu Genres geht dann.
Dann werd ich wohl am besten nen reload in den notification einbauen.
Grüße
Aber es wird nichts angezeigt obwohl der Content fest definiert ist der muss von nirgens geholt werden...
Hey,
Ist nur ne kleinigkeit, die man wissen (und dran denken muss).
Auf den ersten Blick hab ichs nur nicht gesehen;)..
Items brauchen zwingend ein <onclick> wenn es eine selbst definierte liste ist.
Offenbar ist er da jetzt rigoroser in Krypton. Gibt es keinen click brauchst ein <onclick>noop</onclick>
für den befehl "nichts tun beim klick" in Kodi. Dann kommt alles.
Grüße
Hey,
Muss ich schauen.. Ich hab es direkt im Home mit AddonOpensettings drin.
versuche ich mal..
Änder ich den Scrapper in den Settings, dann holt er zwar den Content und der Kaitoast bzw. DialogNotification meldet es, die Anzeige bleibt aber bis zu einem Reload.
Ich habs dann mal auf die eingestellte Aktualisierungszeit zurückgeführt, also das es ohne Reload auch nur alle x Minuten erneuert wird.
Grüße
Ich kopier es heut abend mal in den Silvio.. Sieht alles gut aus. merkwürdig..
Außer vielleicht du hast wasd drüberliegen?
Die
<include>SystemRightPanel</include>
vielleicht ohne einen linken Abstand darin und sonst in einer gruppe mit einem left in der group?
Der Content ansich muss eigentlich kommen, außer es fehlt im was wie Textfarbe, Schrift oder sonst was.
Grüße
Kannst Nachstellen;).. Juger ist vielleicht ein besserer Erklär Bär.
Ich hab da die tendenz Auszuschweißen..
<variable name="PVRWidgetContent">
<value condition="Skin.HasSetting(PVRWidgetGto)">plugin://plugin.service.gto?action=getcontent&ts=$INFO[Window(Home).Property(GTO.timestamp)]</value>
<value>pvr://channels/tv/All&channels/</value>
</variable>
in deinen skin..
und eine Einstellung irgendwo wie das setting toggelt
mit onclick
Skin.Togglesetting(PVRWidgetGto)
als content für Widget in deiner include nutzt du dann $VAR[PVRWidgetContent]
dann geht das bei dir genauso wenig.
Wie gesagt, nix gravierendes - ich kanns ja umgehen.
Wärs noch möglich das er unabhängig der Refreshzeit beim Wechsel des providers den content aktualisiert?
Grüße
Der Klick ruft doch das Addon auf und die mitgelieferten Parameter action=jinglebell&action=shutdown kann das Skript auswerten und verarbeiten...
Oder reden wir jetzt im Kreis?
Hey,
Ne, tun wir nicht;)..
Stell es dir so vor. Ein container kan mehr als ein widget enthalten:
Ob das nun so komplex gebraucht wird wie bei uns oder einfach zweierlei zur Auswahl:
Dann macht es recht wenig sinn den Container zweimal im Code zu haben und jede Navigation doppelt mit einer Condition zu verwenden.
Das wird irgendwann zuviel, ganz zu schweigen wenn man noch irgendetwas außerhalb des Containers an Infos mitlaufen lässt.
Alle Infos außerhalb müssen ja mit dem prefix Container(ID) vorangstellt dann für jeden enthalten sein.
Hat man eine variable Widgetauswahl wären das so ja dutzende Container. Also packt man Content in eine Variable.
<variable name="PVRWidgetContent">
<value condition="Skin.HasSetting(PVRWidgetGto)">plugin://plugin.service.gto?action=getcontent&ts=$INFO[Window(Home).Property(GTO.timestamp)]</value>
<value>pvr://channels/tv/All&channels/</value>
</variable>
Setzt jetzt irgendwo das setting "PVRWidgetGto" und habe als content $VAR[PVRWidgetContent] wird das addon angezeigt, ansonsten alle Kanäle als einfaches Beispiel.
Der Klick im Container überschreibt aber offenbar alle "Kodi clicks" in dem Fall das Abspielen des Kanals, die er wie auch immer selbstständig ohne eine Klickangabe macht.
Mit dem Ergebnis das der Klick fürs addon geht aber nicht der für alle Kanäle.
Jetzt könnte man bei zwei noch den anderen Klick definieren damit wieder beide gehen.
Spätestens bei Addons hab ich aber keine Möglichkeit festzulegen ob es öffnen ist (bei Addons mit Menüstruktur darunter) oder abspielen (wenn direkt videos drin sind).
Also muss ich dieses Widget in einen eigenen Container packen. Was dann Navigation "und alles drum herum" verdoppelt.
Im selben kommt bei uns in der Menüleiste z.B. das Label des Container 510 wenn das Widget Focussiert ist und ersetzt das Menü. Da brauch ich dann schon ein zweites für den Addon Container, usw.
Nach oben aus dem Menü muss ich dann auch Abfragen "ist Addonwidget PVR aktiv dann gehe zu IDxx ansonsten zu ID510..
Da wäre es halt einfacher wenn der Klick nicht notwendig wäre.
Grüße
Das ist das Einzige, was ich auch nach 3maligem Lesen Deines Posts verstanden habe. Letztendlich geht es aber wohl um ein Control mit der ID 510. Das ist doch aber Sache des Skinners?
Eigentlich geht drum das der click nicht direkt geht ohne Angabe eines onclick im container. Der Überschreibt den click des containers und wird somit für alles verwendet was drin ist.
Da man aber Widegts auch basiert auf den Focus des Menüs in ein und demselben Container machen kann, um Beispielsweise nicht 12 mal dieselbe Info für 12 Menüplätze zu brauchen,
haben wir einen Container überm Home, der den Content über eine Variable setzt.
alle Widgets landen damit im selben container. Alle 12 möglichen Menüplätze haben ein beliebig auswählbares Widget per einstellung und übergeben content und target an den container (510).
Da kann nun ne Playliste drin sein, ein addon oder eben alles was übers Menüeinstellen möglich ist im skin.
Für das Addon brauch ich nun nen eigenen Container mit eigener Navigation damit ich das onclick einfügen kann..
Also mit Abfragen bei allem, bei nach oben, nach unten, Focusinfo statts Menü im balken wenn man im Widget navigiert, zusatzinfo links unterm Menü usw..
zudem ist es aktuell ja so das krypton bei jedem content auch die "C" Taste anbietet.. Dort steht jetzt abspielen drin was so auch nichts macht.
Deswegen die Frage ob ein Addon das definieren kann was Kodi beim click in einem Content tun soll oder ob das Kodi macht.
Grüße
Wäre das der 'Kodiclick'?
Hey,
Ich denk ja? Wobei sich der klick nehm ich mal an am target ausrichtet.. Bei serien öffnet es kodi ja, bei filmen spielt er es ab.
Das ding ist halt das man ohne script ja alles in einem container baut an widgets.
Füge ich da ein click ein wie
<onclick>RunScript(plugin.service.gto,action=infopopup&blob=$INFO[ListItem.Property(BlobId)])</onclick>
dann geht das, dafür aber alle anderen contents aus kodi wie playlisten nicht mehr.
Entweder "repariert" das menüscript das von selbst, oder er hat ein Click als Action drin in der Overrides des scriptes - da kann man für bestimmte einträge oder global für alle auch klicks einfügen.
Ohne Script schauts ja so aus z.B.
der content für alle Widgets wird über strings und per VAR in immer demselben container geladen.
<control type="wraplist" id="510">
<left>50</left>
<top>360</top>
<width>1212</width>
<height>230</height>
<focusposition>2</focusposition>
<onup condition="!Player.HasMedia + [String.IsEqual(Skin.String(Widgetinfo),video) | String.IsEqual(Skin.String(Widgetinfo),video-music)] + [Substring(Control.GetLabel(3070),moviegenres) | Substring(Control.GetLabel(3070),tvshowgenres)]">SetFocus(550)</onup>
<ondown condition="!Player.HasMedia">SetFocus(5100)</ondown>
<ondown condition="Player.HasMedia">600</ondown><!-- playercontrol -->
<onup condition="Player.HasVideo + IntegerGreaterThan(Playlist.Length,1)">SetFocus(609)</onup><!-- videonowplaying list -->
<onup condition="!Skin.HasSetting(nonexttracks) + Player.HasAudio + !IsEmpty(MusicPlayer.Artist)">SetFocus(607)</onup><!-- discocraphy list -->
<onup condition="[Skin.HasSetting(nonexttracks) + !IsEmpty(MusicPlayer.offset(1).Artist)] | [!Skin.HasSetting(nonexttracks) + !IsEmpty(MusicPlayer.offset(1).Artist)] + Player.HasAudio">SetFocus(603)</onup><!-- nowplaying list -->
<onup condition="!Player.HasMedia + Substring(Control.GetLabel(3070),album)">SetFocus(10003)</onup><!-- Albumwidget Tracklist -->
<onup condition="!Player.HasMedia + Substring(Control.GetLabel(3070),song)">SetFocus(10004)</onup><!-- discografie list -->
<orientation>horizontal</orientation>
<pagecontrol>-</pagecontrol>
<scrolltime>300</scrolltime>
<visible>![Container(300).OnNext | Container(300).OnPrevious]</visible>
<visible>Substring(Control.GetLabel(3070),movie) | Substring(Control.GetLabel(3070),tvshow) | Substring(Control.GetLabel(3070),episode) | Substring(Control.GetLabel(3070),album) | Substring(Control.GetLabel(3070),song) | Substring(Control.GetLabel(3070),addon) | Substring(Control.GetLabel(3070),favourite) | Stringcompare(Control.GetLabel(3070),pvrcontentall) | Stringcompare(Control.GetLabel(3070),pvrcontentgroup) | Substring(Control.GetLabel(3070),moviegenres) | Substring(Control.GetLabel(3070),tvshowgenres)</visible>
<animation effect="fade" start="0" end="100" time="300" delay="800" easing="out" tween="sine" condition="![Container(300).OnNext | Container(300).OnPrevious]">Conditional</animation>
<animation effect="fade" start="100" end="0" time="10" easing="in" tween="sine" condition="[Container(300).OnNext | Container(300).OnPrevious]">Conditional</animation>
<animation effect="fade" start="0" end="100" time="300" delay="200" condition="!Container(510).IsUpdating">Conditional</animation>
<animation effect="fade" start="100" end="0" time="200" condition="Container(510).IsUpdating">Conditional</animation>
<itemlayout condition="Substring(Control.GetLabel(3070),movie) | Substring(Control.GetLabel(3070),tvshow) | Substring(Control.GetLabel(3070),episode) | Substring(Control.GetLabel(3070),favourite) | Substring(Control.GetLabel(3070),moviegenres) | Substring(Control.GetLabel(3070),tvshowgenres)" width="101" height="157">
<control type="image"><!-- reflect fallback -->
<left>4</left>
<top>148</top>
<width>93</width>
<height>140</height>
<texture flipy="true" diffuse="home/home_reflect.png" background="true">$VAR[widget_fallbackicon]</texture>
<aspectratio align="center" aligny="top">scale</aspectratio>
</control>
<control type="image"><!-- reflect video -->
<left>4</left>
<top>148</top>
<width>93</width>
<height>140</height>
<texture flipy="true" diffuse="home/home_reflect.png" background="true">$VAR[widget_icon]</texture>
<aspectratio align="center" aligny="top">scale</aspectratio>
<visible>!String.StartsWith(ListItem.Icon,Default)</visible>
</control>
<control type="progress">
<left>10</left>
<top>152</top>
<width>87</width>
<height>5</height>
<aspectratio>stretch</aspectratio>
<info>ListItem.PercentPlayed</info>
<visible>IntegerGreaterThan(ListItem.PercentPlayed,0)</visible>
<animation effect="fade" start="50" end="50" time="0" condition="true">Conditional</animation>
</control>
<control type="image"><!-- poster fallback -->
<left>4</left>
<top>8</top>
<width>93</width>
<height>140</height>
<texture diffuse="home/home_matte_poster.png" background="true">$VAR[widget_fallbackicon]</texture>
<aspectratio align="center" aligny="bottom">stretch</aspectratio>
</control>
<control type="image"><!-- poster -->
<left>4</left>
<top>8</top>
<width>93</width>
<height>140</height>
<texture diffuse="home/home_matte_poster.png" background="true">$VAR[widget_icon]</texture>
<aspectratio align="center" aligny="bottom">stretch</aspectratio>
<visible>!String.StartsWith(ListItem.Icon,Default)</visible>
</control>
<control type="image"><!-- Dimmer -->
<left>4</left>
<top>8</top>
<width>93</width>
<height>140</height>
<texture colordiffuse="ACInaktivItems" diffuse="home/home_matte_poster.png">White.png</texture>
</control>
<include content="watched_overlay_listLabel"><!-- watched_overlay -->
<param name="left">60</param>
<param name="top">12</param>
<param name="width">30</param>
<param name="height">30</param>
</include>
</itemlayout>
<focusedlayout condition="Substring(Control.GetLabel(3070),movie) | Substring(Control.GetLabel(3070),tvshow) | Substring(Control.GetLabel(3070),episode) | Substring(Control.GetLabel(3070),favourite) | Substring(Control.GetLabel(3070),moviegenres) | Substring(Control.GetLabel(3070),tvshowgenres)" width="101" height="157">
<control type="group">
<animation type="Focus" reversible="false">
<effect type="zoom" center="auto" start="80" end="100" time="400" tween="back" easing="out" />
<effect type="fade" start="80" end="100" time="400" />
</animation>
<control type="image"><!-- reflect fallback -->
<left>4</left>
<top>148</top>
<width>93</width>
<height>140</height>
<texture flipy="true" diffuse="home/home_reflect.png" background="true">$VAR[widget_fallbackicon]</texture>
<aspectratio align="center" aligny="top">scale</aspectratio>
</control>
<control type="image"><!-- reflect video -->
<left>4</left>
<top>148</top>
<width>93</width>
<height>140</height>
<texture flipy="true" diffuse="home/home_reflect.png" background="true">$VAR[widget_icon]</texture>
<aspectratio align="center" aligny="top">scale</aspectratio>
<visible>!String.StartsWith(ListItem.Icon,Default)</visible>
</control>
<control type="progress">
<left>10</left>
<top>152</top>
<width>87</width>
<height>5</height>
<aspectratio>stretch</aspectratio>
<info>ListItem.PercentPlayed</info>
<visible>IntegerGreaterThan(ListItem.PercentPlayed,0)</visible>
<animation effect="fade" start="50" end="50" time="0" condition="true">Conditional</animation>
</control>
<control type="image"><!-- poster fallback -->
<left>4</left>
<top>8</top>
<width>93</width>
<height>140</height>
<texture diffuse="home/home_matte_poster.png" background="true">$VAR[widget_fallbackicon]</texture>
<aspectratio align="center" aligny="bottom">stretch</aspectratio>
</control>
<control type="image"><!-- poster -->
<left>4</left>
<top>8</top>
<width>93</width>
<height>140</height>
<texture diffuse="home/home_matte_poster.png" background="true">$VAR[widget_icon]</texture>
<aspectratio align="center" aligny="bottom">stretch</aspectratio>
<visible>!String.StartsWith(ListItem.Icon,Default)</visible>
</control>
<control type="image"><!-- Dimmer -->
<left>4</left>
<top>8</top>
<width>93</width>
<height>140</height>
<texture colordiffuse="ACInaktivItems" diffuse="home/home_matte_poster.png">White.png</texture>
<include>animation_dimmer</include>
</control>
<control type="image">
<left>21</left>
<top>65</top>
<width>66</width>
<height>66</height>
<texture colordiffuse="ACSkinColor">buttons/listfocus_small.png</texture>
<animation effect="fade" start="20" end="100" time="700" condition="true" pulse="true">Conditional</animation>
<visible>Control.HasFocus(510)</visible>
</control>
<include content="watched_overlay_listLabel"><!-- watched_overlay -->
<param name="left">60</param>
<param name="top">12</param>
<param name="width">30</param>
<param name="height">30</param>
</include>
</control>
</focusedlayout>
<itemlayout condition="Substring(Control.GetLabel(3070),addon) | Substring(Control.GetLabel(3070),album) | Substring(Control.GetLabel(3070),song)" width="151" height="157">
<control type="group">
<top>12</top>
<control type="image"><!-- reflect fallback -->
<left>4</left>
<top>128</top>
<width>121</width>
<height>121</height>
<texture flipy="true" diffuse="home/home_reflect.png" background="true">$VAR[widget_fallbackicon]</texture>
<aspectratio align="center" aligny="top">scale</aspectratio>
</control>
<control type="image"><!-- reflect thumb -->
<left>4</left>
<top>128</top>
<width>121</width>
<height>121</height>
<texture flipy="true" diffuse="home/home_reflect.png" background="true">$VAR[widget_icon]</texture>
<aspectratio align="center" aligny="top">scale</aspectratio>
<visible>!String.StartsWith(ListItem.Icon,Default)</visible>
</control>
<control type="image"><!-- fallback -->
<left>4</left>
<top>8</top>
<width>121</width>
<height>121</height>
<texture diffuse="home/home_matte_thumb.png" background="true">$VAR[widget_fallbackicon]</texture>
<aspectratio align="center" aligny="bottom" scalediffuse="true">scale</aspectratio>
</control>
<control type="image"><!-- thumb -->
<left>4</left>
<top>8</top>
<width>121</width>
<height>121</height>
<texture diffuse="home/home_matte_thumb.png" background="true">$VAR[widget_icon]</texture>
<aspectratio align="center" aligny="bottom" scalediffuse="true">scale</aspectratio>
<visible>!String.StartsWith(ListItem.Icon,Default)</visible>
</control>
<control type="image"><!-- dimmer -->
<left>4</left>
<top>8</top>
<width>121</width>
<height>121</height>
<texture colordiffuse="ACInaktivItems" diffuse="home/home_matte_thumb.png">White.png</texture>
</control>
</control>
</itemlayout>
usw...
<content target="$VAR[widget_target]">$VAR[widget_content]</content>
</control>
Alles anzeigen
Jedes Contentbasierte widgets läuft nun in der ID 510 mit. Alle Infos die Außerhalb des Containers liegen und die Navigation sind nun auf 510 ausgelegt. Fürs Addon mit dem Click brauch ich nun ne andere ID mit Click und selben Containerlayout mit eigener Navigation und Labels für diese ID falls was außerhalb angezeigt werden soll wie titel usw..
ist jetzt nix tragisches, einfach wäre halt wenns derselbe wäre.
Grüße
scheint dann aber ein content problem oder?
wenn sie außerhalb in einem controllabel nicht kommen dann muss ja was am content sein.
Ich mache in solchen Fällen auch öfters mal ein xxx irgendwo in den content um zu sehen ob das kommt und vielleicht dann was mit dem property datum nicht in ordnung ist.
Oder Entferne ein visible im item um zu sehen ob es daran liegt..
Grüße
Hey,
Testweise eingebaut und läuft super..
Vielen Dank für die Mühe und die Super Arbeit, läuft wie geschmiert das Ding;)..
Ne Kleinigkeit hab ich vorhin gesehen, nur hat er den Eintrag leider vor ichs richtig kapiert habe entfernt..
in einem der beiden propertys des Widgets für die Uhrzeit stand in einem Eintrag sinngemäß ein html tag mit <span class = usw..
Der muss irgendwo bei nem Tagfehler mitgegeben worden zu sein. Leider hab ich danach den Faden verloren welcher Scrapper es war.
Sorry, etwas ungenau..
Was ohne das Menüscript etwas "stört" ist bisher nur das man einen Click braucht.. Wäre klasse wenn da der "Kodiklick" gehen würde falls möglich..
Grüße
leider noch nicht dazu gekommen.. Abends ist es einfach zu Heiß um unters Dach zu sitzen;)..
Hast es ohne das visibles versucht?
Container(9000).HasFocus(1) wäre das item mit der id1.. hast dein panel auf allowhiddenfocus im visible?
Dann musst aber in der Regel mit SetFocus(200) arbeiten.
Ist was unsichtbar muss man es mit SetFocus ansprechen..
Zwar Abwägig, aber wenn dein onright im selben container ist wie der inhalt, versuchs mal ohne ID (9000).
Im selben container soltle es zwar egal sein, aber wer weiß..
Grüße
Hey,
Ich versuchs die tage mal.. dachte nur falls er ohne EPG da nicht wirklich viel findet bei mir mit meinen paar sendern;)..
dann müsste es horizontaler Content sein...
Das was jetzt auf dem Bild hast ist dann ein Eintrag, sprich eine spalte.. breiterer container macht dir eine spalte rechts davon solange bis die breite
erreicht ist die im container angegeben wurde.
ist halt nicht unbeding der klassische Tabellarische Aufbau, deswegen verwirrt es mich ein wenig;)..
Zeilen mit Datum erwartet man da eher eine Zeile für jeden Eintrag daneben.
ist aber Ansichtssache.. so gesehen macht es schon sinn so..
Grüße
Also wie müsste ich das ganze jetzt ändern?
Hey,
ich hab noch keine Ahnung wie herum es du nun haben willst;)..
Ein Panel ansich ist eigentlich in zeilen und spalten aufgeteilt, wobei dein item und focusedlayout eigentlich nur den inhalt einer Zeile oder Spalte enthalten soll.
Je nach Ausrichtung und Inhalt wird das dann vertikal oder Horizontal an deine container breite und höhe damit gefüllt..
Also Beispiel:
Ein orientation horizontal panel mit layouthöhe und inhalt 300 in einer containerhöhe von 900 ergibt 3 zeilen mit dem selben layout drin das du vorgibst..
Wie mir scheint versucht du aber das alles in eins zu pressen?
Kopier ich das in den Silvio, und füge mal Serien als content ein damit was da ist und xxx als text bekomme ich das so angezeigt mit deinem layout..
Du willst doch jetzt quasi 3 Einträge in jeder Zeile oder?
wenn die dann horizontal angezeigt werden sollen wäre panelhöhe für zeile 1 = Gesamthöhe des Containers und breite 1/3 der Gesamtbreite..
Da muss item und focusedlayout rein.. Kodi macht dir dann mit horizontaler ausrichtung 3 nebeneinander..
Dann bräüchtest separate panels und conts für jede Zeile die du habe willst.
Das Auffüllen über mehrere Spalten wird bestimmt nicht gehen oder? Dazu müsstest ja immer 3 Einträge fix haben pro Tag damit die ersten 3 die zweiten drei "verdrängen"
und die dann in zeile 2 kommen können (bei doppelter Panelhöhe im Vergleich zu der layouthöhe im Panel)..
Ich denk das müsstest erst mal entscheiden.. Vertikaler content, mit item1 Tag1, item1 Tag2 usw..
oder Horizontaler content mit Tag1 noch einer mit Tag 2..
nachdem würde sich dann dein Layout richten und deine Panels dafür..
Kannst mir nicht das Addon so schicken und eine Datenbank dazu? dann müsste das doch gehen oder?
Dann schau ich heut Abend oder Morgen mal..
Grüße
läuft der planer auch ohne EPG? ich find den in deinem Git nicht..
Wäre es dann nicht sinnvoller das anders herum zu machen? also rechts ein panel das ja den vorteil von Spalten und Zeilen von alleine hat,
und dann links die Einträge manuell aus dem (sei es als gruppe oder liste mit content item Einträgen).
rechts scheint ja viel komplexer als links. Da macht es ja wenig sinn da alles einzeln rauszuglauben wenns Zeilenweise gleich aussieht.
Grüße
War bei mir auch das Problem.
Ratings werden teilweise auch nicht richtig erkannt weil ab Krypton die Tags anders aussehen in den nfo´s.
Das sieht nun so aus und damit hat er ebenfalls Probleme.
<ratings>
<rating name="default" default="true">
<value>6.400000</value>
<votes>465</votes>
</rating>
</ratings>
Ist echt ärgerlich sowas.
Grüße
also mit watchitLater klappts immer noch, sogar in krypton.. man muss eben den skin bearbeiten und den Button dafür ins contextmenü aufnehmen..
Und falls der skin auf dem Menüscript basiert fürs Home kannst sogar "Relativ einfach" mit einem Benutzerdefiniertem Befehle
RunPlugin(plugin://script.simpleplaylists/?mode=showPlaylists)
die playlisten Übersicht aufrufen.. Man kommt zwar nicht direkt rein sondern in eine Vorauswahl welche Playliste man öffnen will, aber immerhin.
Grüße
naja, schon mal ein kleiner Lichblick. irgendwas schein mit der navigation <onright condition="Container(9000).HasFocus(1)">200</onright> noch nicht zu stimmen...
Hey,
Ich schaus mir heut Abend oder Morgen an.. dein onright wird daher kommen das allowhiddenfocus="true" gesetzt meistens ein SetFocus(200) brauchst..
Den rest deines visible verfolge ich dann mal in der Gesamtdatei.. in so Schnipseln ist das etwas Mühsam. Wonmöglich hast da Control.Has und ControlGroup irgendwo verwechselt..
Control.HasFocus = Button, Container usw..
Group mit ID = Controlgroup(ID).HasFocus
Container.HasFocus = ID innerhalb eines Containers
Wenn in ID 200 nur eins angezeigt wird ist das bei einem item im content auch korrekt. Du musst den dann per kopieren und Ändern des Offsets erst mal duplizieren.
Also (1), (2) usw.. (-1) für alles vor 0 was der Focus ist..
Grüße
am besten mal die ganze datei anhängen mit dem include drin.. wäre es da nicht sinnvoller den content in 200 laufen zu lassen?
da scheint ja "mehr" drin zu stehen als im "Menü" content links davon..
Sofern $INFO[Container(9000).ListItemNoWrap(0).label] nicht leer ist muss es auch kommen in der ID 200..
sonst mal das nowrap entfernen und nur ListItem(0) usw.. Nowrap geht nicht in allen containern glaub ich..
ansonst entferne ich einfach mal das visible
<visible>!IsEmpty(Container(9000).ListItemNoWrap(0).Label)</visible>
das soll ja nur verhindern das was leer ist.. Fehlersuche ist aber einfach ohne alle.
<visible allowhiddenfocus="true">[Control.HasFocus(9000) + Container(9000).HasFocus(1)] | Control.HasFocus(200) | [Container(9000).HasFocus(1) + Control.HasFocus(60)]</visible>
kann es ja auch sein..
Vielleicht sperrst dich damit aus;)..
Grüße
hast den code mal "ganzer"?
9001 ist doch deine gruppe? die hat auch kein label.. müsste doch jetzt id 200 sein aus der das label willst das als content die einträge von 9001 enthält..
Kannst das eigentlich nicht in ein panel machen? oder ist links schmäler wie rechts?
Grüße