Ich habe wieder eine spezielle Frage zum Scripting:

HeiM

Mitglied
Dabei seit
08.04.03
Beiträge
5.654
Standort
Leipzig
#21
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Ich befürchte, dass die Mehrfachautomatik kein normaler Multidialog ist, und daher als Scriptbefehl nicht ohne größeren Aufwand von Joachim bereitgestellt werden kann. Würde mich aber gerne eines Besseren belehren lassen.
Die Mehrfachautomatik ist ebenso wie die Mehrfachansicht IMHO kein Multidialog, somdern eine Ansicht, wobei aus der Mehrfachautomatik die gezeigten Automatiken direkt aufgerufen werden können.
Was mir völlig unklar ist: Was bringt es, und wo läge der Vorteil, wenn man die Mehrfachautomatik über Script aufrufen würde/könnte, wenn man sie doch direkt aufrufen kann.
Umgekehrt macht es Sinn - Scripte in die Mehrfachautomatik einbinden. Aber das geht ja (Michael stellte es bereits heraus).
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#22
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo Micha, Hallo HeiM
Das war mir durchaus klar. Gerade WEGEN der einbindbaren Skripte find ich es höchst interessant.

Einfaches Beispiel:

Der Raw-Import bei einem 10MP Bild meiner R1 dauer 48-50 Sekunden. Wenn ich Rauschunterdrückung und/oder Highlight-Recovery aktiviere, dautert es ein mehrfaches dieser Zeit. Der User wird bei Einzelverarbeitung zu dieser Wartezeit 'gezwungen' - was die meisten abschreckt und zu anderen Raw-Konvertern greifen läßt. Wegen der erstklassigen Möglichkeiten in FF würde aber jeder gerne FF für Raws nutzen, wenns denn einen 'erträglichen' Zeiteinsatz verlangen würde.

Als TIFF wird die gleiche Datei mit den gleichen Möglichkeiten in 3 Sekunden geladen. Stell Dir mal vor: Du hast eine große Menge Raw-Dateien, läßt die mit einer Standard-Einstellung im Stapel nach TIFF konvertieren - das kosten Rechenzeit, aber nicht DEINE Zeit.

Dann wählst Du ein FF-Skript an, das über die Anzahl der in der Computeransicht in FF ausgewählten Bilder läuft - wie üblich. Dieses Script ruft die Mehrfachautomatik-Ansicht auf mit den üblichen Automatiken (XE, I2E, PC, Ymax, usw), und zusätzlich noch eine Reihe von Bildbearbeitungen nach Deinem eigenen Geschmack, die in Scripten hinterlegt werden - wie Micha oben richtig den 'Schuh' definiert hat. Dort wählst Du einfach wie üblich in der Mehrfachautomatik aus und fertig.

Nun stellst Du aber fest, in einem Bild ist die WB falsch. Dafür hast Du im letzten Vorschlag der Mehrfachautomatik ein Script hinterlegt, das wiederum dieses Bild im 16-Bit-Multidialog aufruft. Dort kannst Du dann zusätzlich noch manuell eingreifen und wie üblich zu 8Bit-Bereich wechsel oder wiederum als TIFF abspeichern.

Sollte die Anzahl der Vorschläge nicht reichen, oder für eine vernünftige Beurteilung zu klein sein, dann hinterlegt man sich einfach in einem Vorschlag ein Script, das die Mehrfachautomatik mit einer Anderen Gruppe von Bildbearbeitungsautomatiken öffnet. Möglichkeiten ohne Ende.

Damit wären der Raw-Import endlich konkurrenzfähig zu den Ergonomie-Favoriten RSE, Capture One, oder neuerdings Lightroom - aber mit wesentlich mehr Möglichkeiten der Bildverbesserung.

Ich hoffe, ich konnte mich verständlich genug ausdrücken und ungefähr erklären, was ich mit 'ungeahnten neuen Möglichkeiten' meinte. Siehe hierzu auch die Diskussionen im Thread um das Front-End für Omis Speicherskript und andere Threads, die sich mit dem FF-Raw-Import befassen.

VG
Walter
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.715
#23
AW: Ich habe wieder eine spezielle Frage zum Scripting:

V2.85 B24: Versuch Skript-Aufruf der Mehrfachautomatik FF_Dialog("MultiAuto");
 

digi-foto

Mitglied
Dabei seit
18.11.05
Beiträge
582
Standort
Wo Rhein und Neckar sich treffen.
#24
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo Walter

Danke für die ausführlichen Darlegungen.

Was bleibt aber für die FF-Nutzer übrig, welche (wie ich und wahrscheinlich auch die Mehrzahl der FF-Nutzer) keine Ahnung davon haben, wie ein Skript erstellt wird ?

Gibt es in FF ein Aufzeichnungsmonitor für Skripte (ich muss hier immer auf PSP X zurückgreifen)?

Gruß
Alois
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#25
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo Alois,

na ja mit der Stapelverarbeitung kannst Du so ziemlich alles machen, außer Raw. Skripte werden nur für spezielle Sachen benötigt, die FF so nicht vorsieht.

Die Stapelverarbeitung selbst basiert auf JScript.
Du kannst den Code sogar nach Ausführen der SV aus der Zwischenablage holen, selbst ändern, als JScript speichern und eintragen.
Den Kopf für die autom. Konfiguration musst Du aber selbst schreiben. Anleitungen dazu in der Hilfe.
Ach und ja: Auf relative Pfade musst Du selbst umstellen ;). Sozusagen zu Lernzwecken.

Vielleicht sollten wir noch eine SV für Raws initieren. Weiß gerade nicht, ob man Raws ohne aufpoppen des Raw-Fensters durch die SV schleusen kann.
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.715
#27
AW: Ich habe wieder eine spezielle Frage zum Scripting:

na ja mit der Stapelverarbeitung kannst Du so ziemlich alles machen, außer Raw.
Irrtum. Alle 16-Bit Funktionen sind vorhanden. Und dcraw lässt sich kaum komfortabler als direkt aus dem Skript aufrufen...
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#28
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo Joachim,

Problem 1: Wenn eine Raw zur Stapelverarbeitung aufgerufen wird erscheint immer der Raw-Dialog bei jedem Bild
Problem 2: Im Raw-Dialog muss alles per Handarbeit erledigt werden(oder default)
Problem 3: Liegt ein Hochkantbild vor, das per Orientation-Flag geladen werden soll, so wird das Bild verzerrt und liegend (Motiv aber stehend) bearbeitet: Sprich Breite= Höhe und Höhe = Breite.

D. h.: Man kann keinen Prozess anstoßen und unbeaufsichtigt laufen lassen, was gerade bei RAW-Entwicklung mit dcraw sinnvoll ist.

Ich kann mir selbst ja helfen, da ich einfach ein paar Skript-Zeilen für mich schreibe, das genau das machen, was ich will. Aber ein Nicht-Scriptkundiger...

Nachtrag: z. Problem 3) Im Dialog erscheint es verzerrt. Jedoch wird es richtig gespeichert.
 

digi-foto

Mitglied
Dabei seit
18.11.05
Beiträge
582
Standort
Wo Rhein und Neckar sich treffen.
#29
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo Joachim,

Problem 1: Wenn eine Raw zur Stapelverarbeitung aufgerufen wird erscheint immer der Raw-Dialog bei jedem Bild
Problem 2: Im Raw-Dialog muss alles per Handarbeit erledigt werden(oder default)
Problem 3: Liegt ein Hochkantbild vor, das per Orientation-Flag geladen werden soll, so wird das Bild verzerrt und liegend (Motiv aber stehend) bearbeitet: Sprich Breite= Höhe und Höhe = Breite.

D. h.: Man kann keinen Prozess anstoßen und unbeaufsichtigt laufen lassen, was gerade bei RAW-Entwicklung mit dcraw sinnvoll ist.

Ich kann mir selbst ja helfen, da ich einfach ein paar Skript-Zeilen für mich schreibe, das genau das machen, was ich will. Aber ein Nicht-Scriptkundiger...

Nachtrag: z. Problem 3) Im Dialog erscheint es verzerrt. Jedoch wird es richtig gespeichert.
1 und 2 habe ich auch gerade festgestellt und deswegen hier wieder reingeschaut.
Schön dass Du die Problematik schon dargelegt hast. Ich hätte damit sehr viel mehr Schwierigkeiten gehabt.

Gruß
Alois
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.715
#30
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Sorry, ich war innerlich beim Skripting, obwohl Stapelverarbeitung da steht...
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#31
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo zusammen,

ich stolpere über den Befehl: FF_AdjustRGB
lt. Hilfe: FF_AdjustRGB(VT_R8 rfac, VT_R8 gfac, VT_R8 bfac).

Folgende Versuche habe ich unternommen:

call FF_AdjustRGB(1.74, 0.92 , 0.95) ' so tuts - ohne Variablen funktionierts wie es soll

wenn ich aber ein Array namens par() mit den obigen Werten bestücke, dann kommt die Fehlermeldung: Wertebereich überschritten........

Der Wertebereich geht aber lt. Hilfe von 0.00 bis 2.00 - also müßte es passen.

call FF_AdjustRGB(par(0), par(1), par(2)) ' so tuts nicht, hier kommt die Fehlermeldung

anderer Versuch: diff1=par(0):diff2=par(1):diff3=par(2): call FF_AdjustRGB (diff1,diff2,diff3) ' aus MDFL kopiert - tut ebenfalls nicht




Wenn ich mit 'on error resume next' arbeite, dann gehts zwar weiter, aber die Ausführung des Farbabgleichs fehlt dann natürlich. Syntaxfehler kann es nicht sein, mit festen Werten statt Variablen gehts ja. Den Inhalt von den 3 par()-Werten habe ich selbstverständlich vorher per msgbox abgefragt - liegen im zulässigen Bereich. Habe den Ursprung der Werte aus einem String extrahiert - wird von WSH mit den Variant-Variablen wohl doch als Wert interpretiert. Zwangsweise noch das csng() verwendet brachte auch keinen Erfolg.

Ich hoffe, ihr könnt das nachvollziehen und ich hoffe, dass es nur ein Denkfehler meinerseits ist.
Nebenbei: Alle anderen 3-gliedrigen Aufrufe wie z.B. FF_WhiteBalance(par(0),par(0),par(0)) oder FF_SLContrast(par(0), par(1), par(2) oder FF_SpectralSaturation(par(0), par(1), par(2)) usw. funktionieren wie gewollt. Das Script wird von der neuen Funktion MultiAuto() aufgerufen.

Vielen Dank für Eure Hilfe

Walter



NB: @Joachim:
Ist es richtig, dass in den .fbi-Dateien
die Werte für den ValString beim Schatten aufhellen nur 1 statt 4 Werte enthält?
die Werte für den Values bei Farbtemperatur 2 statt 1 Wert enthält?
die Werte für den Values bei Schwarz-Weiß 6 statt 3 Werte enthält?
die Werte für den Values bei Farbtemperatur Gamma 2 statt 1 Wert enthält?
dto. Farbtemperatur Gamma 2 statt 1 Wert?
Mich störts nicht, ich habs umschifft.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#32
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hast du schon mal dafür gesorgt das deine Parameter wirklich Zahlen und keine Texte sind?
(z.B mit einer Multiplication mit 1.0)
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#33
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo Heinz,

ja klar. Das sollte ja auch die Konvertierung mittels Csng() bewirken. Außerdem würde es dann ja bei 20 anderen FF_Befehlen auch nicht funktinieren..........dachte ich aber

soeben nochmal getestet:

diff1=par(0) * 1.0:diff2=par(1) * 1.0:diff3=par(2) * 1.0
call FF_AdjustRGB(diff1,diff2,diff3)
=Leider gleichsam erfolglos, wiederum Wertebereich überschritten....


Aber:
par(0) = par(0) * 0.01
par(1) = par(1) * 0.01
par(2) = par(2) * 0.01
läßt die Funktion funktionieren:). Vielen Dank, Du hast mich auch die richtige Spur gebracht. Des WSH Wege sind machmal seltsam, und ich verstehe schon, dass mir

msgbox (par(0) ) den Wert 1.74 richtig anzeigt (wohl als Text).

Aber warum
par(0) = par(0) * 1.0
dann als Ergebnis nicht 1.74 sondern 174 ist, das will mir nicht in den Kopf, vielleicht verstehe ich das morgen besser.

Nochmals Danke, und

vG
Walter
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#34
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo zusammen,

folgendes Problem stört mich momentan ein wenig: In dem nachfolgenden Bild seht ihr 3 Hardcopies von meinem Taskmanager unter W2K. Es stellt folgende Situation dar:



1. HC : Bearbeitung von 4 JPG-Bildern mit je 10 MP, jeweil ein paar Schritte (Helligkeit, Kontrast, Schärfung) dann speichern und das nächste laden.
Der benötigte Arbeitsspeicher wird jeweil schön säuberlich wieder aufgeräumt und beginnt beim nächsten Bild wieder ungefähr bei der gleichen Auslastung - so soll es sein. Wenn mal zuviel im Speicher verbleibt, dann schließe ich FF kurz und starte es neu.

2. HC : Ablauf eines Bearbeitungsscriptes, das folgende Schritte ausführt:
-laden eines von 4 kleinen Bildern aus der FF-Auswahl (1920 x 1280)
-schickt dieses Bild zur neuen MultiAuto-Ansicht, in der mir 16 einzelne Scripte (Makros) als Bearbeitungsvorschläge unterbreiten
-Auswahl eines Vorschlages schließt die MultiAuto-Ansicht und startet einen Userdialog für das Feintuning und die Schärfung
-Danach speichern und das nächste Bild einladen, bis alle 4 fertig sind.

3. HC : Wie beim 2. Bild, jedoch mit 4 großen 10MP Bildern, die noch nicht scaliert wurden.

Mein Problem ist nun: Beim Script-Ablauf bleibt nach jedem Bild etwas im Hauptspeicher zurück,
es schaukelt sich hoch. Die physikalische Speichergrenze von 512 MB wird schnell überschritten,
und die Bearbeitungsschritte werden durch die Nutzung der Auslagerungsdatei natürlich sehr
zäh. Der Einbau von mehr Hauptspeicher wäre die Lösung, aber so soll es doch wohl nicht sein?

Dass es möglich ist, nach jedem großen Bild den Arbeitsspeicher wieder frei zu machen, zeigt ja
die erste Hardcopy, in der die gleichen Arbeitsschritte vorgenommen werden. Wie es aber im
Script geht, dass weiß ich leider nicht und benötige Eure Hilfe.

Vielen Dank

Walter
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#35
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Kontrolliere dein(e) Scripte mal auf korrektes Stackhandling. Speziell die PushImage/PopImage Aufrufe sofern du sie Benutzt. Eine vergessene Kopie des Bildes auf dem FF-Stack könnte so etwas zu folge haben.
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#36
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Danke Heinz,

keinerlei Push und Pop eingesetzt. Das einzige was mir auffällt ist, dass ich jedes Bild mit einem Reload() als 8Bit wieder auf die Arbeitsfläche hole. Damit wird ja scheinbar auch die Undo-Historie in FF gefüttert. Kann es daran liegen? Muß ich auf Reload verzichten?

2. Frage - hat mit dem obigen nichts zu tun: Ist es möglich, beim User-Dialog auch die 'Ausführen' Taste zulassen kann? Ist bei mir stets mit grau deaktiviert, so dass ich jedesmal 2 Klicks benötige.

VG
Walter
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#37
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Das mit dem Reload könnte sein.
Ich verwende Reload nur am Ende eines Scriptes und auch nur dann wenn ich das Ergebniss
nicht als Datei abspeichere.

Stelle doch mal eines deiner Multi-Auto Erweiterungs-Scripte hier vor.
Ich weiss noch gar nicht wie Joachim das macht. Ich habe mir ja mein eigenes,
erweiterbares Multi-Auto (Auto68.js) gebaut.
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#38
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Das mit dem Reload könnte sein.
Ich verwende Reload nur am Ende eines Scriptes und auch nur dann wenn ich das Ergebniss
nicht als Datei abspeichere.
Hallo Heinz,

das Reload habe ich herausgenommen - war leider nicht der Verursacher. Ein Testlauf mit 27 Bildern zeigte, dass nach ca. 20 Bildern ohne Grund der Hauptspeicher wieder geleert wird. Das sieht für mich stark nach einer Windows-Eigenheit in bezug auf die Speicherverwaltung aus. Früher beim 'good old C64' konnten wir noch sowas wie eine 'garbage colletion' anstoßen, aber hier.....

Wenigstens habe ich herausgefunden, dass FixFoto seinen Speicher räumt, sobald ganz was Neues eingeladen wird. Dauert zwar zusätzlich, aber wenns hilft.

Stelle doch mal eines deiner Multi-Auto Erweiterungs-Scripte hier vor.
Ich weiss noch gar nicht wie Joachim das macht.
Ist nur ein einziges Script und steckt noch in den Kinderschuhen, obwohl es prinzipiell funktioniert. Nach dem MultiAuto-Aufruf liest Du die Parameter aus und kannst anhand des Rückgabewertes des Indexes erkennen, was per Mausklick ausgewählt wurde.

Mein Script soll eine Brücke bauen zwischen 1.) Mehrfachautomatik und 2.) Stapelverarbeitung. Bei Ersterem laufen ja viele Automatiken oder Makros über ein Bild, bei Zweiterem läuft ein Makro über viele Bilder. Mein Script läuft über alle ausgewählten Bilder (Tiff16 oder JPG muß momentan noch vorher eingestellt werden) und macht je Bild 16 Bearbeitungsvorschläge zu Belichtung und Farbe. Endkontrolle und individuelle Schärfung erfolgt im Folge-User-Dialog mit 100%-Ansichtsmöglichkeit, kann nach Wahl aber auch in den Makros hinterlegt werden......usw. - Soll individuell und flexibel zugleich sein - daran bastel ich noch. Besonderheit: Niemand muß dabei die 16 einzelnen Bearbeitungsmakros schreiben, weil das Script die gespeicherten Original-Stapelverabeitungs-Dateien verwendet.

VG
Walter


PS: Übrigens habe ich mir heute Dein 'GeoLoc2iptcOrExif.js' angesehn. Respekt!!
 
Zuletzt bearbeitet:

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#39
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Hallo zusammen,

Kann mir jemand die Ursache für die Meldung:

FF_AddControl: Steuerelement Bezeichner existiert bereits
Src: FixFoto

in
Code:
FF_AddDialog "Folgemenue",515,455
'*********************** B E W E R T U N G ***************************
FF_AddControl "Folgemenue","super","BOOL",263,321,8,8
FF_AddControl "Folgemenue","1-super","STATIC",274,319,33,11

FF_AddControl "Folgemenue","gut","BOOL",263,333,8,8
FF_AddControl "Folgemenue","2-gut","STATIC",275,332,33,11

FF_AddControl "Folgemenue","durchschnitt","BOOL",263,345,8,8
FF_AddControl "Folgemenue","3-durchschnitt","STATIC",275,344,33,11

FF_AddControl "Folgemenue","maessig","BOOL",263,358,8,8
FF_AddControl "Folgemenue","4-nur maessig","STATIC",275,357,33,11

FF_AddControl "Folgemenue","doku","BOOL",263,371,8,8
FF_AddControl "Folgemenue","5-nur für Doku-Zwecke","STATIC",275,370,60,11

res=FF_ShowDialog("Folgemenue")


etwas genauer erläutern, damit ich weiß wonach ich suchen muß? Hat das was mit den unterstrichenen Großbuchstaben auf den Buttons zu tun, die man mit ALT+Buchstabe als Kurzwahl aufruft?

Danke und freundliche Grüße

Walter
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#40
AW: Ich habe wieder eine spezielle Frage zum Scripting:

Du hast ein doppelten Namen für ein FF-Control verwendet,
oder, was wahrscheinlicher ist, dir ist das Script bei offenem Dialog mit einem Runtimefehler abgebrochen.
Du must dann den Editor schliessen (speichern nicht vergessen) und neu starten.
Hierbei werden dann auch diese Leichen entsorgt.

PS:
Warum benutzt du nicht den Dialogeditor.
Diese Fummelei ist nix für mich.
 
Oben