gerade als Neuling hat man das Problem, das einige Scripte nicht so wie erwartet funktionieren.
Auch hier im Forum liest man immer wieder davon.
Die meisten Probleme die ich hatte, waren auf get_propset/set_prop zurückzuführen.
Auch nach einem halben Jahr falle ich immer wieder darauf rein…
get_propset gibt eine Identifikation der Kameramodelle.
set_prop setzt Systemvariablen.
Meine S110 liefert bei get_propset den Wert 5.
Nun stehen in etlichen Scripten, auch bei den Beispielen, Zeilen wie diese:
- Code: Alles auswählen
function set_resolution(set_size)
if get_propset() == 1 then
set_prop(24,set_size)
else
set_prop(218,set_size)
end
end
Hier wird z.B. die Systemvariable für die Auflösung gesetzt.
Die Systemvariable für die Auflösung hat bei den verschiedenen Kameramodellen die folgenden Werte:
propset 1 => 24
propset 2 => 218
propset 3 => 220
propset 4 => 222
propset 5 => 222
propset 6 => 221
Läuft das Script nun auf meiner Kamera, dann bleibt das Script stehen, weil auf eine falsche Systemvariable geschrieben wird. Das Beispiel stammt vermutlich aus einer Zeit, in der es nur 1 und 2 gab.
Man sollte also beim Ausführen von Scripten immer darauf achten, ob solche Befehle im Script vorhanden.
Eine Möglichkeit, die Befehle allgemeingültig zu halten, ist diese:
- Code: Alles auswählen
proptable=require "propcase"
.
.
.
function set_resolution(set_size)
set_prop(proptable.RESOLUTION,set_size)
end
In diesem Fall kann man auch direkt
- Code: Alles auswählen
set_resolution
verwenden. Es gibt aber vermutlich nicht für jede Systemvariable eine Funktion.
Wer ist eigentlich für die Pflege der Script auf der Kamera zuständig? Zumindest diese sollte diesbezüglich angepasst werden. Eventuell auch nur durch eine Ausgabe am Anfang, das es nur bei 1 und 2 funktioniert.
Grüße Jörg