Avisynth

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Avisynth

Сообщение Dimsok »

Хочется кнопку такого рода. В неактивной панели выбран видеофайл, а в активной скрипт avs. Добавить в скрипт первой строкой "AviSource ("Полный путь к видеофайлу"). Если выбран только видеофайл, то создать новый avs скрипт с этой строкой.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вспомнилось.
Список нужных форматов распиши. И по какому принципу формируется имя .avs при отсутствии.
И что если .avs не под курсором, но есть в папке?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Имя пусть будет как у видеофайла (без расширения). Форматы avi, divx, mkv, mp4, ts, mpg, mov, flv, asf. Желательно так, чтобы "AviSource" можно было легко поменять на др, напр DirectShowSource, правкой скрипта или указанием прямо в параметрах.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

На последний вопрос не ответил.
Что касается фильтров, то не лучше ли их привязывать к конкретным расширениям?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

И что если .avs не под курсором, но есть в папке?
Тогда ничего. В папке же может быть не один avs, не для всех же скопом менять.
Про привязку не знаю. Может один фильтр будет с конкретным форматом лучше работать, чем с др.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Код: Выделить всё

'===============================================================================
' Добавление сверху содержимого AVS-скрипта команды фильтра с путём к видеофайлу
' Параметры: "<путь к avs>" "<путь к видео>" <команда фильтра>
' Пример: %V %T%M AviSource
'===============================================================================
With WSH.Arguments
  If .Count <> 3 Then MsgBox "Укажите 3 параметра!",_
  4144, " Правка (создание) AVS" : WSH.Quit
  AVS = .Item(0) : VFile = .Item(1) : Pref = .Item(2)
End With : Str = Pref & "(""" & VFile & """)"
Exs = " asf avi divx flv mkv mov mp4 mpg ts "
With CreateObject("Scripting.FileSystemObject")
  If .FileExists(VFile) And InStr(Exs, " " & LCase(.GetExtensionName(VFile) & " ")) Then
    If .FileExists(AVS) And LCase(.GetExtensionName(AVS)) = "avs" Then
      All = "" : If .GetFile(AVS).Size <> 0 Then All = .OpenTextFile(AVS).ReadAll
      If InStr(All, Str) <> 1 Then .OpenTextFile(AVS, 2).Write Str & vbNewLine & All
    Else nAVS = .GetParentFolderName(AVS) & "\" & .GetBaseName(VFile) & ".avs"
         If Not .FileExists(nAVS) Then .CreateTextFile(nAVS).WriteLine Str
    End If
  End If
End With
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Спасибо.

Добавлено спустя 7 минут:

А реально сделать так, чтобы он распознавал по какому-нибудь признаку, есть ли в скрипте ссылка на источник, и если да, заменял её новым путём, а если нет, то просто добавлял новый?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Что ты понимаешь под ссылкой на источник?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Ну если, например в avs уже есть AviSource("путь"), FFVideoSource () и т.п можно это определять, и заменять его?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Можно, конечно. А есть где? На первой строке или на любой?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Пусть будет на первых двух. Потому что, например, есть такой вариант:
A = FFAudioSource
V = FFVideoSource

Пусть в этом случае обе строки заменяются на одну.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Так A и V - это две разных переменных, которые, я полагаю, используются в других строках.
Как заменять? Просто удалить и прописать AviSource("путь")?
Какой тогда критерий поиска? Просто искать путь и заменять его в первой строке при совпадении фильтра, в ином случае заменять фильтр или выше новую строку прописывать?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Так A и V - это две разных переменных, которые, я полагаю, используются в других строках
Да, используются. Третья строка AudioDub(V, A), но это уже можно будет руками убрать. А критерии поиска наверное *Source(*) для первых двух строк.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Так что делать, если фильтр не совпал?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Просто искать путь и заменять его в первой строке при совпадении фильтра, в ином случае заменять фильтр или выше новую строку прописывать?
Заменять путь вместе с фильтром. Новую строку прописывать, если не найдено.
Ответить