Slideshow button für xnview?
Moderators: Hacker, Stefan2, white
Slideshow button für xnview?
Hi,
ich möchte die markierten Files oder das ganze Verzeichnis als Slideshow mit xnview ansehen.
Habe dazu einen Button erstellt:
Kommando: %COMMANDER_PATH%\..\Foto\XnView\xnview.exe
Parameter: -slide %F
Doch das geht nicht, da xnview am Anfang seiner slideshow-dateiliste noch einen "Dateiheader" erwartet:
# Slide Show Sequence
Timer = 3.000000
Loop = 1
FullScreen = 1
TitleBar = 0
Fit = 1
StrechVideo = 0
High = 1
CenterWindow = 1
ReadErrors = 1
RandomOrder = 0
ShowText = 1
Text = <Directory><Filename>
BackgroundColor = 0
FontName = "Courier"
FontBold = 0
FontItalic = 0
FontHeight = -13
TextColor = ffffff
TextPosition = 0
"C:\Bilder\Karte1.jpg"
"C:\Bilder\Karte2.jpg"
:
Hat jemand eine Idee?
Danke T*
ich möchte die markierten Files oder das ganze Verzeichnis als Slideshow mit xnview ansehen.
Habe dazu einen Button erstellt:
Kommando: %COMMANDER_PATH%\..\Foto\XnView\xnview.exe
Parameter: -slide %F
Doch das geht nicht, da xnview am Anfang seiner slideshow-dateiliste noch einen "Dateiheader" erwartet:
# Slide Show Sequence
Timer = 3.000000
Loop = 1
FullScreen = 1
TitleBar = 0
Fit = 1
StrechVideo = 0
High = 1
CenterWindow = 1
ReadErrors = 1
RandomOrder = 0
ShowText = 1
Text = <Directory><Filename>
BackgroundColor = 0
FontName = "Courier"
FontBold = 0
FontItalic = 0
FontHeight = -13
TextColor = ffffff
TextPosition = 0
"C:\Bilder\Karte1.jpg"
"C:\Bilder\Karte2.jpg"
:
Hat jemand eine Idee?
Danke T*
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
Ist vielleicht nicht sonderlich elegant, aber das kann man evntl. mit einem DOS-Batch erledigen (ersetze Notepad.exe bitte mit xnview):
Parameter: %L
Start minimized anklicken.
Startverzeichnis der BAT-Datei angeben.
Gruß
Holger
Der Batch liegt dann zuzsammen mit der Header.txt-Datei(aus deinem Post) in einem Verzeichnis und wird mit dem Command Button aufgerufen.@echo 0ff
type header.txt >slide.par
type %1>>slide.par
notepad.exe slide.par
Parameter: %L
Start minimized anklicken.
Startverzeichnis der BAT-Datei angeben.
Gruß
Holger
Last edited by HolgerK on 2006-03-25, 19:30 UTC, edited 1 time in total.
Mmh, macht Spass nach langer Zeit mal wieder DOS-Batches zu programmieren 
Probier's mal mit
Gruß
Holger

Probier's mal mit
Code: Select all
@echo off
type header.txt >slide.par
FOR /F "tokens=*" %%i in (%1) do @echo "%%i">>slide.par
notepad.exe slide.par
Holger
Last edited by HolgerK on 2006-03-25, 19:31 UTC, edited 1 time in total.
Dank sehr an Dich, Holger.
Xnview ist beim lesen seines slideshow-files nicht gerade tolerant...
"Text = <Directory><Filename>(<Filename Number>)"
Hab nun eine xnviewslide.cmd ins TC-Verzeichnis gelegt, die auch den Header gleich mit erzeugt:
TC-Button
Kommando: %COMMANDER_PATH%\xnviewslide.cmd
Parameter: %L
Startpfad: %COMMANDER_PATH%
Als Symbol
[/b]
Xnview ist beim lesen seines slideshow-files nicht gerade tolerant...
"Text = <Directory><Filename>(<Filename Number>)"
Hab nun eine xnviewslide.cmd ins TC-Verzeichnis gelegt, die auch den Header gleich mit erzeugt:
Code: Select all
set sshowfile=%COMMANDER_PATH%\slideshow.sld
echo # Slide Show Sequence > %sshowfile%
echo Timer = 3.000000 >> %sshowfile%
echo Loop = 1 >> %sshowfile%
echo FullScreen = 1 >> %sshowfile%
echo TitleBar = 0 >> %sshowfile%
echo Fit = 1 >> %sshowfile%
echo StrechVideo = 1 >> %sshowfile%
echo High = 1 >> %sshowfile%
echo CenterWindow = 1 >> %sshowfile%
echo ReadErrors = 0 >> %sshowfile%
echo RandomOrder = 0 >> %sshowfile%
echo ShowText = 1 >> %sshowfile%
echo "Text = <Directory><Filename>(<Filename Number>)" >> %sshowfile%
echo BackgroundColor = 0 >> %sshowfile%
echo FontName = "Arial" >> %sshowfile%
echo FontBold = 0 >> %sshowfile%
echo FontItalic = 0 >> %sshowfile%
echo FontHeight = -13 >> %sshowfile%
echo TextColor = ffffff >> %sshowfile%
echo TextPosition = 0 >> %sshowfile%
rem type %1 >> %sshowfile% geht nicht, weil xnview die Dateinamen in Hochkommata erwartet, deshalb HolgerK-spezial:
FOR /F "tokens=*" %%i in (%1) do @echo "%%i" >> %sshowfile%
c:\Programme\Foto\XnView\xnview.exe %sshowfile%
del %sshowfile%
Kommando: %COMMANDER_PATH%\xnviewslide.cmd
Parameter: %L
Startpfad: %COMMANDER_PATH%
Als Symbol
[/b]
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
Hat jemand eine Idee wie man mit xnview das aktuelle Verzeichnis als Slideshow ansehen kann? Seitens xnview hab ich da keinen Parameter gefunden...?
Mit irfanview gehts ganz einfach: Parameter: /slideshow=%P /closeslideshow
Mit irfanview gehts ganz einfach: Parameter: /slideshow=%P /closeslideshow
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
XnViewFolderSlideShow.vbs
Hallo tom*de
Ich wollte sowieso mal XnView ausprobieren. Habe bisher immer IrfanView für Bildbetrachtung/Konvertierung eingesetzt. Da hat mir Deine Frage den richtigen Anstoss gegeben.
Nach Lesen der Hilfe scheinst Du richtig zu liegen: es gibt keinen Übergabeparameter der das erledigt. Leider hat XnView auch keine COM-Schnittstelle mit der man sowas eleganter (und sicherer, weil unabhängig von Oberflächenänderungen) machen könnte.
Aber frei nach dem Motto "Bist du nicht willig, dann rauch ich im Wald", habe ich's dann mal mittels WindowsScriptingHost und SendKeys bei mir zum Laufen gebracht. Die Funktionalität kann ich übrigens selber auch sehr gut gebrauchen. Danke für die Anregung.
Der folgende Script kann als XnViewFolderSlideShow.vbs im CommanderPath abgelegt werden.
Als Paramter bitte "%P" angegeben, ansonsten wird ein Pfad mit Leerzeichen auf mehrere Argumente verteilt.
Ich habe das Ganze allerdings mit der englischen Oberfläche ausgetestet und implementiert. Wenn du die deutsche Oberfläche benutzt, müssen die beiden Tastendrücke 'SS' durch 'D' >Dia-Show starten< ersetzt werden. Einer der wenigen Fälle wo etwas im Deutschen kompakter ausgedrückt ist
Der Verzeichnissbaum muss in XnView sichtbar sein, sonst steht das Kontextmenü nicht zur Verfügung.
Den Pfad zu XnView habe ich mal einfach hart in den Script eingesetzt. Bitte anpassen.
Viel Spass damit wünscht Dir
Holger
Ich wollte sowieso mal XnView ausprobieren. Habe bisher immer IrfanView für Bildbetrachtung/Konvertierung eingesetzt. Da hat mir Deine Frage den richtigen Anstoss gegeben.

Nach Lesen der Hilfe scheinst Du richtig zu liegen: es gibt keinen Übergabeparameter der das erledigt. Leider hat XnView auch keine COM-Schnittstelle mit der man sowas eleganter (und sicherer, weil unabhängig von Oberflächenänderungen) machen könnte.
Aber frei nach dem Motto "Bist du nicht willig, dann rauch ich im Wald", habe ich's dann mal mittels WindowsScriptingHost und SendKeys bei mir zum Laufen gebracht. Die Funktionalität kann ich übrigens selber auch sehr gut gebrauchen. Danke für die Anregung.
Der folgende Script kann als XnViewFolderSlideShow.vbs im CommanderPath abgelegt werden.
Als Paramter bitte "%P" angegeben, ansonsten wird ein Pfad mit Leerzeichen auf mehrere Argumente verteilt.
Ich habe das Ganze allerdings mit der englischen Oberfläche ausgetestet und implementiert. Wenn du die deutsche Oberfläche benutzt, müssen die beiden Tastendrücke 'SS' durch 'D' >Dia-Show starten< ersetzt werden. Einer der wenigen Fälle wo etwas im Deutschen kompakter ausgedrückt ist

Der Verzeichnissbaum muss in XnView sichtbar sein, sonst steht das Kontextmenü nicht zur Verfügung.
Den Pfad zu XnView habe ich mal einfach hart in den Script eingesetzt. Bitte anpassen.
Viel Spass damit wünscht Dir
Holger

Code: Select all
'TotalCommander CommandButton to view current directory as slideshow in XnView
'Command: XnViewFolderSlideShow.vbs
'Parameters: "%P"
dim prgpath
prgpath = "D:\Util\XnView\XnView.exe"
dim foldername
foldername = Chr(34) + Wscript.arguments.Item(0) + Chr(34) ' surrounded by "Quotation marks"!!!
dim WshShell
Set WshShell = WScript.CreateObject( "WScript.Shell" )
' start XnView with command line parameter >foldername<.
' 9: window style <Restored> and activated.
' false: asynchronus
call WshShell.Run( prgpath + prgname + " " + foldername, 9, false)
WScript.Sleep 300 ' wait until program is started. Depends on computer speed!!!
' activate XnView using the caption bar string (Window title)
WshShell.AppActivate "XnView - [Browser -" + foldername + "]"
' Send keys to XnView
WScript.Sleep 100
WshShell.SendKeys "{Tab}" ' TAB: switch fokus to >folder tree< pane. Folder tree pane must be visible!!!
WScript.Sleep 100
WshShell.SendKeys "+{F10}" ' Shift-F10: open the context menu for >foldername<
WScript.Sleep 100
WshShell.SendKeys "S" ' S: select first menu item starting with character >'S'earch<
WScript.Sleep 100
WshShell.SendKeys "S" ' S: select second menu item starting with character >'S'tart slideshow<
WScript.Sleep 100
WshShell.SendKeys "{ENTER}" ' ENTER: execute menu command >'S'tart slideshow<
Es gibt übrigens auch ein XNView-Forum:
http://newsgroup.xnview.com/index.php
Vielleicht weiß dort jemand weiter
http://newsgroup.xnview.com/index.php
Vielleicht weiß dort jemand weiter
Ich habe da schon mal kurz reingeschaut, aber auf Anhieb erstmal nichts gefunden. Clo scheint dort übrigens auch sehr aktiv zu sein.Lefteous wrote:Es gibt übrigens auch ein XNView-Forum:
http://newsgroup.xnview.com/index.php
Vielleicht weiß dort jemand weiter
Vielleicht sollte da mal jemand einen [REQ] antriggern?

Gruß
Holger
Gute Idee Holger, habs ins xnview-Forum mal als request gestellt:Vielleicht sollte da mal jemand einen [REQ] antriggern?
http://newsgroup.xnview.com/viewtopic.php?p=27691
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
zur Info: es geht voran. Feature Requests sind wohl akzeptiert worden. http://newsgroup.xnview.com/viewtopic.php?p=28169#28169
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
-
- New Member
- Posts: 1
- Joined: 2006-05-02, 07:45 UTC