amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > PhotoAlbum 6.6 und JPEG (Exif) [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

27.07.2006, 10:06 Uhr

Indy
Posts: 538
Nutzer
Hallo Forum !

Um das überaus praktische Programm PhotoAlbum 6.6 (von H. Hoffmann) etwas zu "erweitern", habe ich ein einfaches Skript (User-Menu) via dessen ARexx-Port (im Menü Pictures/Invoke external ARexx command) integriert, welches mir bei JPEGs einer DigiCam unter anderem auch den Exif-Header anzeigt, JPEGs verlustfrei dreht, etc...

In den ToolTypes des Programm-Icons habe ich deshalb dazu Folgendes eingetragen:

ExternalARexxCMD="address command 'DH1:View&Play/PhotoAlbum/User-Menu %s'"

Soweit so gut, funktioniert auch bestens.

Das einzige Problem jedoch ist, dies auch bei JPEGs ausführen zu lassen, deren Verzeichnissname Leerstellen enthält.
Da funktioniert das Skript leider nicht, d.h. nach Aufruf tut sich einfach gar nichts.


Kann ich da noch was am Skript tricksen oder liegt es wohl eher daran, wie PhotoAlbum selbst das jeweilige JPEG aufruft und an das Skript übergibt ?

Hier mal mein Skript:

code:
.key file
.bra {
.ket }

C:RequestChoice PUBSCREEN=PhotoAlbum TITLE="JPEG operations..." BODY="Select operation" GADGETS "Rotate JPEG with Exif" "ExifDate > FileDate" "Show Exif" "Rename" "Cancel" >T:Choice
C:Search >ENV:CheckChoice T:Choice "" NONUM


IF "$CheckChoice" EQ "1"
  C:RequestChoice TITLE="JPEG Rotation" BODY="Select clockwise rotation for *n*"{file}*"" GADGETS="90 °" "180 °" "270 °" "Cancel" PUBSCREEN=PhotoAlbum >T:Degrees
    C:Search >ENV:CheckDegrees T:Degrees "" NONUM
       IF "$CheckDegrees" EQ "1"
          DH1:Grafik-Tools/Jhead/Tools/bin/jpegtran -copy all -optimize -rotate 90 {file} {file}  
          C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
          DH1:Grafik-Tools/Jhead/jhead -ft {file}
          C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
       EndIF
       IF "$CheckDegrees" EQ "2"
          DH1:Grafik-Tools/Jhead/Tools/bin/jpegtran -copy all -optimize -rotate 180 {file} {file}  
          C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
          DH1:Grafik-Tools/Jhead/jhead -ft {file}
          C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
       EndIF
       IF "$CheckDegrees" EQ "3"
          DH1:Grafik-Tools/Jhead/Tools/bin/jpegtran -copy all -optimize -rotate 270 {file} {file}  
          C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
          DH1:Grafik-Tools/Jhead/jhead -ft {file}
          C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
       EndIF
       IF "$CheckDegrees" EQ "0"
          Skip CleanUp
       EndIF
EndIF


IF "$CheckChoice" EQ "2"
  C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
  DH1:Grafik-Tools/Jhead/jhead -ft {file}
  C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
EndIF


IF "$CheckChoice" EQ "3"
  C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
  DH1:Grafik-Tools/Jhead/jhead >CON:0/24/550/300/Exif-Data/SCREENPhotoAlbum/WAIT {file}
  C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
EndIF


IF "$CheckChoice" EQ "4"
  DH1:View&Play/PhotoAlbum/Rexx/PARename.rexx {file}
EndIF


IF "$CheckChoice" EQ "0"
  Skip CleanUp
EndIF

Lab CleanUp
C:Delete T:Choice ENV:CheckChoice T:Degrees ENV:CheckDegrees QUIET



Schon mal Danke für's Lesen... I-)


P.S:

Standalone - also das Skript selbst direkt in einer Shell aufgerufen funktioniert sehrwohl mit JPEGs aus Verzeichnissen mit Leerstellen im Namen. Dürfte daher eher an PhotoAlbum selbst liegen...

[ Dieser Beitrag wurde von Indy am 27.07.2006 um 22:19 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.07.2006, 13:20 Uhr

Holger
Posts: 8116
Nutzer
Bitte entferne mal den Fettdruck, das kann man ja kaum lesen, benutz doch die dafür vorgesehenen
code:
...

tags.

Wenn's nicht am Skript liegt, wie Du vermutest, kannst Du das Argument in die von AmigaDOS erwarteten Anführungszeichen setzen, in dem Du

ExternalARexxCMD="address command 'DH1:View&Play/PhotoAlbum/User-Menu %s'"

durch

ExternalARexxCMD="address command 'DH1:View&Play/PhotoAlbum/User-Menu '||'22'x||'%s'||'22'x"

ersetzt.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

27.07.2006, 17:21 Uhr

Holger
Posts: 8116
Nutzer
Mal noch ne Frage zu dem Skript:

Wozu sollen diese Zeilen der Form:
C:Search >ENV:CheckDegrees T:Degrees "" NONUM
nach den RequestChoice Anweisungen gut sein?
Die bewirken doch gar nichts, genausogut könntest Du den Output von RequestChoice direkt nach
ENV:CheckDegrees, bzw. ENV:CheckChoice leiten.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

27.07.2006, 22:56 Uhr

Indy
Posts: 538
Nutzer
@Holger:
Danke Dir für deinen Tip.
Durch das Abändern des ToolType-Eintrages zu

ExternalARexxCMD="address command 'DH1:View&Play/PhotoAlbum/User-Menu '||'22'x||'%s'||'22'x"

erscheint bei besagten JPEGs nun immerhin schon das Fenster mit dem Auswahlmenü.
Darin ausgewählte Funktionen (z.B. Menüpunkt 3 "Show Exif") werden jedoch leider noch nicht ausgeführt -> nach Anwahl dieses Menüpunkts etwa erscheint nur ein leeres Shellfenster OHNE den Exif-Daten.


Wozu sollen diese Zeilen der Form:
C:Search >ENV:CheckDegrees T:Degrees "" NONUM
nach den RequestChoice Anweisungen gut sein?


Da habe ich wohl tatsächlich etwas zu kompliziert gedacht, danke für den Hinweis
(..bin halt hier nicht DER Programmierer ;) )

Habe das Skript jetzt mal wie folgt geändert:

code:
.key file
.bra {
.ket }

C:RequestChoice PUBSCREEN=PhotoAlbum TITLE="JPEG operations..." BODY="Select operation" GADGETS "Rotate JPEG with Exif" "ExifDate > FileDate" "Show Exif" "Rename" "Cancel" >ENV:Choice

IF "$Choice" EQ "1"
  C:RequestChoice TITLE="JPEG Rotation" BODY="Select clockwise rotation for *n*"{file}*"" GADGETS="90 °" "180 °" "270 °" "Cancel" PUBSCREEN=PhotoAlbum >ENV:Degrees
       IF "$Degrees" EQ "1"
          DH1:Grafik-Tools/Jhead/Tools/bin/jpegtran -copy all -optimize -rotate 90 {file} {file}  
          C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
          DH1:Grafik-Tools/Jhead/jhead -ft {file}
          C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
       EndIF
       IF "$Degrees" EQ "2"
          DH1:Grafik-Tools/Jhead/Tools/bin/jpegtran -copy all -optimize -rotate 180 {file} {file}  
          C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
          DH1:Grafik-Tools/Jhead/jhead -ft {file}
          C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
       EndIF
       IF "$Degrees" EQ "3"
          DH1:Grafik-Tools/Jhead/Tools/bin/jpegtran -copy all -optimize -rotate 270 {file} {file}  
          C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
          DH1:Grafik-Tools/Jhead/jhead -ft {file}
          C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
       EndIF
       IF "$Degrees" EQ "0"
          Skip CleanUp
       EndIF
EndIF


IF "$Choice" EQ "2"
  C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
  DH1:Grafik-Tools/Jhead/jhead -ft {file}
  C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
EndIF


IF "$Choice" EQ "3"
  C:Delete ENV:TZ QUIET                            ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
  DH1:Grafik-Tools/Jhead/jhead >CON:0/24/550/300/Exif-Data/SCREENPhotoAlbum/WAIT {file}
  C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
EndIF


IF "$Choice" EQ "4"
  DH1:View&Play/PhotoAlbum/Rexx/PARename.rexx {file}
EndIF


IF "$Choice" EQ "0"
  Skip CleanUp
EndIF

Lab CleanUp
C:Delete ENV:Choice ENV:Degrees QUIET



...und funktioniert!

(...leider aber noch immer nicht mit besagten JPEGs aus Verzeichnissen mit Leerstellen im Verzeichnisnamen.)

[ Dieser Beitrag wurde von Indy am 27.07.2006 um 23:23 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.07.2006, 00:31 Uhr

R-TEAM
Posts: 1030
Nutzer
Hi,

das mit der zeitzonen differenze kannste mit :

"ixtimezone -get-offset"

ändern .. geht aber nur wenn du ->
a, die richtige zeitzonen datei für das ixemul system in "TZ" drinn hast
b, und du das immer nach nen wechsel von sommer > winterzeit und umgekehrt
machst.

Dann passt in allen ixemul prg die zeitanzeige !
Benutze das für mICQ,Apache,MySQL..

Ist zwar aweng umständlich und hätte wohl auch mehr ins amigaOS integriert
gemacht werden können .. aber es geht ;)

Grüße
R-TEAM
--
My Hardware Config and GFX-Work on my HomePage.

Fax : (+49) 09191 702028
Long Live T H E [|D|A|R|K^><^E|M|P|I|R|E|]

[ Dieser Beitrag wurde von R-TEAM am 28.07.2006 um 00:36 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.07.2006, 10:14 Uhr

Indy
Posts: 538
Nutzer
@R-TEAM:
Aha, interessant! Wußte gar nicht, daß ixemul-Programme ihre "eigene" Zeitzone benötigen/haben, damit auch sie wissen, wie spät es wirklich ist :) Danke Dir für den Hinweis.
Das Dumme dabei ist bloß, daß man dann Sommer-/Winterzeit jedesmal manuell umstellen muss - wie Du schreibst.

P.S:
Woher bekommt man die "richtige" Zeitzonen-Datei für das ixemul-system ? Ist die Bestandteil des ixemul-Pakets ?

Nachtrag: Hab's schon gefunden, Danke.

[ Dieser Beitrag wurde von Indy am 28.07.2006 um 10:29 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.07.2006, 12:34 Uhr

R-TEAM
Posts: 1030
Nutzer
Hi,

@Indy:

he,he ... schön das du es gefunden hast ;)
[muss nach etc:zoneinfo/ ]
Habe es in der AmiTCP:db drinn und ein assign etc: auf AmiTCP: :D

es gibt da nur noch ein problem ...
Ixemul hält sich nicht ganz an den "TZ" variablen standart.
Ich benutze Facts zum zeit abgleichen mit nen zeitserver und das prg
setzt automatisch die richtige [auch nach amiga standard richtig] variable
"TZ" .. nur steht die so nicht in etc:zoneinfo/ drin .. dort wäre die
richtige datei etc:zoneinfo/europe/berlin und damit müsste die variable "TZ"
heisen : "europe/berlin" .. das mögen aber alle anderen amiga prg die auf "TZ"
zugreifen gar net :P
"TZ" heist zur zeit bei mir [wie es sein soll] "GMT-2DST" !
Um nun ixemul dazu zu bewegen hilft ein trick ..
kopiere die europe/berlin datei in das zoneinfo root verzeichniss
und benenne sie um .. und zwar brauchst du 4! datein [wenn du in germany wohnst ;) ]:
"GMT-1"
"GMT-1 "
"GMT-2DST"
"GMT-2DST "
alle kopiert aus der berlin datei !
Das ist einmal winterzeit [GMT-1] und sommerzeit [GMT-2DST] ..
das mit den leerzeichen wollen ein paar ixemul prg so ...k.a. warum ..
ohne leerzeichen finden manche die zonendatei net .....

Und dann immer beim wechsel von winter<>sommerzeit ixtimezone aufrufen das
es eine der zone korrigierte version der correcturvariablen für die ixemul.lib
"IXGMTOFFSET" in env(arc) anlegt.

Damit ist dein ixemul system und alle darauf laufenden prg immer auf den
laufenden was die zeit angeht :P

Und die umstellung ist ja nur 2 × im jahr :)

Grüße
R-TEAM
--
My Hardware Config and GFX-Work on my HomePage.

Fax : (+49) 09191 702028
Long Live T H E [|D|A|R|K^><^E|M|P|I|R|E|]

[ - Antworten - Zitieren - Direktlink - ]

28.07.2006, 14:07 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Indy:
(...leider aber noch immer nicht mit besagten JPEGs aus Verzeichnissen mit Leerstellen im Verzeichnisnamen.)


Hmm, Du meintest doch, daß Du es aus der Shell heraus getestet hättest...
Wie auch immer, setze {file} in Anführungszeichen, also "{file}", in den meisten Fällen hilft das.

Noch ein Tip für Dein Skript, versuche code-Doppelungen zu vermeiden. Also gleiche oder ähnliche Teile zusammenzufassen. Das erleichtert Dir sowohl die Fehlersuche, als auch spätere Änderungen:
AmigaDOS code:
.key file
.bra {
.ket }

C:RequestChoice PUBSCREEN=PhotoAlbum TITLE="JPEG operations..." BODY="Select operation" GADGETS "Rotate JPEG with Exif" "ExifDate > FileDate" "Show Exif" "Rename" "Cancel" >ENV:Choice

IF "$Choice" EQ "1"
  C:RequestChoice TITLE="JPEG Rotation" BODY="Select clockwise rotation for *n*"{file}*"" GADGETS="90 °" "180 °" "270 °" "Cancel" PUBSCREEN=PhotoAlbum >ENV:Degrees
       IF "$Degrees" EQ "1"
          set angle 90
       EndIF
       IF "$Degrees" EQ "2"
          set angle 180
       EndIF
       IF "$Degrees" EQ "3"
          set angle 270
       EndIF
       IF "$Degrees" EQ "0"
          Skip CleanUp
       EndIF
       DH1:Grafik-Tools/Jhead/Tools/bin/jpegtran -copy all -optimize -rotate $angle "{file}" "{file}"
       C:Delete ENV:TZ QUIET                    ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
       DH1:Grafik-Tools/Jhead/jhead -ft "{file}"
       C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
EndIF


IF "$Choice" EQ "2"
  C:Delete ENV:TZ QUIET                    ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
  DH1:Grafik-Tools/Jhead/jhead -ft "{file}"
  C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
EndIF


IF "$Choice" EQ "3"
  C:Delete ENV:TZ QUIET                    ; =notwendig, sonst wird eine um 1 Stunde falsche Dateizeit angezeigt
  DH1:Grafik-Tools/Jhead/jhead >CON:0/24/550/300/Exif-Data/SCREENPhotoAlbum/WAIT "{file}"
  C:Copy ENVARC:TZ ENV:TZ QUIET            ; stellt ursprüngliche (aktuelle) Zeitzone wieder her
EndIF


IF "$Choice" EQ "4"
  DH1:View&Play/PhotoAlbum/Rexx/PARename.rexx "{file}"
EndIF


IF "$Choice" EQ "0"
  Skip CleanUp
EndIF

Lab CleanUp
C:Delete ENV:Choice ENV:Degrees QUIET


Wie Du hoffentlich siehst, ist das Ergebnis übersichtlicher und Änderungen, wie das Einfügen der Leerzeichen oder ein späteres Entfernen des Zeitzonen-Workarounds werden einfacher.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

29.07.2006, 02:23 Uhr

Indy
Posts: 538
Nutzer
@R-TEAM:
Danke Dir für die ausführliche Erklärung.
Auch ich benutze schon seit langem "Facts".
Schade, daß man hier den automatischen Wechsel zwischen Winter-/Sommerzeit nicht mitnutzen kann, um auch ixemul damit zu "bedienen".
Meine TZ-Variable beinhaltet zur Zeit "MET-2EDT".

P.S:
Welche ixemul Version nutzt Du ? Ich habe hier 48.2 installiert und eine Version 49.17 im Netz gefunden.
Vielleicht hat die neuere Version dieses Problem nicht mehr ?!


@Holger
Ja, der Code sieht so auch gleich noch "netter" aus und ist natürlich übersichtlicher (wieder was gelernt). Danke Dir.
Die Anführungszeichen haben letztendlich geholfen.
Das Skript funktioniert nun mit JPEGs aus jedweden Verzeichnissen.

Nochmal Danke Euch beiden!

[ Dieser Beitrag wurde von Indy am 29.07.2006 um 02:25 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

29.07.2006, 03:39 Uhr

R-TEAM
Posts: 1030
Nutzer
Hi,

@Indy:

habe zur zeit "wieder" 48.2 im betrieb .. :(
hatte mal längere zeit die V49.17 drauf ..
hat aber noch ein paar seltene bugs [Apache geht damit z.b. gut]
die bei mir bei mICQ [text-line-return darstellungs fehler] und ftp4all [beim
disconnect von einen user hängt der server] und PGP5 [das generieren von einen key
ist problematisch ..] auftraten .. all anderen [meistens kleinere CLI prg]
liefen damit gut.

An dem TZ handling hat sich nix geändert ...

Bei dir musst du dann die "berlin" datei als MET-2EDT( ) und MET-1( )
kopieren .. damit sollte es gehen.
mmh ... die unterschiede könnten an der Facts version liegen ..
oder an der spracheinstellungen ....

Grüße
R-TEAM
--
My Hardware Config and GFX-Work on my HomePage.

Fax : (+49) 09191 702028
Long Live T H E [|D|A|R|K^><^E|M|P|I|R|E|]

[ - Antworten - Zitieren - Direktlink - ]

29.07.2006, 11:34 Uhr

Indy
Posts: 538
Nutzer
@R-TEAM:
Hmmm, ... ich denke mal, dann lasse ich die 48.2 weiterhin im Einsatz.

Wie wäre es eigentlich mit einem Skript für diese ixemul Zeitzonenproblematik zum automatischen Wechsel zwischen Winter-/Sommerzeit ?

Im Prinzip etwa so:
code:
Assign >NIL: etc: ENVARC:etc

Wenn ENVARC:TZ = MET-1,
dann SetENV etc:zoneinfo/Europe/MET-1.
Wenn ENVARC:TZ = MET-2EDT,
dann SetENV etc:zoneinfo/Europe/MET-2EDT


Würde ein einmaliger Aufruf eines solchen Skripts (aus der Startup-Sequence oder User-Startup) bei jedem Start nicht ausreichen ?
--


Gruß, Indy

[ - Antworten - Zitieren - Direktlink - ]

30.07.2006, 11:06 Uhr

R-TEAM
Posts: 1030
Nutzer
Hi,

@Indy:

mmh .. denke du hast die zusammenhänge nicht ganz durchschaut ;)

Wenn wir das ganze TZ handling mal ohne ixemul betrachten beim Amiga
dann wird die TZ variable zum setzen der richtigen zeitzone samt
anzeige ob DST [daylight saving time] oder EDT [denke europe daylight ime ..?]
genutzt .. andere amiga [nicht ixemul prg!] sehen daran welche zeitzone
der amiga steht und ob [falls es das prg interessiert] DST genutzt wird.
[gibt da noch die variable "SUMMERTIME" was ne ähnliche geschichte ist
(nur da geht es NUR um die sommerzeit) und nix mit ixemul zu tun hat]

Das bedeutet das sich die TZ variable 2 × im jahr ändern "sollte" ..
Das geht komfortabel mit Facts .. nach den zeitwechsel einfach mal
facts laufen lassen und die richtige varible wird automatisch in TZ
gesetzt ...

Die ixemul sache läuft GANZ anders ....
Die variable TZ zeigt dort auf eine zeitzonen datei die in etc:zoneinfo/
liegt und alle daten über sommer/winterzeit und zeitzone enthält ...
Die ixemul lib fragt aber diese info NICHT ab !
Für die ixemul lib ist immer GMT .. auser eine varible "ixgmtoffset"
existiert die dann beim ersten start abgefragt wird !
Dort drinn steht der offset zu GMT vom system.
Diese env-variable wird von cli programm ixtimezone mit der option "-get-offset"
generiert und zwar MIT den daten der datei auf die die TZ varible verweist.
In der datei steht der anfang/ende der sommerzeit drin,wie die heist iss völlig
egal .. solang sie per TZ gefunden wird ..
Nach nem neustart "weis" dan ixemul um die richtige zeitzone ...

Das heist :
es gibt 2 probleme - die TZ varible heist normal nicht so wie die
richtige datei in etc:zoneinfo/ und sie ändert sich 2 × im jahr.
Damit das passt muss man die richtige datei halt vom namen[pfad] passend
machen da man TZ nicht ohne probleme für alle anderen prg ändern kann.
Somit braucht man die berlin datei 2× und wegen mancher ixemul prg die die
zoneninfo datei nochmal selber abfragen mit leerzeichen insgesammt 4× ..

ne automatiesierung bringt IMHO nix ...
Der amiga stellt nicht selber die TZ variable um auf sommer/winterzeit ...
Also muss man das eh immer selber machen [ob mit Facts oder per hand egal ..]
Dann kan man auch gleich noch in ner shell "ixtimezone -get-offset" eingeben ..

Man kann wenn man unbedingt sich den ixtimezone aufruf per hand sparen will,
das in die user-startup aufnehmen und dann jedes mal beim booten abarbeiten ..
ist aber meiner meinung nach unnötig ..

Grüße
R-TEAM
--
My Hardware Config and GFX-Work on my HomePage.

Fax : (+49) 09191 702028
Long Live T H E [|D|A|R|K^><^E|M|P|I|R|E|]

[ - Antworten - Zitieren - Direktlink - ]

30.07.2006, 12:16 Uhr

Indy
Posts: 538
Nutzer
@R-TEAM:
Danke Dir für die ausführliche Info.
Soweit es die Amiga TZ Variable betrifft, ist soweit alles klar.
Nur bei der ixemul TZ wird es "verwirrend", da - wie Du selbst sagtest - ixemul Programme diese Variable unterschiedlich serviert bekommen wollen (Leerzeichen).

Interessant ist folgendes:
Zum Zeitpunkt, als ich mein Skript geschrieben habe (vor Monaten), bestand eben dieses Problem mit der 1 Stunden-Differenz im FileDate einer Datei.
Jetzt - wenn ich diese Delete ENV:TZ, Copy ENVARC:TZ ENV:TZ Passage weglasse, stimmt die Zeit trotzdem, also keine 1 Stunden Differenz mehr.
Alles was ich tat, war - gemäß Deinem Info - mal ixtimezone -get-offset aufzurufen.
Dadurch wurde eben offenbar diese Variable ENVARC:IXGMTOFFSET angelegt.

Der eigentliche Clou ist aber nun:
Obwohl ich noch kein etc:zoneinfo/... Assign bzw. Verzeichniss angelegt habe, wird nicht nur dennoch die richtige Zeit im FileDate angezeigt, sondern SnoopDos zeigt, daß beim Aufruf von jhead die ixemul wie folgt - nämlich genau nach der selben Nomenklatur wie die Amiga TZ Variable - gesucht wird (Zeile 29):

code:
SnoopDos logging started on Sunday, 30-Jul-06 at 11:59:25

 Count Process Name                       Action      Target Name                                                Options Res.
 ----- ------------                       ------      -----------                                                ------- ----
SnoopDos enabled  at 11:59:25
SnoopDos disabled at 11:59:27
SnoopDos enabled  at 11:59:37
 1     [16] Shell Process                 FindVar     Program:Grafik-Tools/Jhead/jhead                           Alias   Fail
 2     [16] Shell Process                 GetVar      _pchar                                                     Local   Fail
 3     [16] Shell Process                 GetVar      _mchar                                                     Local   Fail
 4     [16] Shell Process                 ChangeDir   DH0:                                                                   
/5     [16] Shell Process                 Lock        Program:Grafik-Tools/Jhead/jhead                           Read        
 6     [16] Shell Process                 *Lock       Program:Grafik-Tools/Jhead/jhead                           Read    OK  
5     [16] Shell Process                 Lock        Program:Grafik-Tools/Jhead/jhead                           Read    OK  
/7     [16] Shell Process                 Load        Program:Grafik-Tools/Jhead/jhead                                       
 8     [16] Shell Process                 *Open       Program:Grafik-Tools/Jhead/jhead                           Read    OK  
7     [16] Shell Process                 Load        Program:Grafik-Tools/Jhead/jhead                                   OK  
/9     [16] Shell Process                 Lock        Program:Grafik-Tools/Jhead/jhead                           Read        
 10    [16] Shell Process                 *Lock       Program:Grafik-Tools/Jhead/jhead                           Read    OK  
9     [16] Shell Process                 Lock        Program:Grafik-Tools/Jhead/jhead                           Read    OK  
 11    [16] Shell Process                 ChangeDir   DH0:                                                                   
/12    [16] Program:Grafik-Tools/Jhead/jh RunCommand  -v RAM:Bild.jpg                                            30000   ----
 13    [16] Program:Grafik-Tools/Jhead/jh OpenLib     ixemul.library                                             Ver 48  OK  
 14    [16] Program:Grafik-Tools/Jhead/jh OpenLib     ixnet.library                                              Ver 44  OK  
 15    [16] Program:Grafik-Tools/Jhead/jh OpenLib     bsdsocket.library                                          Ver 3   OK  
 16    [16] Program:Grafik-Tools/Jhead/jh OpenDev     timer.device                                               Unit 0  OK  
 17    [16] Program:Grafik-Tools/Jhead/jh FindSem     NSDPatch (8.3.2002)                                                OK  
 18    [16] Program:Grafik-Tools/Jhead/jh OpenLib     AmiTCP:libs/usergroup.library                              Ver 1   OK  
 19    [16] Program:Grafik-Tools/Jhead/jh OpenDev     timer.device                                               Unit 0  OK  
 20    [16] Program:Grafik-Tools/Jhead/jh FindSem     NSDPatch (8.3.2002)                                                OK  
 21    [16] Program:Grafik-Tools/Jhead/jh *Lock       *                                                          Read    Fail
 22    [16] Program:Grafik-Tools/Jhead/jh Open        *                                                          Read    OK  
 23    [16] Program:Grafik-Tools/Jhead/jh OpenDev     input.device                                               Unit 0  OK  
 24    [16] Program:Grafik-Tools/Jhead/jh FindSem     NSDPatch (8.3.2002)                                                OK  
 25    [16] Program:Grafik-Tools/Jhead/jh Open        etc:passwd                                                 Read    Fail
 26    [16] Program:Grafik-Tools/Jhead/jh *Lock       RAM:Bild.jpg                                               Read    OK  
 27    [16] Program:Grafik-Tools/Jhead/jh *Lock       RAM:Bild.jpg                                               Read    OK  
 28    [16] Program:Grafik-Tools/Jhead/jh *Open       RAM:Bild.jpg                                               Read    OK  
 29    [16] Program:Grafik-Tools/Jhead/jh Open        etc:zoneinfo/MET-2EDT                                      Read    Fail
 30    [16] Program:Grafik-Tools/Jhead/jh Open        etc:zoneinfo/posixrules                                    Read    Fail
 31    [16] Program:Grafik-Tools/Jhead/jh Open        etc:zoneinfo/GMT                                           Read    Fail
 32    [16] Program:Grafik-Tools/Jhead/jh Open        etc:zoneinfo/posixrules                                    Read    Fail
12    [16] Program:Grafik-Tools/Jhead/jh RunCommand  -v RAM:Bild.jpg                                            30000   0   
 33    [16] Program:Grafik-Tools/Jhead/jh SetVar      RC=0                                                       Local   OK  
 34    [16] Program:Grafik-Tools/Jhead/jh SetVar      Result2=0                                                  Local   OK  
 35    [16] Shell Process                 GetVar      echo                                                       Local   Fail
 36    [16] Shell Process                 GetVar      oldredirect                                                Local   Fail
 37    [16] Shell Process                 GetVar      keepdoublequotes                                           Local   Fail
SnoopDos disabled at 11:59:41

Closed SnoopDos log at 12:00:05




Ändere ich nun mal testweise die Amiga TZ Variable auf Winterzeit - also TZ = MET-1 - dann ergibt das SnoopDos log, daß automatisch nach etc:zoneinfo/MET-1 gesucht wird, so, als ob der Wechsel eben automatisch erkannt werden würde.


Interessant, ...oder ?
--


Gruß, Indy

[ Dieser Beitrag wurde von Indy am 30.07.2006 um 12:18 Uhr geändert. ]

[ Dieser Beitrag wurde von Indy am 30.07.2006 um 12:22 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > PhotoAlbum 6.6 und JPEG (Exif) [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.