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 

Avisynth
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



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

Post (Separately) Posted: Mon Dec 19, 2016 21:10    Post subject: Reply with quote

Давай конкретно.
Было
Code:
A = FFAudioSource("путь")
V = FFVideoSource("путь")
В 3-м параметре FFVideoSource.
Что на выходе? А если AviSource?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Mon Dec 19, 2016 21:15    Post subject: Reply with quote

Если в параметре кнопки FFVideoSource, то будет просто FFVideoSource("путь") (видео без звука), ну и AviSource("путь") соответственно во втором случае. Формировать фильтры с переменными не надо, только их заменять.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Dec 19, 2016 21:21    Post subject: Reply with quote

Когда переходят к конкретике и спрашивают "что на выходе?", предполагают текст кода, а не описание того, как должно быть. Иначе возникает куча доп. вопросов. В частности, касаемо необходимости сохранять элементы присвоения или перезаписывать строки целиком, как запрошено в исходном посте.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Mon Dec 19, 2016 21:26    Post subject: Reply with quote

A = FFAudioSource("путь")
V = FFVideoSource("путь")

Параметр: FFVideoSource

Итог: FFVideoSource("путь")

Параметр: AviSource

Итог: AviSource("путь")

Строки перезаписываются полностью. Никаких "A =" не сохраняется.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Dec 19, 2016 21:56    Post subject: Reply with quote

Code:
'========================================== VBS =========================================
' Добавление/замена сверху содержимого AVS-скрипта команд(ы) фильтра с путём к видеофайлу
' Параметры: "<путь к avs>" "<путь к видео>" <команда фильтра>
' Пример: %V %T%M AviSource
'========================================================================================
With WSH.Arguments
  If .Count <> 3 Then MsgBox "Укажите 3 параметра!", 4144, " Правка (создание) AVS" : WSH.Quit
  AVS = .Item(0) : Video = .Item(1) : Pref = .Item(2)
End With : Str = Pref & "(""" & Video & """)"
Exs = "|asf|avi|divx|flv|mkv|mov|mp4|mpg|ts|"
With CreateObject("Scripting.FileSystemObject")
  If .FileExists(Video) And InStr(Exs, "|" & LCase(.GetExtensionName(Video) & "|")) Then
    If .FileExists(AVS) And LCase(.GetExtensionName(AVS)) = "avs" Then
      If .GetFile(AVS).Size <> 0 Then
        With .OpenTextFile(AVS)
          For i = 1 to 3
            Execute "Str" & i & " = .ReadLine" : If .AtEndOfStream Then Exit For
          Next : If Not .AtEndOfStream Then All = .ReadAll End If : .Close
        End With
        With New Regexp
          .IgnoreCase = True : .Pattern = "\w+Source\(.+\)" : L = vbNewLine
          If .Test(Str1) Then
            If Not .Test(Str2) Then Str = Str & L & Str2
            .Pattern = "^AudioDub *\( *V, *A\)$"
            If Not .Test(Str3) Then Str = Str & L & Str3
          End If
        End With : If Not IsEmpty(All) And InStr(All, L) <> 1 Then All = L & All
      End If :  .OpenTextFile(AVS, 2).Write Str & All
    Else nAVS = .GetParentFolderName(AVS) & "\" & .GetBaseName(Video) & ".avs"
         If Not .FileExists(nAVS) Then .CreateTextFile(nAVS).Write Str
    End If
  End If
End With

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue Dec 20, 2016 15:57; edited 7 times in total
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Mon Dec 19, 2016 22:08    Post subject: Reply with quote

Почему-то для некоторых avs ошибку выдаёт.

Line:18
Char:56
Input past end of file

Например, для такого вида:
AviSource("asdfa")
Trim(1668,1831)

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

Я так понимаю, в avs должно быть 3 или более строк, тогда ошибки нет.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Dec 19, 2016 22:14    Post subject: Reply with quote

Исправил.
+ добавку лишних переводов строк убрал.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Mon Dec 19, 2016 22:26    Post subject: Reply with quote

Благодарю.
Ну и если не сложно, добавь, чтобы искал в третьей строке AudioDub(V, A), и при нахождении удалял.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Dec 19, 2016 22:51    Post subject: Reply with quote

Добавил.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
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 Previous  1, 2
Page 2 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