Das müsste man doch hier erledigen können ... also statt dem print Befehl. Den hatte ich nur zum Testen drin
function change_picture()
--print("Code zum Bild wechseln")
end
SHOUTcast -Simpleplayer
- BPanther
- Administrator
- Beiträge: 13411
- Registriert: Do 11. Jan 2007, 00:06
- Wohnort: Berlin
- Hat sich bedankt: 659 Mal
- Danksagung erhalten: 1364 Mal
- Kontaktdaten:
Re: SHOUTcast -Simpleplayer
Stop war bei meinen Tests nicht nötig, läuft einfach durch. Aber kann sicherlich nicht schaden, da ich nicht weiß, ob es vielleicht den RAM dann zumüllt wenn das nicht vorher gestoppt wird.
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)
- fritz
- Moderator
- Beiträge: 1339
- Registriert: Mi 13. Jul 2011, 23:15
- Wohnort: Bundesdorf
- Hat sich bedankt: 72 Mal
- Danksagung erhalten: 215 Mal
Re: SHOUTcast -Simpleplayer
Testversion 3 des ARD-radionet-Players
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- Bewertung: 7.69%
Axas E4HD, AX HD 51, wwio Bre2ze 4K & Zgemma H7C
astra 19,2°E & DVB-T2 & DVB-C (Vodafone West)
astra 19,2°E & DVB-T2 & DVB-C (Vodafone West)
- BPanther
- Administrator
- Beiträge: 13411
- Registriert: Do 11. Jan 2007, 00:06
- Wohnort: Berlin
- Hat sich bedankt: 659 Mal
- Danksagung erhalten: 1364 Mal
- Kontaktdaten:
Re: SHOUTcast -Simpleplayer
Wie Du es wolltest...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- Bewertung: 7.69%
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)
-
- Developer
- Beiträge: 73
- Registriert: Sa 12. Jan 2013, 10:19
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 5 Mal
Re: SHOUTcast -Simpleplayer
Ich habe die Sache mit dem posix.fork() noch ein bisschen weiter verfolgt. Meine Erkenntnis ist, dass wir da nichts bei der Verwendung falsch gemacht haben, sondern, dass es so schlicht nicht funktionieren kann. Das Problem besteht darin, dass mit posix.fork ein komplett neuer Prozess gestartet wird. Dieser hat dann keinen Zugriff auf die Ressourcen des ursprünglichen lua Scripts. Das läuft solange einwandfrei, wie nur auf Systemressourcen zugegriffen wird. Man kann z.B. problemlos print in die Konsole absetzen oder z.B flag files anlegen lassen. Sobald man aber vom Kindprozess aus auf Neutrino Api Funktionen zugreifen will, bekommt man einen Ressource busy Fehler.
Man müsste das also von Neutrino aus lösen. Wenn man eine allgemeingültige Lösung will eine Threading Funktion für die Lua Api bereitstellen, die intern dann openthreads nutzt oder ansonsten eine Anbindung schaffen, damit man von Lua aus den Bildbetrachter einbinden kann. Klingt beides nach schwierigen Aufgaben
Man müsste das also von Neutrino aus lösen. Wenn man eine allgemeingültige Lösung will eine Threading Funktion für die Lua Api bereitstellen, die intern dann openthreads nutzt oder ansonsten eine Anbindung schaffen, damit man von Lua aus den Bildbetrachter einbinden kann. Klingt beides nach schwierigen Aufgaben
- Bewertung: 7.69%
- udog
- Moderator
- Beiträge: 1634
- Registriert: Mi 6. Jul 2011, 11:18
- Wohnort: Thüringer (Altenburger Land)
- Hat sich bedankt: 313 Mal
- Danksagung erhalten: 198 Mal
- Kontaktdaten:
Re: SHOUTcast -Simpleplayer
Hallo in die Runde
Ich hatte mir nochmal Gedanken gemacht wegen dem Picture Viewer während der Shoutcast wiedergabe
Hatte doch noch das Lua Bootlogowechselplugin angeschaut damit funktioniert das ganze zumindest händig (ohne Diashow)
Vorraussetzung ist man legt das auf die rote Taste.
-man braucht Bilder die in einem Ordner zusammen mit einer xml Datei auf einen Server kommen.... bei mir heißt die boot.xml (nur einfache testbilder mal genutzt )
mit folgenden Inhalt
zb. so
boot.xml
die komplette Lua sieht so aus, kann aber noch gekürzt werden da wir ja einiges nicht brauchen.
wer sich auskennt könnte den Rahmen noch schmaler machen und die Diashow integrieren.
Die Adresse der Bilddateien kann vielleicht auch ein Stick an der Box oder ein dafür gemountetes Verzeichniss sein.
soll nur mal zum testen sein...siehe video
Videotest
hier darf gebastelt werden
Ich hatte mir nochmal Gedanken gemacht wegen dem Picture Viewer während der Shoutcast wiedergabe
Hatte doch noch das Lua Bootlogowechselplugin angeschaut damit funktioniert das ganze zumindest händig (ohne Diashow)
Vorraussetzung ist man legt das auf die rote Taste.
-man braucht Bilder die in einem Ordner zusammen mit einer xml Datei auf einen Server kommen.... bei mir heißt die boot.xml (nur einfache testbilder mal genutzt )
mit folgenden Inhalt
zb. so
boot.xml
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<bild>Bild1.jpg</bild>
<bild>Bild2.jpg</bild>
<bild>Bild3.jpg</bild>
<bild>Bild4.jpg</bild>
<bild>Bild5.jpg</bild>
<bild>Bild6.jpg</bild>
<bild>Bild7.jpg</bild>
<bild>Bild8.jpg</bild>
<bild>Bild9.jpg</bild>
Code: Alles auswählen
--logo LUA Plugin.
--udog
--2014
--Objekte
function init()
server = 'http://Udogxxxxxxxx/xxxx/mein Ordner/'; --hier Sever anpassen
xmldatei = 'boot.xml'; --name der xml anpassen
pictures = {};
maxPicture = 0;
pictureNumber = 0;
n = neutrino();
end
-- Xml mit Bildernamen auslesen und Array speichern.
function getPictures()
local fname = "/tmp/tmp_pictures.xml";
os.execute("wget -q -O " .. fname .. " '" .. server .. xmldatei .. "'" );
local fp = io.open(fname, "r")
if fp == nil then
print("Error opening file '" .. fname .. "'.")
os.exit(1)
else
local s = fp:read("*a")
fp:close()
i = 1;
for picture in string.gmatch(s, "<bild>(.-)</bild>") do
pictures[i] = picture;
i = i + 1;
end
maxPicture = i - 1;
pictureNumber = 1;
if pictures[1] ~= nil then
getPicture();
end
end
end
--herunterladen des Bildes
function getPicture()
local fname = "/tmp/tmp_bootpicture.jpg"
os.execute("wget -q -U Mozilla -O " .. fname .. " '" .. server .. pictures[pictureNumber] .. "'");
showPicture();
end
--Anzeigen der Bilder
function showPicture()
oldPictureNumber = pictureNumber;
local spacer = 8;
local x = 180;
local y = 70;
local dx = 900;
local dy = 590;
w = cwindow.new{x=x, y=y, dx=dx, dy=dy, title="Picture Viewer", btnRed="Zurück", btnGreen="Vor", btnYellow="Diashow"};
w:paint();
n:DisplayImage("/tmp/tmp_bootpicture.jpg", 220, 130, 800, 450)
neutrinoExec();
CloseNeutrino()
if oldPictureNumber ~= pictureNumber then
getPicture();
end
end
--Fenster anzeigen und auf Tasteneingaben reagieren
function neutrinoExec()
repeat
msg, data = n:GetInput(500)
-- Taste Rot zeigt das vorherige Bild an
if (msg == RC['left'] or msg == RC['page_left']) then
if pictureNumber == 1 then
pictureNumber = maxPicture
else
pictureNumber = pictureNumber - 1;
end
msg = RC['home'];
-- Taste Grün zeigt den Text wieder an
elseif (msg == RC['right'] or msg == RC['page_right']) then
if pictureNumber == maxPicture then
pictureNumber = 1;
else
pictureNumber = pictureNumber + 1;
end
msg = RC['home'];
-- Taste Gelb speichert das Bootlogo
elseif (msg == RC['yellow']) then
getBootlogo(pictureNumber);
end
-- Taste Exit oder Menü beendet das Fenster
until msg == RC['home'] or msg == RC['setup'];
end
--Fenster schließen
function CloseNeutrino()
w = nil
collectgarbage();
end
--[[
MAIN
]]
init();
getPictures();
os.execute("rm /tmp/tmp_boot*.*");
Die Adresse der Bilddateien kann vielleicht auch ein Stick an der Box oder ein dafür gemountetes Verzeichniss sein.
soll nur mal zum testen sein...siehe video
Videotest
hier darf gebastelt werden
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- BPanther
- Administrator
- Beiträge: 13411
- Registriert: Do 11. Jan 2007, 00:06
- Wohnort: Berlin
- Hat sich bedankt: 659 Mal
- Danksagung erhalten: 1364 Mal
- Kontaktdaten:
Re: SHOUTcast -Simpleplayer
Vergiss dabei nicht, daß es nicht um den wechsel ansich geht, den habe ich ja eingebaut gehabt. Es geht ja darum, daß mehrere unterschiedliche Dinge gleichzeitig abgearbeitet werden sollen. Der Logowechsler macht ja nur im Grunde die eine Sache. Logo ändern, dann auf Tastendruck warten, also in Reihenfolge. In dem Moment wenn was abgespielt wird (Inet-Radio), wird das lua an der Stelle angehalten und gewartet, bis das abspielen wieder angehalten wird, die Kontrolle hat dann der Player übernommen. Erst wenn das abspielen gestoppt wird und der Player somit beendet wird, wird das lua weiter abgearbeitet.
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)