Geduld @gutemine, Geduld
Ich habe auch 1000 Fragen, die ich stellen könnte. Ich heb dir mir auch alle auf.
Geduld @gutemine, Geduld
Ich habe auch 1000 Fragen, die ich stellen könnte. Ich heb dir mir auch alle auf.
Was ist denn das für ein Spruch? Hauptsache irgendwas geschrieben?
Ach komm, seit ihr so Altbacken, dass man jetzt hier im Forum argumentieren muss, warum neue Hardware einen Mehrwert mit sich bringt?
Nicht ganz.
Ich definiere mir inaktive Autotimer, um bestimmte Sendungen anhand der komplexen Such-/Filtermöglichkeiten des AT zu finden[...]
Und das ist in meinen Augen eine echte Zweckentfremdung von AT.
Du musst doch gar nicht AT neu implementieren, du kannst doch auf die Such-Klassen von AT mit einem eigenen Plugin zugreifen. Das macht doch viel mehr Sinn, als mit "Tricks" dem User beizubringen, für diese Problematik AT zu verwenden. Und so komplex sind die Suchanfragen doch auch nicht, also zur Not kannst Du doch den entsprechenden Code aus AT extrahieren, wenn Du die bisherigen Klassen nicht in einem eigenen Plugin so verwenden kannst.
Für Dich mag das der einfachste Weg sein, das so zu implementieren. Das Thema hatten wir ja schon mal: schnell, schnell und schnell, alles andere egal.
Aus User-Sicht ist das nicht intuitiv, AT dafür zu verwenden. Es hat absolut nichts mit AT zu tun.
Und wenn wir irgendwann mal im Laufe der Zeit den Code für AT pflegen müssen (aus welchen Gründen auch immer), dann steht derjenige bestimmt vor der Frage: was soll das hier alles...
Es wäre schade, wenn die Idee so umgesetzt werden würde. Das wäre beispielsweise eine super Erweiterung für EPG-Search, oder halt ein eigenes Plugin.
Mit der Antwort kann ich nichts anfangen.
Ich sehe das so: Du verwendest den AT dafür, EPG Suchanfragen zu erstellen, aber nicht automatisch als Timer aufgenommen werden sollen? Richtig? Sprich Suchanfragen zu speichern (als inaktiv), und in der (manuellen) Vorschau dann das Ergebnis anzuzeigen?
Und wofür ist das gut? Wozu braucht man eine Vorschau für inaktive Timer?
Was genau ist der Sinn, was Du gemacht hast? Also wozu soll das eingesetzt werden?
Was genau sind die Erweiterungen der Vorschaufunktion?
Kann ja sein, dass ich das alles hier falsch verstanden habe.
Sven H: Schön, dass du da was gebaut hast.
Aber Du wirst das so nicht auf github comitten können, denn Deine Änderungen haben mit dem AutoTimer ja rein gar nix zu tun.
Baue ein extra Plugin, Du kannst ja den AutoTimer als Code-Base verwenden, aber nicht direkt im AT rumwerkeln.
Aktiviere auf Deiner Client-Box in den Einstellungen des AutoTimers die Option: "Write the config file after every change...", dann geht das.
[...]
Es scheint, dass in der gesamten Gesellschaft die Fähigkeit, mit Kritik umzugehen in einem Maß abgenommen hat, die einer sachlichen Kommunikation sehr im Weg steht.
[...]
Wenn nun einige Forumsmitglieder mit meiner Negativkritik nicht umgehen können beziehungsweise sich persönlich angegriffen fühlen und meinen, sich daher zurückziehen zu müssen, ist das sehr bedauerlich, so etwas zu provozieren lag und liegt aber nicht in meiner Intention.[...]
Wo genau bist Du denn sachlich geblieben? Ich wünschte Du wärst es gewesen. Kritik und Anregungen sind nämlich nichts verkehrtes.
Also ich fühle mich nicht persönlich angegriffen, übrigens der Satz "nicht mit Negativkritik umgehen können" ist auch schon wieder richtig nett von Dir.
Aber ich weiss dass man gerne Sachen falsch versteht in Foren, und dass man sich beim Schreiben unglücklich ausdrücken kann...manchmal sogar an vielen Stellen innerhalb eines Postings.
Viel Spass mit Deiner Box, wirste schon alles schaffen.
@Grummelhummel: Vielen Dank für Deinen netten Post.
jaja.....wir sind selbstzufrieden, wir sind eingeschränkt, wir sind nicht offen für Neuerungen, außerdem unfähig benutzerfreundliche Plugins zu schreiben.
Ich erspare mir sämtliche Kommentare dazu.
[...]
Ich, und da stehe ich wohl nicht alleine als Enigma2-Neuling, habe wenig Lust[..]
Und das ist die Kernaussage Deines gesamten Textes. Ich danke Dir für Deine Offenheit diesbezüglich.
Ich bin auch ehrlich: ich habe nicht nur wenig, sondern überhaupt keine Lust, Dir zur helfen oder was von Dir in Zukunft zu lesen.
Ich bin dann mal raus hier.
Das würde ich so nicht unterschreiben, alpha. Dream Property ging und geht sehr wohl auf Userwünsche ein. Vielleicht bekommst Du das nur nicht mit.
@Grummelhummel: Alle Jahre wieder "beglückt" uns in der Community ein ehemaliger Topfield-Kunde mit diesem Thema. Die "Früher war das besser, ich möchte die Funktionalität nicht missen"...ja, das haben wir schon öfter gehört (deswegen vermutlich auch das Desinteresse!), und Dein Pech ist: wir sind alle mit der Funktionalität, so wie sie in Images oder durch Plugins verwirklicht wurden, sehr zufrieden...wir vermissen halt nichts.
Es gibt für Dich nur eine Lösung: Gewöhne Dich daran und genieße bzw. erfreue Dich an den unzähligen Vorteilen, die Dir Deine neue Box bietet.
Ich hab vor Jahren auf github- (https://github.com/opendreambo…athercomponenthandler/src und https://github.com/opendreambo…omponent-weathercomponent) mein Wetterplugin als Converter/Renderer und Source hochgeladen.
Da kannst Du in den Sourcen von mir genau erkennen, wie Source und Converter "zusammenspielen", und als letztes noch ein Renderer für die Ausgabe dazu kommt.
Danke für die Antwort. Scheint nicht zu reichen, jetzt steht da: Firmware flasher is missing or broken....
Das solltest Du bei uns im Board schreiben.
ketschuss bei uns hat eine BT auf der 9x0 laufen, also das wird schon gehen.
in der DM920 steckt ebenfalls ein Modul (richtig herum) und wird anscheinend von meinem aktuellen Merlin erkannt gibt mir aber keine Möglichkeit diese mit der FB zu pairen (gelbe Taste). Beide Boxen stehen nur vier Meter auseinander.
Hast Du Dir denn
installiert? Das ist nicht bei uns per default im Image. Erst nach der Installation ist die Pairing-Methode auf der gelben Taste zu sehen.
I just wrote the code down for you:
ServiceList.py, replace setRoot with this code:
def setRoot(self, root, justSet=False):
self.root = root
if self.mode == self.MODE_FAVOURITES:
serviceCount = 0
serviceHandler = eServiceCenter.getInstance()
servicelist = serviceHandler.list(root)
if not servicelist is None:
while True:
serviceIterator = servicelist.getNext()
if not serviceIterator.valid():
break
playable = not (serviceIterator.flags & (eServiceReference.isDirectory|eServiceReference.isMarker))
if playable:
serviceCount += 1
print "last item of this bouquet has the channelnumber %d" % (serviceCount + self.numberoffset)
self.l.setRoot(root, justSet)
if not justSet:
self.l.sort()
self.selectionChanged()
Alles anzeigen
You see the print-line? That gives you the channelnumber of the last item in a bouquet.
Have fun with the implementation of your idea!
EDIT: of course that makes only sense if self.mode is MODE_FAVOURITES, I edited the code for this cause
Method setNumberOffset is used by ChannelSelectionBase class (called in method setRoot).
So self.numberoffset is not always 0, it contains the number of all services of the previous bouquets in the list.
e.g. you have 3 bouquets
A (80 items)
B (30 item)
C --> your current bouquet --> self.numberoffset is 110
So what you need is just to find out how many playable items (do not count the markers) are in bouquet C, then add this number to self.numberoffset and you have the final number you are searching for.
Until now I have counted channels in list, but that fails when you have a bouquet with channels from e.g. 99 to 130
You need to add
to your counted channels in the list.
Dein Crash kommt daher, dass Du eTimer ausführen willst in einem Thread.
Enigma2 ist nicht threadsicher, d.h. Du darfst in einem Thread niemals Enigma2-Objekte ansprechen
(siehe deine Crash Meldung).
Du musst also immer aus dem Thread wieder nach Enigma2 gelangen, wenn Du E2 Objekte ansprechen willst.
Es gibt da viele Wege, die nach Rom führen. Führe in Deinem Fall beispielsweise deferToThread mit einem addCallback aus, um wieder in die MainLoop von E2 zu gelangen.
ne, mit layouts geht das nicht, weil da die positionen und sizes fest angegeben werden.
Du hast was von reusable skin blocks geredet...und das kannst du mit Layouts machen.
Deine Eingangsfrage hatte ich dir ja schon beantwortet.