wenn das mit den Tasten kein Problem ist dann hier mal ein Versucherle
ohne große Fehlerabfragen. Da es zum großen Teil auf erprobten Skripts von
msl beruht sollte es auch tun. Es ist aber noch viel im Skript was man
nicht wirklich braucht. Einige der Funktionen sind heiße Kandidaten für eine lib
aber noch nicht wirklich ausgereift.
Wie funktionierts:
Aus der Liste der Kurvendateien (*.cvf) aus dem Verzeichnis /CHDK/CURVES
wählt man eine aus.
Diese Datei wird nach /CHDK/CURVES/STD.CVF kopiert.
Wenn über das CHDK-Hauptmenü/Tonwertkurven diese
std.cvf als custom-Kurve eingestellt ist kann man also über das Skript
die Benutzerkurve beliebig wechseln.
Das Skript
zeigt eine Auswahl
Statuszeile
aus
ein
dateiliste
...
...
..
dateiliste
mit den Kurvendateien aus /chdk/curves
Die aktive Zeile ist mit Keilen markiert.
Mit [up],[down] bewegt man sich zeilenweise,
mit [left],[right] seitenweise in der Liste.
[set] wählt die Zeile aus.
Statuszeile:
zeigt die aktuell auf std.cvf kopierte Datei an.
ist keine std.cvf vorhanden wird "Keine Kurve gesetzt" angezeigt
aus: schaltet Tonwertkurven aus
ansonsten wird eingeschaltet.
Wird eine Datei ausgewählt wird sie nach /chdk/curves/std.cvf kopiert.
D.h. bei der ersten Auswahl einer Datei wird std.cvf erzeugt.
EDIT wichtig
Dann muß man nur noch im Tonwertkurvenmenü diese std.cvf einsetzen.
chdk-hautmenü
Tonwertkurven
Lade Kurvenprofile...
a/chdk/curves/std.cvf
Der Name der aktuell ausgewählten Kurve wird abgespeichert
und beim nächsten Skriptstart angezeigt.
Das kann das Skript nicht:
Es kann keine System-Kurve +1Ev,+2Ev usw. ausgewählt werden.
Dafür gibt es aber Ersatz in den Kurvendateien von Sinter
Das Skript hat eine Tastaturwiederholung.
Die ist nach meiner Meinung in langen Dateilisten notwendig damit man
sich und die Kamera nicht zu Tode klickt.
Über den Parameter keydelay muß das auf den Benutzer und die Kamera abgestimmt werden.
Die übrigen Parameter beziehen sich auf das Konsolenfenster und sind
auf 25x5 eingestellt. Wenn sich jemand die Konsole angepasst hat, muß er das
auch mit dem Skript machen.
set_raw_nr(2) -- noise_reduction=ON
@Sinter
Was schaltest du da sonst noch? Und was willst Du damit erreichen?
@msl
Das scheint wirklich zu klappen. Da warst Du sofort auf dem richtigen Dampfer
Gruß naddel
Update4
Fehler:
Kürzung von langen Dateinamen bei schmaler Konsole behoben DANK Pterozaurus
Ergänzung:
Diverse Parameterschalter zur Ausgabe von Zwischenwerten zur Fehlersuche eingebaut.
--Die können aber schon wieder raus.
Parameter a schaltet Rauschreduzierung Sinter
Parameter d Skript beendet ohne Tastendruck gehtnix
Da man den Status der Kurvenfunktion leicht in der CHDK-Anzeige
sieht ist fraglich ob man überhaupt eine Infoausgabe braucht.
Skript überprüft ob als Custom-Kurve std.cvf ausgewählt ist
und gibt entsprechende Hinweise.
Update5
Fehler:
Anzeige .. auf dryos hoffentlich behoben.
Es sollte in jedem Fall eine auswählbare STD.CVF erzeugt werden.
Änderung:
curves.cfg ersetzt durch CHDK/DATA/CURVES.DTA
Skript startet jetzt auch im Wiedergabemodus
statt set kann jetzt auch shoot_half gedrückt werden.
Ergänzung:
über Taste menu kann ein Unterverzeichnis von CURVES geladen werden
Falls die Datei curve.lst von Sinter (enthalten in SintersCurvePackage_1_2_2.zip) im Verz. Curves vorhanden ist kann statt der Dateinamen
der Kommentar angezeigt werden.
Das lässt sich über den neuen Parameterschalter Dateibeschreibungen schalten.
Update6
Fehler:
Es sollten keine ungültigen Datei- Verzeichnisnamen mehr in Dateilisten auftauchen.
Update7
Fehler:
Absturtz wenn keine Unterverzeichnisse auf CURVES behoben.
offen:
Return() get_curve_state() ?? msl
Wechsel auf beliebige Verzeichnisse
skylightwahl nach Parametern
@sinter
Die Anzeige der langen Dateilisten dauert bei mir jetzt schon etwas (digicII)
weshalb ich die Zahl der Dateien im /CURVES Verzeichnis klein halten würde
und eine Gruppierung in Unterverzeichnissen vorzöge. Aber kann ja jeder halten
wie er will.