Slideshow button für xnview?

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
User avatar
tom*de
Senior Member
Senior Member
Posts: 394
Joined: 2003-02-25, 09:21 UTC

Slideshow button für xnview?

Post by *tom*de »

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*
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Ist vielleicht nicht sonderlich elegant, aber das kann man evntl. mit einem DOS-Batch erledigen (ersetze Notepad.exe bitte mit xnview):
@echo 0ff
type header.txt >slide.par
type %1>>slide.par
notepad.exe slide.par
Der Batch liegt dann zuzsammen mit der Header.txt-Datei(aus deinem Post) in einem Verzeichnis und wird mit dem Command Button aufgerufen.
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.
User avatar
tom*de
Senior Member
Senior Member
Posts: 394
Joined: 2003-02-25, 09:21 UTC

Post by *tom*de »

Hmm sieht eigentlich ganz gut aus, nur erwartet xnview die Listennamen wohl unbedingt in Hochkommta.

wie bekomme ich nun jede Zeile der vom TC erzeugten Liste %1 in Hochkommata :?:
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Mmh, macht Spass nach langer Zeit mal wieder DOS-Batches zu programmieren :-)
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
Gruß
Holger
Last edited by HolgerK on 2006-03-25, 19:31 UTC, edited 1 time in total.
User avatar
tom*de
Senior Member
Senior Member
Posts: 394
Joined: 2003-02-25, 09:21 UTC

Post by *tom*de »

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:

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%
TC-Button
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.
User avatar
tom*de
Senior Member
Senior Member
Posts: 394
Joined: 2003-02-25, 09:21 UTC

Post by *tom*de »

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
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

XnViewFolderSlideShow.vbs

Post by *HolgerK »

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 :)

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<
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Es gibt übrigens auch ein XNView-Forum:
http://newsgroup.xnview.com/index.php
Vielleicht weiß dort jemand weiter
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Lefteous wrote:Es gibt übrigens auch ein XNView-Forum:
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.
Vielleicht sollte da mal jemand einen [REQ] antriggern? ;-)
Gruß
Holger
User avatar
tom*de
Senior Member
Senior Member
Posts: 394
Joined: 2003-02-25, 09:21 UTC

Post by *tom*de »

Vielleicht sollte da mal jemand einen [REQ] antriggern?
Gute Idee Holger, habs ins xnview-Forum mal als request gestellt:
http://newsgroup.xnview.com/viewtopic.php?p=27691
Tom - #81178 - 5 User licence - Klugheit, Gerechtigkeit, Tapferkeit und Mäßigung plus Kooperation.
User avatar
tom*de
Senior Member
Senior Member
Posts: 394
Joined: 2003-02-25, 09:21 UTC

Post by *tom*de »

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.
blogGreen88
New Member
New Member
Posts: 1
Joined: 2006-05-02, 07:45 UTC

slide

Post by *blogGreen88 »

[mod]Spam entfernt.

Hacker (Moderator)[/mod]
Post Reply