Einige kleine Änderungsvorschläge

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Einige kleine Änderungsvorschläge

Beitrag von seife »

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.
Im Prinzip ja.
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
Allerdings weiss ich gerade nicht, ob beim loslassen einer "wiederholten" Taste ein
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
Legende:
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 :-)
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Einige kleine Änderungsvorschläge

Beitrag von flasher »

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ß
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Einige kleine Änderungsvorschläge

Beitrag von seife »

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)
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

Ok. Dann werde im Laufe des Tages den Code noch etwas umstellen und wieder hochladen. Ich hoffe dann auf ein schnellstmögliches Einchecken.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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.
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
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

So, ich habe den Sectionsd-Restart-Patch aktualisiert.

Link entfernt
Zuletzt geändert von Gaucho316 am Dienstag 31. März 2009, 19:31, insgesamt 1-mal geändert.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

Gaucho316 hat geschrieben:
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.
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.
Gedacht habe ich mir das folgendermaßen:

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 --
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

Gaucho316 hat geschrieben:So, ich habe den Sectionsd-Restart-Patch aktualisiert.
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. :wink:
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Einige kleine Änderungsvorschläge

Beitrag von dbt »

Gaucho316 hat geschrieben:
Gaucho316 hat geschrieben:
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.
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.


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();
+	}
Edit: einige Kleinigkeiten an den Locales geändert und erst mal comitted.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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.
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: Einige kleine Änderungsvorschläge

Beitrag von dietmarw »

aber du weißt, das es tägliche snapshots von mir gibt?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

Ja, weiß ich natürlich. Allerdings müsste ich ja dann meine Box komplett neu flashen.
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: Einige kleine Änderungsvorschläge

Beitrag von dietmarw »

dauert max. 2 min. länger als ein root update ;)
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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. :D :D :D
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: Einige kleine Änderungsvorschläge

Beitrag von dietmarw »

ich dachte eher, das es dir darum geht deine änderungen schnell zu begutachten ;)
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Einige kleine Änderungsvorschläge

Beitrag von GetAway »

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:

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();
+	}
Edit: einige Kleinigkeiten an den Locales geändert und erst mal comitted.
Schöne Funktion und wer machts jetzt noch in den MP2 rein, wenn's rein darf? Der 1ser ist ja wohl bald out! :wink:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Einige kleine Änderungsvorschläge

Beitrag von seife »

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.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

seife hat geschrieben:Wieso ist eigentlich das "SendSectionsdConfig" notwendig? Der Sectionsd merkt sich doch die Konfiguration über einen Restart?
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: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.
Da sich keiner wegen meinem Code gemeldet hat, ist es nun eben so, wie es ist. Ich programmiere das nicht um.
seife hat geschrieben:Für den Movieplayer musste ich übrigens nie sectionsd neu starten, damit er lief, insofern hatte ich das bisher nicht eingebaut.
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.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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.
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.

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
Ich hoffe, dass ich nichts vergessen habe aufzuschreiben. Ich hoffe, dass das so oder so ähnlich in naher Zukunft ins CVS wandern kann.

Link entfernt
Zuletzt geändert von Gaucho316 am Dienstag 13. Oktober 2009, 20:28, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Einige kleine Änderungsvorschläge

Beitrag von dbt »

Das könnte ich zwar auch machen, will Seife da aber nicht reinpfuschen.
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. :gruebel: :wink:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Einige kleine Änderungsvorschläge

Beitrag von rhabarber1848 »

Gaucho316 hat geschrieben:Link entfernt
An das aktuelle CVS angepasst: movieplayer_reclength2.diff

@Gaucho316: Ist dieser Patch noch aktuell?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Einige kleine Änderungsvorschläge

Beitrag von Gaucho316 »

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.
Zuletzt geändert von Gaucho316 am Dienstag 13. Oktober 2009, 20:28, insgesamt 1-mal geändert.