fritz das dass nicht einfach ist weiß ich selbst.
Dachte nur weil es im Radiomodus klappt
hier mal kurzer Test mit paar kleinen New York Bildern................... http://udog.dyn.vh0st.me/images/Samsung ... 205423.mp4
trotzdem HUT ab...Dein Plugin ist duffte...so kann man dass öfter mal nutzen ohne groß suchen zu müssen
Nicht dass Verärgerung aufkommt, das ist keine Frage des "wollens" sondern des "könnens", ich kann deinen Wunsch leider nicht umsetzen, da ich nicht weis wie
Ich kann leider damit nichts anfangen, einer der wenigen der vermutlich was damit anfangen könnte dürfte "SatBaby" sein, aber den erreicht man nicht mehr.
Wenn einer Kontakt zu Ihm hätte könnte Er ja vorsichtig mal anklopfen.
Habe eine Weile rumgebastelt und mich belesen. So geht das leider nicht, denn anscheinend läßt LUA keine Funktionen im Hintergrund laufen. Egal was man versucht, Schleifen wie while, repeat etc. bringen LUA dazu immer zu warten, bis die Bedingung erfüllt ist - erst dann geht es weiter. Scheint also so leider nicht zu funktionieren. Dennoch habe ich zumindest eine Zufallsfunktion für Bilder eingebaut (Zeile 189 ist der Path vergeben, derzeit /var/boot/), d.h. immer wenn der Radiosender gewechselt wird (oder neu gestartet wird) wird ein anderes Bild angezeigt. Mehr kann ich leider auch nicht tun...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Folgende Benutzer bedankten sich beim Autor BPanther für den Beitrag:
local posix = require "posix"
local pid = posix.fork()
if pid == 0 then
-- this is the child process
print(posix.getpid('pid') .. ": child process")
else
-- this is the parent process
print(posix.getpid('pid') .. ": parent process")
-- wait for the child process to finish
posix.wait(pid)
end
-- both processes get here
print(posix.getpid('pid') .. ": quitting")
luaposix kann mit fork einen 2. prozess starten...
Any code after the posix.fork() executed in both parent and child. The child process has been detached from parent process. The only different is the pid.
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.
@BPanther
es müsste auch random Bildwechsel nach einen fest eingestellten Wert gehen wenn ich dass alte ISS-Plugin richtig verstanden habe war dort so eine Funktion drin.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
...
repeat
os.execute('wget -q -O - '..image..' > /tmp/iss-location.jpg')
if size_x == size_tv_x
then
p_tv:paint()
else
start_x = math.random(x_beg, x_end)
start_y = math.random(y_beg, y_end)
p:hide()
p = cpicture.new{x=start_x, y=start_y, dx=size_x, dy=size_y, image='/tmp/iss-location.jpg'}
p:paint()
end
i = 0
repeat
i = i + 1
msg, data = n:GetInput(500)
until msg == RC.ok or msg == RC.home or msg == RC.red or i == timeout
leider habe ich aktuell eine Denkblokade so dass ich wenig helfen kann.
ps.: Es könnte vermutlich sogar eine wechselnde Bildposition möglich sein, d.h. wenn man kleinere Bilder verwenden will und die an unterschiedlichen Stellen angezeigt werden sollen.
Müsste man testen. Die Bilder-Zufallsfunktion einfach nur neu aufrufen nach X Sekunden gefolgt von ShowPicture. Das Problem ist nämlich, ein repeat ... z.B. Bilderwechsel hier ... until PlayFile durchläuft die Schleife nur einmalig. Daher muß es anders laufen.
Folgende Benutzer bedankten sich beim Autor BPanther für den Beitrag:
Bei dem ISS Teil ist nichts, was die Ausführung blockieren könnte, daher funktioniert das mit dem Timeout, PlayFile blockiert aber. Daher war das mit den Schleifen hier bisher erfolglos. Mit dem Posix-Fork habe ich eben auch mal kurz gespielt, aber da hatte ich ein ähnliches Problem - und zusätzlich konnte ich Neutrino selbst dann nicht mehr beenden, ist immer wieder ins LUA gespungen. Das muß sich wohl jemand anschauen, der da mit dem Posix besser klarkommt.
MfG BPanther KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.
Ich bekomme es auch nur so, wie du, hin dass das Bild einmal beim Senderwechsel ausgewählt wird und dass dieses Bild bis zum Senderwechsel als Hintergrund angezeigt wird, ich hätte dort gerne ein zeitgesteurtes wechseln aufs default-Bild und dass das default-Bild jedesmal im Auswahlmenü als Hintergrund angezeigt wird.
Ich habe mich dazu am "ARD-Radionet" vergriffen die ARD liefert zu jeden Sender dem Sie dort aufgenommen haben auch ein Bild mit.
Wenn ich z.B. den hr3 auswähle wird das Bild vom hr3 als Hintergrund genommen und solange ich hr3 höre wird das Bild angezeigt, beim wechseln auf hr2 dann das Bild von hr2.
Aussehen tut dass z.B. so ..
screenshot_ard_radionet_test.png
oder z.B. so
screenshot_ard_radionet_test2.png
Mir gefällt da auch nicht dass das Bild auf die volle Bildschirmgrösse aufgeblasen wird (bei SD-Bildern unschön, bei HD-Bildern o.k.) und wie bei dir ist kein Bildwechsel ohne Umschalten (Senderwechsel) möglich.
Es fehlt mir noch dass saubere automatische löschen des Bildes beim Senderwechsel oder beim beenden des Plugins aus dem /tmp, ich habe aktuell hardcore einfach das blinde löschen jedes "jpg" oder "png" dort eingebaut damit der /tmp nicht voll gemüllt wird.
ps.: habe den Beitrag etwas überarbeitet damit klar wird was ich meine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Folgende Benutzer bedankten sich beim Autor fritz für den Beitrag (Insgesamt 2):
udog (Di 19. Feb 2019, 14:26) • BPanther (Di 19. Feb 2019, 15:36)
local posix = require "posix"
local pid = posix.fork()
if pid == 0 then
-- Kindprozess
tick = 0
time = 0
running = true
function sleep(n)
os.execute("sleep " .. tonumber(n))
end
function change_picture()
print("Code zum Bild wechseln")
end
function timer()
tick = tick+1
if tick == 60 then
time = time+1
tick = 0
end
if tick == 15 then
change_picture()
end
sleep(1)
end
running = true
while running do
timer()
end
end
-- restliches Programm
Ich befürchte dass wird nicht ausreichen, den ich glaube dass das anzeigen des "alten" Bildes erst gestoppt werden muss und dann das "neue" wieder mit vplay:ShowPicture ("...") ecta. gestartet werden, ohne stoppen der Anzeige und neu starten denke ich wird es wohl nicht gehen.