Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Слайдшоу в IrfanView по кнопке в ТС
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Andriy_ko



Joined: 04 Mar 2010
Posts: 3

Post (Separately) Posted: Thu Mar 04, 2010 15:16    Post subject: Слайдшоу в IrfanView по кнопке в ТС Reply with quote

В IrfanView для запуска слайдшоу нужно совершить кучу действий, поэтому возникла идея автоматизировать этот процесс.
Была сделана кнопка в Total Commander
Code:
TOTALCMD#BAR#DATA
C:\Program Files\Total Commander\ADD\i_view32.exe
/slideshow="%P"
C:\Program Files\Total Commander\ADD\Plugins\Slideshow.exe
слайдшоу из папки
C:\Program Files\Total Commander\ADD\

-1

Заходим в папку с картинками/фотками, жмем кнопку и получаем слайдшоу из изображений в этой папке (без подпапок)
НО слайдшоу запускается или с первого файла, или с последнего просмотренного в слайдшоу (настраивается в IrfanView)
КАК запустить это дело с произвольного файла под курсором??
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Thu Mar 04, 2010 16:31    Post subject: Reply with quote

А не устроит по выделенным файлам с ключом /slideshow=%L Question
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Thu Mar 04, 2010 16:45    Post subject: Reply with quote

...а я бы еще по вкусу добавил /closeslideshow /bf
С выбранного, по-моему, никак. Разве что прикрутить скрипт какой.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Andriy_ko



Joined: 04 Mar 2010
Posts: 3

Post (Separately) Posted: Thu Mar 04, 2010 20:32    Post subject: Reply with quote

Batya wrote:
А не устроит по выделенным файлам с ключом /slideshow=%L Question

Возникает другой вопрос, как автоматом выделить все от курсора до конца? хоткеем - Shift+End. Для этой комбинации можно назначить команду?

Вахмурка wrote:
...а я бы еще по вкусу добавил /closeslideshow /bf
Для универсальности - да. Такой пункт есть в настройках слайдшоу. Как бы еще принудительно отключать Запоминание номера последнего файла в слайдшоу.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Thu Mar 04, 2010 20:49    Post subject: Reply with quote

Andriy_ko wrote:
Возникает другой вопрос, как автоматом выделить все от курсора до конца? хоткеем - Shift+End. Для этой комбинации можно назначить команду?

Нет. Насколько понимаю, тут действительно поможет только скрипт.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Mar 05, 2010 14:18    Post subject: Reply with quote

Кстати, скриптом можно создавать список файлов, который будет вначале содержать имена файлов от текущего до последнего, а потом от первого до текущего - вот и будет слайд-шоу всей папки с текущего файла.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Sun Mar 07, 2010 22:23    Post subject: Reply with quote

Andriy_ko wrote:
КАК запустить это дело с произвольного файла под курсором??
Avada wrote:
Насколько понимаю, тут действительно поможет только скрипт.

vbs:
Code:
'==========================================================================
' Выполнение команды с указанием файла-списка, содержащего все файлы,
'   заданных расширений, начиная с указанного
'
' Параметры:
' {первый файл файла-списка}
'
' Пример параметров при вызове из TC:
' %P%N
'
' Автор - Batya
'==========================================================================
Option Explicit
'======== Изменяемые параметры ============================================
' Начало команды (до файла-списка)
Const Start   = """%ProgramFiles%\IrfanView\i_view32.exe"" /fs /bf /closeslideshow /slideshow="
' Окончание команды
Const Finish  = ""
' Файл-список
Const List    = "%Temp%\%Random%.txt"
' Удалять ли файл-список после выполнения команды
Const ListDel = True
' Расширения файлов для файла-списка
Dim EXT
Set EXT = CreateObject("Scripting.Dictionary")
EXT.Add "jpg",  ""
EXT.Add "bmp",  ""
EXT.Add "gif",  ""
EXT.Add "jpeg", ""
'==========================================================================
Dim FSO, WSH, Folder, First, F, i, Find, L, Command, Text1, Text2
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Randomize

First   = GetPath(WScript.Arguments(0))
Folder  = FSO.GetParentFolderName(First)
L       = GetPath(Replace(List, "%Random%", CStr(Int(Rnd*10^8)), 1, -1, 1))
Command = GetPath(Start) & """" & L & """" & GetPath(Finish)

Find = False
For Each F In FSO.GetFolder(Folder).Files
  If EXT.Exists(LCase(FSO.GetExtensionName(F.Path))) Then
    If LCase(First) = LCase(F.Path) Then Find = True
    If Find Then
      Text1 = Text1 & F.Path & vbNewLine
    Else
      Text2 = Text2 & F.Path & vbNewLine
    End If
  End If
Next

FSO.CreateTextFile(L, True).Write Text1 & Text2
WSH.Run Command, 1, ListDel

If ListDel Then FSO.DeleteFile L

Set EXT = Nothing
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit 0

Function GetPath(pPath)
  GetPath = WSH.ExpandEnvironmentStrings(pPath)
End Function

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Andriy_ko



Joined: 04 Mar 2010
Posts: 3

Post (Separately) Posted: Mon Mar 08, 2010 01:20    Post subject: Reply with quote

Батя, спасибо! все работает так как надо!, только путь к ирфану поправил и для полного счастья добавил в расширения avi Smile

Для правильной работы скрипта в настройках слайдшоу Irfan View нужно снять галочку с "Запоминать номер последнего файла при выходе" и "Начинать со слайда №1"
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Mar 08, 2010 01:43    Post subject: Reply with quote

Andriy_ko wrote:
все работает так как надо!
да нет, нужно доредактировать скрипт: файлы воспроизводятся, начиная с того, который под курсором, и до конца, а потом с начала и до этого файла. То есть скрипт воспроизводит все файлы в папке указанных форматов в скрипте, только с приоритетом начала проигрывания.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Mar 08, 2010 01:45    Post subject: Reply with quote

Andriy_ko wrote:
Для правильной работы скрипта в настройках слайдшоу Irfan View нужно снять галочку с "Запоминать номер последнего файла при выходе" и "Начинать со слайда №1"

У себя в версии 4.25 такого не нашёл.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Mar 08, 2010 01:46    Post subject: Reply with quote

Batya wrote:
У себя в версии 4.25 такого не нашёл.
Клавиша W - там.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Mar 08, 2010 01:48    Post subject: Reply with quote

Flasher wrote:
нужно доредактировать скрипт

Не понял. Ты написал, как скрипт работает сейчас. А как хочешь ты?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Mar 08, 2010 01:53    Post subject: Reply with quote

Batya wrote:
А как хочешь ты?
Чтобы производились файлы начиная с подкурсорного и до последнего в списке панели, а потом выключалось.(т.е. без файлов до подкурсорного)

Хотя это уже моя приблуда, согласен. Просто не так прочитал пост MVV. Скрипт работает правильно по заданной задаче. Но если всё таки удастся подредактировать под описанные мной нужды, было бы не плохо.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Mar 08, 2010 02:29    Post subject: Reply with quote

Flasher wrote:
Чтобы производились файлы начиная с подкурсорного и до последнего в списке панели, а потом выключалось.(т.е. без файлов до подкурсорного)

Измени
Code:
FSO.CreateTextFile(L, True).Write Text1 & Text2
на
Code:
FSO.CreateTextFile(L, True).Write Text1

_________________
Нет, я не сплю. Я просто медленно моргаю.


Last edited by Batya on Mon Mar 08, 2010 03:05; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Mar 08, 2010 02:43    Post subject: Reply with quote

Batya wrote:
Code:
FSO.CreateTextFile(L, True).Write Text2

Теперь начинает воспроизводить с первого файла в папке, сортируя по имени. Хотя смысл в затирании "Text1 & " выглядит логичным.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group