Einige kleine Änderungsvorschläge
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Ich schiebe diesen Thread mal wieder nach oben, damit er nicht in Vergessenheit gerät. Hat sich vielleicht jetzt schon mal jemand den Movieviewer-Patch angesehen? Meinen sectionsd-Restart-Patch werde ich die Tage mal wieder in der Hoffnung aktualisieren, dass er endlich ins CVS wandern kann. Ich habe allerdings noch einige wenige kleine Änderungen geplant.
@seife
Gibt es durch deine Änderungen nun eigentlich die Möglichkeit, lange Tastendrücke zu erkennen? Falls das gehen sollte, könnte man endlich die Hilfe wiederbeleben.
@seife
Gibt es durch deine Änderungen nun eigentlich die Möglichkeit, lange Tastendrücke zu erkennen? Falls das gehen sollte, könnte man endlich die Hilfe wiederbeleben.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: Einige kleine Änderungsvorschläge
Im Prinzip ja.Gaucho316 hat geschrieben:@seife
Gibt es durch deine Änderungen nun eigentlich die Möglichkeit, lange Tastendrücke zu erkennen? Falls das gehen sollte, könnte man endlich die Hilfe wiederbeleben.
wenn du in deiner Abfrage sowas machst:
Code: Alles auswählen
if (msg == CRCInput::RC_help|CRCInput::RC_repeat)
// lang
else if (msg == CRCInput::RC_help|CRCInput::RC_release)
// kurz
RC_help|RC_repeat|RC_release gesendet wird oder nur ein RC_help|RC_release. Das zweite wäre doof, denn dann würde nach der "lang" nochmal die "kurz"-Version triggern.
Ausserdem kommen "lang"-Events natürlich mehr als einmal.
Eine andere möglichkeit wäre übrigens, in rcinput im getMsg() dem *data-Feld was mitzugeben (momentan wird das nur für den shutdown-knopf auf 0 oder 1 gesetzt, aber auch nur aus kompatibilitätsgründen.
Die idee wäre, das data-feld so zu machen: (zeitleiste)
Code: Alles auswählen
Situation 1: Taste wird lang gedrückt
zeit 0....1....2....3....4....5
bits d....r....r....r....r....u
data 0....1....0....0....0....1
Situation 2: Taste wird kurz gedrückt:
zeit 0....1
bits d....u
data 0....0
d= "key_down", kein extra Bit, also z.b. "RC_help"
r= "key_repeat", z.B. "RC_help|RC_repeat"
u= "key up", z.B. "RC_help|RC_release"
Zeiteinheit sind "Wiederholintervalle". Man könnte den "data=2"-Fall auch "nach X intervallen" machen.
Dann wäre z.B. "if (msg == rc_help|rc_repeat && data == 1)" exakt der lange Tastendruck.
"(msg == rc_help|rc_release && data == 0)" wäre der kurze Tastendruck (genauer das Loslassen danach, aber man kann ja erst beim Loslassen sagen, ob es lang oder kurz war).
An den meisten Stellen wäre es zum glück egal, aber wo benötigt, könnte man das auswerten.
Aber Vorsicht, nachdem es selbst jetzt noch "fallout" aus dem rcinput-rework gibt, bindest du dir damit evtl. eine Langzeitaufgabe ans Bein
-
- Developer
- Beiträge: 467
- Registriert: Dienstag 15. Juli 2003, 10:58
Re: Einige kleine Änderungsvorschläge
Hallo
Stimmt noch etwas mit dem Restart Patch nicht?
Wenn der doch hilfreich ist, sehe ich nicht das Problem warum der noch nicht commited wurde.
Immer dieses Patchen nach dem Checkout ist auch lässtig...
Gruß
Stimmt noch etwas mit dem Restart Patch nicht?
Wenn der doch hilfreich ist, sehe ich nicht das Problem warum der noch nicht commited wurde.
Immer dieses Patchen nach dem Checkout ist auch lässtig...
Gruß
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Bevor das eingecheckt wird, habe ich noch eine Frage an seife, die u. U. noch eine Änderung nach sich zieht.
@seife
Die Befehle "g_Sectionsd->Restart" und "g_Sectionsd->RegisterNeutrino" starten ja den sectionsd pausiert und bei Neutrino registriert. Meine Frage ist nun, ob "g_Sectionsd->setServiceChanged" auch schon den sectionsd "unpausiert" (was für eine blöde Wortschöpfung) oder wirklich erst der Befehl "g_Sectionsd->setPauseScanning"? Falls schon "setServiceChanged" den sectionsd wieder arbeiten lässt, müsste ich meinen Code noch einmal anpassen.
@seife
Die Befehle "g_Sectionsd->Restart" und "g_Sectionsd->RegisterNeutrino" starten ja den sectionsd pausiert und bei Neutrino registriert. Meine Frage ist nun, ob "g_Sectionsd->setServiceChanged" auch schon den sectionsd "unpausiert" (was für eine blöde Wortschöpfung) oder wirklich erst der Befehl "g_Sectionsd->setPauseScanning"? Falls schon "setServiceChanged" den sectionsd wieder arbeiten lässt, müsste ich meinen Code noch einmal anpassen.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: Einige kleine Änderungsvorschläge
nein, du musst explizit "setPauseScanning(false)" machen, damit er wieder losläuft.
Und ich vermute (ohne jetzt nachgeschaut zu haben ), dass folgende Reihenfolge am sinnvollsten ist:
Restart();
RegisterNeutrino();
....
....
setPauseScanning(false);
setServiceChanged();
(ich bin mir z.B. nicht sicher, ob setServiceChanged() richtig funktioniert, wenn scanning == 0)
Und ich vermute (ohne jetzt nachgeschaut zu haben ), dass folgende Reihenfolge am sinnvollsten ist:
Restart();
RegisterNeutrino();
....
....
setPauseScanning(false);
setServiceChanged();
(ich bin mir z.B. nicht sicher, ob setServiceChanged() richtig funktioniert, wenn scanning == 0)
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Ok. Dann werde im Laufe des Tages den Code noch etwas umstellen und wieder hochladen. Ich hoffe dann auf ein schnellstmögliches Einchecken.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Da mir die Umsetzung der Langer-Tastendruck-Erkennung ziemlich aufwendig erscheint, ist mir noch etwas anderes eingefallen. Was haltet ihr davon, die Laufzeitanzeige einzublenden, wenn man die Infobar aufruft, und wieder auszublenden, wenn man die Infobar ein zweites Mal aufruft? Dann hat man die d-box-Taste endlich für die Hilfe frei.Gaucho316 hat geschrieben:3. Die Laufzeit, die man im Movieplayer über die d-box-Taste aufrufen kann, könnte man rechtsbündig in den Movieviewer (Infobar im Movieplayer) integrieren. So hätte man endlich wieder eine Taste für die Hilfe frei.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
So, ich habe den Sectionsd-Restart-Patch aktualisiert.
Link entfernt
Link entfernt
Zuletzt geändert von Gaucho316 am Dienstag 31. März 2009, 19:31, insgesamt 1-mal geändert.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Gedacht habe ich mir das folgendermaßen:Gaucho316 hat geschrieben:Da mir die Umsetzung der Langer-Tastendruck-Erkennung ziemlich aufwendig erscheint, ist mir noch etwas anderes eingefallen. Was haltet ihr davon, die Laufzeitanzeige einzublenden, wenn man die Infobar aufruft, und wieder auszublenden, wenn man die Infobar ein zweites Mal aufruft? Dann hat man die d-box-Taste endlich für die Hilfe frei.Gaucho316 hat geschrieben:3. Die Laufzeit, die man im Movieplayer über die d-box-Taste aufrufen kann, könnte man rechtsbündig in den Movieviewer (Infobar im Movieplayer) integrieren. So hätte man endlich wieder eine Taste für die Hilfe frei.
Code: Alles auswählen
--- tuxbox-cvs/apps/tuxbox/neutrino/src/gui/movieplayer.cpp 2009-01-16 17:19:35.000000000 +0100
+++ tuxbox-src/apps/tuxbox/neutrino/src/gui/movieplayer.cpp 2009-02-06 20:23:37.000000000 +0100
@@ -3752,20 +3752,21 @@
g_playstate = CMoviePlayerGui::AUDIOSELECT;
break;
- //-- Help --
+ //-- filetime on/off and movieviewer --
case CRCInput::RC_help:
+ if(FileTime.IsVisible())
+ FileTime.hide();
+ else
+ FileTime.show(g_fileposition / SECONDOFFSET);
+
if(g_show_movieviewer)
showMovieViewer();
- else
- showHelpTS();
break;
- //-- filetime on/off --
+
+ //-- Help --
case CRCInput::RC_setup:
- if(FileTime.IsVisible())
- FileTime.hide();
- else
- FileTime.show(g_fileposition / SECONDOFFSET);
+ showHelpTS();
break;
//-- jump 1/4 minute back --
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Leider bin ich bis jetzt immer noch nicht dazu gekommen, meinen Patch selbst zu testen. Traurig, aber wahr. Bei 13 Downloads der Version 6 im ULC habe ich aber die Hoffnung, dass das schon jemand anders getan hat. Vielleicht wieder flasher? Also, bitte meldet euch.Gaucho316 hat geschrieben:So, ich habe den Sectionsd-Restart-Patch aktualisiert.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Einige kleine Änderungsvorschläge
Gaucho316 hat geschrieben:Gaucho316 hat geschrieben:Da mir die Umsetzung der Langer-Tastendruck-Erkennung ziemlich aufwendig erscheint, ist mir noch etwas anderes eingefallen. Was haltet ihr davon, die Laufzeitanzeige einzublenden, wenn man die Infobar aufruft, und wieder auszublenden, wenn man die Infobar ein zweites Mal aufruft? Dann hat man die d-box-Taste endlich für die Hilfe frei.Gaucho316 hat geschrieben:3. Die Laufzeit, die man im Movieplayer über die d-box-Taste aufrufen kann, könnte man rechtsbündig in den Movieviewer (Infobar im Movieplayer) integrieren. So hätte man endlich wieder eine Taste für die Hilfe frei.
Dein Patch failed so wie er da steht, deshalb hier mal fürs ULC angepasst.
movieplayer.cpp-diff-2009-03-15-21-52-10.patch
Habs selbst noch nicht getestet, aber die Hilfe sollte man schon irgendwie wieder einbauen.
Was den angeht: edit: kompiliert nicht
sectionsd_stop_restart_rec_mp_v6.diff
an der Stelle müsste statt else ein else if hin:
Code: Alles auswählen
- // Start Sectionsd
- g_Sectionsd->setPauseScanning (false);
+ // Start sectionsd if stopped or restarted
+ if (g_settings.streaming_stopsectionsd == 1)
+ {
+ g_Sectionsd->setPauseScanning(false);
+ }
+ else (g_settings.streaming_stopsectionsd == 2)
+ {
+ g_Sectionsd->setPauseScanning(false);
+ g_Sectionsd->setServiceChanged(g_RemoteControl->current_channel_id, false);
+ CNeutrinoApp::getInstance()->SendSectionsdConfig();
+ }
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Danke für's Einchecken. Das mit dem vergessenen if ist natürlich dämlich. Aber ich hab's eben, wie geschrieben, nie testen können. Jetzt muss ich nur noch auf einen neuen JtG-Snap warten.
-
- Contributor
- Beiträge: 1833
- Registriert: Mittwoch 10. April 2002, 15:39
Re: Einige kleine Änderungsvorschläge
aber du weißt, das es tägliche snapshots von mir gibt?
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Ja, weiß ich natürlich. Allerdings müsste ich ja dann meine Box komplett neu flashen.
-
- Contributor
- Beiträge: 1833
- Registriert: Mittwoch 10. April 2002, 15:39
Re: Einige kleine Änderungsvorschläge
dauert max. 2 min. länger als ein root update
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Damit ist ja aber noch nicht getan. Ich muss dann noch meine Einstellungen zurückspielen. Ich bin mir auch nicht sicher, ob alle Funktionalitäten des JtG-Images auch im CVS enthalten sind. Aber ich sehe schon, dass du mich unbedingt vom JtG-Image zu deinem Image locken willst.
-
- Contributor
- Beiträge: 1833
- Registriert: Mittwoch 10. April 2002, 15:39
Re: Einige kleine Änderungsvorschläge
ich dachte eher, das es dir darum geht deine änderungen schnell zu begutachten
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: Einige kleine Änderungsvorschläge
Schöne Funktion und wer machts jetzt noch in den MP2 rein, wenn's rein darf? Der 1ser ist ja wohl bald out!dbt hat geschrieben:Dein Patch failed so wie er da steht, deshalb hier mal fürs ULC angepasst.
movieplayer.cpp-diff-2009-03-15-21-52-10.patch
Habs selbst noch nicht getestet, aber die Hilfe sollte man schon irgendwie wieder einbauen.
Was den angeht: edit: kompiliert nicht
sectionsd_stop_restart_rec_mp_v6.diff
an der Stelle müsste statt else ein else if hin:Edit: einige Kleinigkeiten an den Locales geändert und erst mal comitted.Code: Alles auswählen
- // Start Sectionsd - g_Sectionsd->setPauseScanning (false); + // Start sectionsd if stopped or restarted + if (g_settings.streaming_stopsectionsd == 1) + { + g_Sectionsd->setPauseScanning(false); + } + else (g_settings.streaming_stopsectionsd == 2) + { + g_Sectionsd->setPauseScanning(false); + g_Sectionsd->setServiceChanged(g_RemoteControl->current_channel_id, false); + CNeutrinoApp::getInstance()->SendSectionsdConfig(); + }
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: Einige kleine Änderungsvorschläge
Wieso ist eigentlich das "SendSectionsdConfig" notwendig? Der Sectionsd merkt sich doch die Konfiguration über einen Restart?
Ich persönlich würde das ja eher in der neutrino.cpp oder neutrino_menu.cpp einbauen, von wo die {audio,movie,...}-player aufgerufen werden, anstelle das in jede einzelne subroutine reinzufummeln.
..
Für den Movieplayer musste ich übrigens nie sectionsd neu starten, damit er lief, insofern hatte ich das bisher nicht eingebaut.
Ich persönlich würde das ja eher in der neutrino.cpp oder neutrino_menu.cpp einbauen, von wo die {audio,movie,...}-player aufgerufen werden, anstelle das in jede einzelne subroutine reinzufummeln.
..
Für den Movieplayer musste ich übrigens nie sectionsd neu starten, damit er lief, insofern hatte ich das bisher nicht eingebaut.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Ich habe es nur so eingebaut, wie die Funktion EPGRestart im Service-Menü es macht, unter der Annahme, dass das richtig und wichtig ist.seife hat geschrieben:Wieso ist eigentlich das "SendSectionsdConfig" notwendig? Der Sectionsd merkt sich doch die Konfiguration über einen Restart?
Da sich keiner wegen meinem Code gemeldet hat, ist es nun eben so, wie es ist. Ich programmiere das nicht um.seife hat geschrieben:Ich persönlich würde das ja eher in der neutrino.cpp oder neutrino_menu.cpp einbauen, von wo die {audio,movie,...}-player aufgerufen werden, anstelle das in jede einzelne subroutine reinzufummeln.
Bei mir ist das eben genau andersherum. Mit laufendem sectionsd kann ich nicht vernünftig Aufnahmen gucken, welche machen dagegen schon. Ich finde es auch blöd, wenn bei Aufnahmen der EPG fehlt.seife hat geschrieben:Für den Movieplayer musste ich übrigens nie sectionsd neu starten, damit er lief, insofern hatte ich das bisher nicht eingebaut.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Ich grabe mal meinen alten Thread wieder aus. Inzwischen habe ich mal etwas in diesem Zusammenhang programmiert. Dabei habe ich auch die Idee von Günther aufgegriffen, die bei der Aufnahme in den XML-Daten gespeicherte Aufnahmezeit zur Berechnung der Sprünge und der Spielzeit zu nutzen. Dieses Feature habe ich allerdings schaltbar (per neutrino.conf) gemacht, da die Berechnung bei gesplittenen Aufnahmen (durch Aufnahmeabbrüche oder eine eingestellte Splitsize) natürlich nicht funktioniert.Gaucho316 hat geschrieben:3. Die Laufzeit, die man im Movieplayer über die d-box-Taste aufrufen kann, könnte man rechtsbündig in den Movieviewer (Infobar im Movieplayer) integrieren. So hätte man endlich wieder eine Taste für die Hilfe frei.
Außerdem habe ich den Movieviewer durch den Infoviewer ersetzt. Seife hat da ja schon gute Vorarbeit geleistet. Allerdings muss durch meine Änderungen auch der Movieplayer2-Code etwas angepasst werden. Das könnte ich zwar auch machen, will Seife da aber nicht reinpfuschen.
Weiterhin habe ich noch folgendes geändert:
- Verwendung der XML-Daten (Titel und Info1) in der Infobar und auf dem LCD
- Anhalten der eingeblendeten Laufzeit im Pause-Modus
- Reaktivierung der Hilfe per OK-Taste im Pause-Modus
- Reaktivierung des Audio-Symbols auf dem LCD
- Nutzung der Play-/Pause-Symbole wie im Audioplayer
- Nutzung der XML-Daten nicht mehr nur im beim Abspielen per Moviebrowser
- Verwendung der Infobar jetzt auch beim Abspielen per VLC, dadurch wandert die Hilfe auf die OK-Taste, die Dateiinfo gibts nun bei zweimaligem Drücken der Help-Taste
Link entfernt
Zuletzt geändert von Gaucho316 am Dienstag 13. Oktober 2009, 20:28, insgesamt 1-mal geändert.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Einige kleine Änderungsvorschläge
Nur zu. Wenn etwas geändert werden muss, kann man das immer noch machen, und ausserdem glaube ich aus Seifes Kommentaren heraus zu lesen, dass er eigentlich kein Fan von Moviebrowser & Co. ist und da nicht so gerne ran geht.Das könnte ich zwar auch machen, will Seife da aber nicht reinpfuschen.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Einige kleine Änderungsvorschläge
An das aktuelle CVS angepasst: movieplayer_reclength2.diffGaucho316 hat geschrieben:Link entfernt
@Gaucho316: Ist dieser Patch noch aktuell?
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Danke fürs Anpassen meines Patches an den aktuellen CVS-Stand. Bei mir läuft der Patch übrigens nach wie vor ohne Probleme. Ich nutze den letzten JtG-Snap vom 21.07. in Kombination mit einem selbst erstellten Neutrino-Binary, in das ich den Patch integriert habe, nun schon seit einigen Wochen. Ich hoffe, dass er bald reif fürs CVS ist. Allerdings müsste dann, wie gesagt, der Movieplayer2 noch an einigen wenigen Stellen angepasst werden, damit der auch weiter kompiliert. Zudem sollte jemand, der Ahnung davon hat, dafür sorgen, dass der Movieviewer dann nicht mehr gebaut wird, da er ja nicht mehr gebraucht wird. Ich weiß nämlich nicht, ob und wo man das abstellen muss.
Der alte Patch von Günther ist dagegen nicht mehr aktuell, da ich ihn in einer veränderten Variante in meinen Patch mit eingebaut habe.
Der alte Patch von Günther ist dagegen nicht mehr aktuell, da ich ihn in einer veränderten Variante in meinen Patch mit eingebaut habe.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Einige kleine Änderungsvorschläge
Ich habe meinen Patch mal wieder ans CVS angepasst und eine kleine Änderung vorgenommen. In der Infobar im Movieplayer werden nun nicht mehr die Symbole für Videotext und Untertitel angezeigt, da sie hier sowieso ohne Funktion waren und das Falsche angezeigt haben. Kommentare sind wie immer willkommen.
Link entfernt
@seife
Ich würde auch gerne deinen Movieplayer2 anpassen, damit der mit dem von mir geänderten Infoviewer baut. Ich weiß aber leider nicht, ob und wie man im MP2 die Länge einer Aufnahme in Sekunden herausbekommt. Die abgelaufene Zeit ermittelst du ja schon, aber die Gesamtspielzeit, soweit ich das erkennen kann, wohl nicht. Es wäre schön, wenn du das selbst machen könntest. Ich habe ein paar Funktionen in infoviewer.h/.cpp und lcdd.h/.cpp geändert.
Link entfernt
@seife
Ich würde auch gerne deinen Movieplayer2 anpassen, damit der mit dem von mir geänderten Infoviewer baut. Ich weiß aber leider nicht, ob und wie man im MP2 die Länge einer Aufnahme in Sekunden herausbekommt. Die abgelaufene Zeit ermittelst du ja schon, aber die Gesamtspielzeit, soweit ich das erkennen kann, wohl nicht. Es wäre schön, wenn du das selbst machen könntest. Ich habe ein paar Funktionen in infoviewer.h/.cpp und lcdd.h/.cpp geändert.
Zuletzt geändert von Gaucho316 am Dienstag 13. Oktober 2009, 20:28, insgesamt 1-mal geändert.