Jump to content

SnowHead
 Share

Recommended Posts

SnowHead

 

Ich habe folgenden Test durch geführt:

 

Eintrag in shellexec.conf

MENU=Coolstream Men~u
	COMMENT=Info
	ACTION=&Ecm-Info,/lib/tuxbox/plugins/ecm_info.sh
	ACTION=&script,/lib/tuxbox/plugins/script.sh

Und möchte damit diese Coolstream Scripte ausführen

 

1. ecm.info.sh

#!/bin/sh
#
cat /tmp/ecm.info

exit 0

Das Script wird gar nicht ausgeführt es wird nur ganz kurz

 

"Ecm-Info

bitte warten"

 

angezeigt

 

2. script.sh

 

#!/bin/sh
edit Code gemäß Punkt 9 der Boardregeln entfernt

Das Script wird ausgeführt aber die "Echos" werden nicht angezeigt es erscheint nur die Meldung

 

"Script

bitte warten"

 

für ein paar Sekunden.

 

Die Dateien file1", "file2" und "file3" sind nach dem ausführen vorhanden. (waren vorher gelöscht)

 

Was muss ich ändern damit die Scripte korrekt ausgeführt und angezeigt werden?

 

urkrossi

Edited by SnowHead
Einhaltung von Punkt 9 der Boardregeln
Link to comment
Share on other sites

  • Admin

@urkrossi

 

Das FlexMenü gibt keine Shellausgaben der gestarteten Scripte auf dem Bildschirm aus.

Das hat es noch nie. Wenn Du die Infos am Ende anzeigen willst, mußt Du die Nachrichten

in eine Textdatei nach /tmp/ schreiben und sie am Ende mit der msgbox als Popup anzeigen.

Ich möchte Dich aber bitten, daran zu denken, daß in diesem Forum Punkt 9 der Boardregeln

gilt.

Link to comment
Share on other sites

Hallo snowhead. Sumisu hat mir freundlicherweise Zugang zum TV Guide gewährt um diesen gemeinsam mit ihm auf die CS zu portieren. (Nur kein Stress dabei ^^)

Dabei ist mir aufgefallen das in der aktuellsten Version etwas wie:

 

MENU=&Foo
do some stuff here
ENDMENU=rm /tmp/tmpf1.tg,[ -e /tmp/tmpf1.tg ]

 

nicht funktioniert.

 

Ist das ausführen von Befehlen beim schliessen der Menüs noch nicht implementiert oder hakts da wo anders?

Edited by Striper
Link to comment
Share on other sites

  • Admin

@Striper

 

Danke für den Hinweis. Da war ein Fehler in OnMenuClose(). Statt

"=" mußte es da an einer Stelle "|=" heißen. Der Eintrag

 

ENDMENU=rm /tmp/tmpf1.tg,/tmp/tmpf1.tg

oder noch einfacher

 

ENDMENU=rm -f /tmp/tmpf1.tg

hätte übrigens funktioniert.

 

Für den MovieGuide braucht Sumisu meiner Meinung nach nur die

Fenstermaße und Fontgröße anzupassen. Wenn Du die Authorisie-

rung hinbekommst, sollten eigentlich keine weiteren Probleme auf-

treten.

 

 

@All

 

Der oben beschriebene Bug ist einschließlich weiterer kleiner Fehler

in der oben angehängten Version gefixt.

Link to comment
Share on other sites

Danke für den Hinweis. Da war ein Fehler in OnMenuClose(). Statt

"=" mußte es da an einer Stelle "|=" heißen. Der Eintrag

 

ENDMENU=rm /tmp/tmpf1.tg,/tmp/tmpf1.tg

oder noch einfacher

 

ENDMENU=rm -f /tmp/tmpf1.tg

hätte übrigens funktioniert.

 

Für den MovieGuide braucht Sumisu meiner Meinung nach nur die

Fenstermaße und Fontgröße anzupassen. Wenn Du die Authorisie-

rung hinbekommst, sollten eigentlich keine weiteren Probleme auf-

treten.

 

Danke, an der Schriftgröße haben wir schon rumgeändert. Die hat er derzeit auf 28 eingestellt.

Mit dem Ändern der Config (Premiere AN/AUS, ÖR AN/AUS etc...) gibts derzeit noch Probleme. Aber erstmal mit der neuen Version gegenchecken...

Ansonsten sieht die Sache schon recht gut aus.

 

Gruß

Edited by Striper
Link to comment
Share on other sites

Das Problem mit der Config besteht leider immer noch. Sowas hier z.B. scheint nicht zu funktionieren:

 

ACTION=&~S (EIN) Free-TV ~OR,sendertemp=;rm -f /var/tuxbox/config/tvguide.conf;echo ${sendertemp}>>/var/tuxbox/config/tvguide.conf;msgbox size=35 title='TV-Guide - Setup' msg='~cGruppe Free-TV ~OR~n~cwurde entfernt~n~n~cTV-Guide bitte neu starten'

Link to comment
Share on other sites

  • Admin

@Striper

 

Bei mir funktioniert dieser Eintrag. Ich habe den mal in mein Testmenü reingenommen und

aufgerufen. Das Ergebnis sah so aus:

 

sh.png

 

Auch die Datei /var/tuxbox/config/tvguide.conf wird angelegt, ist aber logischerweise leer,

da "sendertemp" ja auch leer ist.

Alles, was bei der DBox funktioniert hat, sollte auch auf der Dream funktionieren, da ich im

Interpreterteil nichts geändert habe. Die Anpassungen betrafen ausschließlich die Bildschirm-

ausgabe und Fernbedienungsabfrage. Na ja, und den einen Bugfix bei ENDMENU. Dieser Bug

ist allerdings in der DBox-Version noch drin.

Link to comment
Share on other sites

und den einen Bugfix bei ENDMENU. Dieser Bug

ist allerdings in der DBox-Version noch drin.

Ist das der passende Patch?

--- apps/tuxbox/plugins/shellexec/shellexec.c    2009-12-27 13:08:02.000000000 +0100
+++ apps/tuxbox/plugins/shellexec/shellexec.c 2010-02-20 11:43:36.000000000 +0100
@@ -347,7 +347,7 @@
       {
               res=!system(dep);
               ClearKeys();
-//             res=ExistFile(dep);
+               res|=ExistFile(dep);
       }
       if(cmd && res)
       {

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

ich betreibe die Coolstream momentan über Scart-Ausgang an einem Panasonic Röhrengerät.

Die Auflösung in der rcS der Cooli habe ich angepasst, damit nicht 1/4 der Grafik im unteren

Bereich aus dem TV fällt:

/sbin/insmod cnxt_fb cnxtfb_standalone=1 cnxtfb_width=800 cnxtfb_height=600

Hier mal eine Shot mit folgenden Einstellungen in der shellexec.conf

WIDTH=420

HIGHT=450

FONTSIZE=22

LINESPP=14

PAGING=1

Die Schrift sieht etwas bescheiden aus, im Vergleich mit der Version der Dbox. Die

Buchstaben sind ziemlich schmal und sehen auf der Röhre etwas zerhackt aus. Die

horizontalen Linien sind jetzt ziemlich dick. Eventuell sollte man überlegen ob, man

in der shellexec.conf eine Angabe des genutzten Ausgangs abfragen sollte. Micron_bold

hatte ich auch mal eingestellt. Ich muss mal schauen ob überhaupt noch andere

Schriften geladen werden. Könntest Du eine beim Starten eine Ausgabe auf Konsole

einbauen?

cool22e12351b5png.png

dboxold0f83f96bpng.png

Edited by GetAway
Link to comment
Share on other sites

  • Admin

@GetAway

 

Die nutzbaren Schriften auf der Cooly sind auch nicht besonders toll. Der standardmäßig

verwendete Neutrino-Font war da noch das kleinste Übel. Andere Fonts können, wenn

vorhanden in der Config vorgegeben werden und werden auch genutzt. Da die nicht so

tolle Schrift vom Adapter unabhängig ist, nützt dessen Angabe in der Config nichts. Ich

wüßte auch nicht, was ich abhängig vom Adapter anders machen sollte.

Was soll denn auf die Konsole ausgegeben werden?

Link to comment
Share on other sites

Ich wüßte auch nicht, was ich abhängig vom Adapter anders machen sollte.

Abhängig von meinen Tests, überlege ich mir mal, ob so etwas Sinn macht.

 

Was soll denn auf die Konsole ausgegeben werden?

Mir würde der geladene Font der Startseite reichen.
Link to comment
Share on other sites

Hi SnowHead,

 

Check_Config() wird nach

if((error = FTC_Manager_LookupFace(manager, FONT, &face)))

aufgerufen, deswegen wird immer neutrino.ttf geladen, egal was in der shellexec.conf steht.

Ich habe mal eine printf-Ausgabe, direkt nach dem einlesen des Font aus der .conf, eingebaut.

Du kannst hier die Reihenfolge erkennen.

~ # shellexec Version 1.11
shellexec <FTC_Manager_LookupFace Font "/share/fonts/neutrino.ttf" loaded>
__TEST= "/share/fonts/micron_bold.ttf"

Link to comment
Share on other sites

So das passt jetzt, zumal die Schrift- u. Schriftgröße der Shellexec

mit micron_bold genauso aussehen wie auf der Dbox.

123.png

 

Leider ist die Schriftgrößte von msgbox und input noch nicht anpassbar.

Du siehst selber wie groß die Schrift bei mir, mit der Auflösung 768x576,

rüberkommt. Bei einer voreingestellten Auflösung von 1280x720 ist das

bestimmt OK.

 

Es wäre schön, wenn das in einer Konfigdatei, ähnlich wie bei Shellexec,

einstellbar wäre. Vielleicht stellt man auch nur 3 Vorgaben zur Verfügung,

obwohl die Schrift wählbar sein sollte. Neutrino.ttf gefällt mir persönlich

weniger gut.

Beispiel:

Standard = 1280x720

1 = 1024x720

2 = 768x576

 

Hier noch ein Patch der 2 mögliche Memory leaks schließt.

--- shellexec.c.orig	2010-03-12 00:12:44.000000000 +0100
+++ shellexec.c	2010-03-12 00:20:42.000000000 +0100
@@ -876,6 +876,7 @@ char *ptr1,*ptr2,*ptr3,*ptr4, *wstr;
		{
			printf(NOMEM);
			Clear_List(m,0);
+			free(wstr);
			return 0;
		}
		for(i=m->num_entrys; i<m->num_entrys+LIST_STEP; i++)
@@ -884,6 +885,7 @@ char *ptr1,*ptr2,*ptr3,*ptr4, *wstr;
				{
				printf(NOMEM);
				Clear_List(m,0);
+				free(wstr);
				return -1;
				}
			m->list[i]=entr;

Edited by GetAway
Link to comment
Share on other sites

Da die Änderung der Auflösung in dieser Zeile der S98loadmodule seit wenigen Revisionen

nun einen unerwünschten Nebeneffekt mit sich bringt, ist es wohl nicht mehr angebracht

auf diese Weise die Auflösung zu ändern.

im cnxt_fb cnxtfb_standalone=1 cnxtfb_width=1280 cnxtfb_height=720

 

Die Änderung auf 768x576 bringt zwar weiterhin eine größere Ausgabe auf den Schirm,

verschiebt nun den Frambuffer um die Hälfte der Breite nach Rechts und ist somit

unbrauchbar. Alternativ kann man Neutrino mit -r 120 80 starten, dadurch wird die

Schrift größer und breiter. Dies läßt aber die Plugins unberührt. Schade.

Link to comment
Share on other sites

  • Admin

@GetAway

 

Da die Plugins in ANSI-C geschrieben sind, haben sie weder Zugriff auf die aktuell eingestellte Auflösung

noch auf die Neutrino-Framebuffer-Methoden. Da sie alles selbst machen müssen, wirken sich Änderungen

in den Neutrino-Einstellungen logischerweise nicht auf ihre eigenen Zeichenfunktionen aus.

Sollten die Plugins später mal nach C++ konvertiert werden, können sie über die Videoklasse die aktuelle

Auflösung abfragen und für ihre gesamten grafischen Ausgaben und Tastenabfragen die Neutrino-Klassen

nutzen, wodurch auch die von Dir gewünschte selbstständige Anpassung an die Auflösung möglich wäre.

Vorher kann man da erst mal nichts schrauben.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...