お前らのショボイAvisynthスクリプト貼ってくださいpart3at AVI
お前らのショボイAvisynthスクリプト貼ってくださいpart3 - 暇つぶし2ch2:名無しさん@編集中
09/02/18 21:24:24 goZAzE5q
前スレ
お前らのショボイAvisynthスクリプト貼ってください
スレリンク(avi板)

関連スレ
Avisynthを絶讃ιょぅょ Part26
スレリンク(avi板)l50



3:名無しさん@編集中
09/02/19 00:34:15 oSuony5z
Vim compiler file
Avisynthスクリプトのデバッグ用に

" Vim compiler file
" Compiler: vdub
" Last Change: 19-Feb-2009.

"" 使い方 {{{1
" VirtualDub 付属の vdub.exe のパスを設定。
" $HOME/vimfiles/compiler に vdub.vim として、このスクリプトを置く。

" .vimrc に以下を記入。

" :grep や :make の実行後、自動的に QuickFix ウィンドウを開く
" (注意: vim7 以降で利用可能)
" URLリンク(vimwiki.net)

"au QuickfixCmdPost make,grep,grepadd copen
"au QuickfixCmdPost l* lopen

" ScriptClip などのデバッグ用
" ctrl + return で VirtualDub を編集中のスクリプトを読み込ん
" で起動。
"au BufRead *.avs,*.avsi map <C-CR> :!start "E:/home/hoge/bin/VirtualDub/VirtualDub.exe" "%:p"<CR>

4:名無しさん@編集中
09/02/19 00:36:06 oSuony5z
"" 使用上の注意
" AviSynthスクリプト名、及びパスにマルチバイト文字や半角スペ
" ースを使わないこと。そうしないと、エラーの箇所にジャンプし
" ない。

" AviSynthスクリプトの返り値が clip でないときは、デバッグの
" ときスクリプトの最後にでも BlankClip を置いておく。}}}

if exists("current_compiler")
  finish
endif
let current_compiler = "vdub"

if exists(":CompilerSet") != 2    " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif

" :help errorformat
set efm=%-GVirtualDub%.%#,%-GCopyright%.%#,%-Gavi%.%#,%Z(%f\\,\ line\ %l),%Z(%f\\,\ line\ %l\\,\ column\ %c),%A%m,%-G%.%#
CompilerSet makeprg=E:/home/hoge/bin/VirtualDub/vdub\ %

" vim:set fdm=marker:

5:名無しさん@編集中
09/02/19 19:22:52 4Ms0ngha
まじでvim設定乙
しかしあの荒らしは酷かったな

6:名無しさん@編集中
09/02/24 03:25:06 TLTH5vib
前回張った入門者用(MeGUI用)スクリプトの対となるバッチ処理プログラムです DGIndex(Audio)からリファレンスAVSを参照してファイル名を変換します
Avisynthスクリプトじゃないですが対となるので、どうぞ、お許しください

AVS名生成.bat

@echo off
:FILEDROP
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo 拡張機能を有効にできません
rem
rem ファイル名に連続するスペースがあるものは対応しきれていません 連続するスペースは1個のスペースとしてファイル名の調整をしてください
rem
rem バトルスターギャラクティカ 第1話 (序章).mpg                 ソースファイル名 ※この時点でスペースを調整する方が無難
rem バトルスターギャラクティカ 第1話 (序章) Tc0 L2 2ch 48 384 DELAY -93ms.mp2  DGIndexで自動作成 <このバッチ処理にドロップすると生成される
rem バトルスターギャラクティカ 第1話 (序章).d2v                 DGIndexで自動作成
rem バトルスターギャラクティカ 第1話 (序章) DELAY -93msAM.avs AVS名生成バッチで自動生成したAVSファイル名(A,M,Dを選択する)
rem バトルスターギャラクティカ 第1話 (序章).d2v MeGUIに自動生成したAVSで読込するとd2v名不一致になる
rem


7:名無しさん@編集中
09/02/24 03:26:35 TLTH5vib
CD %~p1
for /f "tokens=1-20" %%1 in ("%~n1") do (if %%2==T80 (if %%5==DELAY set newname=%%1 %%5 %%6D&&set option=%%2 %%3 %%4&&goto :start))
for /f "tokens=1-20" %%1 in ("%~n1") do (if %%3==T80 (if %%6==DELAY set newname=%%1 %%2 %%6 %%7D&&set option=%%3 %%4 %%5&&goto :start))
for /f "tokens=1-20" %%1 in ("%~n1") do (if %%4==T80 (if %%7==DELAY set newname=%%1 %%2 %%3 %%7 %%8D&&set option=%%4 %%5 %%6&&goto :start))
for /f "tokens=1-20" %%1 in ("%~n1") do (if %%2==Tc0 (if %%7==DELAY set newname=%%1 %%7 %%8AM&&set option=%%2 %%3 %%4 %%5 %%6&&goto :start))
for /f "tokens=1-20" %%1 in ("%~n1") do (if %%3==Tc0 (if %%8==DELAY set newname=%%1 %%2 %%8 %%9AM&&set option=%%3 %%4 %%5 %%6 %%7&&goto :start))
for /f "tokens=1-20" %%1 in ("%~n1") do (if %%4==Tc0 (if %%9==DELAY set newname=%%1 %%2 %%3 %%9 %%10AM&&set option=%%4 %%5 %%6 %%7 %%8&&goto :start))
echo 現在このレイアウトには対応していません &&pause&&exit
:start
set reference=D:\DVD-R\新規差分ファイル(20090207-)\リファレンス.avs
set convert=D:\DVD-R\新規差分ファイル(20090207-)\convert.cmd
set rewrite= %option%
set findstr=Undefined
type nul>temp.tmp
echo:%newname%.avs>>temp.tmp
echo:%reference%>>temp.tmp
echo:%rewrite%>>temp.tmp
echo:%findstr%>>temp.tmp
if exist "%newname%.avs" (echo %newname%.avsが存在します &&pause&&del temp.tmp&&exit)
if not exist "%reference%" (echo "%reference%"が存在しません &&pause&&del temp.tmp&&exit)
call cmd /v:on /c "%convert%"
echo %newname%.avsを作成しました

8:名無しさん@編集中
09/02/24 03:27:19 TLTH5vib
echo:
findstr /n "!" "%reference%"
echo:
echo このバッチ処理では「!」があるものは出力時に削除されてしまいます「!=」を「<>」等に変更してください
echo (上記空欄にソース行が表示された場合「!」が含まれています ソースを確認の上対処してください)
pause
del temp.tmp
exit


9:名無しさん@編集中
09/02/24 03:28:05 TLTH5vib

convert.cmd

@echo off
set newname=nul
set reference=nul
set rewrite=nul
set findstr=nul
for /f "usebackq tokens=1* delims=" %%a in (temp.tmp) do (if !newname!==nul (set newname=%%a) else (
if !reference!==nul (set reference=%%a) else (if !rewrite!==nul (set rewrite=%%a) else (if !findstr!==nul (set findstr=%%a)))))
type nul>"%newname%"
for /f "usebackq tokens=1* delims=" %%a in ("%reference%") do (set line=%%a&&set out=!line:%findstr%=%rewrite%!&&echo:!out!>>"%newname%")
goto :eof


10:名無しさん@編集中
09/02/24 03:38:05 TLTH5vib
>>6 すいません どうも空白が詰められてしまったようでわかりにくいですが、上記例題のrem文3行は下の2行より空白が1バイト多いものとしてお考えください
   尚、1バイトの空白は重要なものもありますので無闇に詰めないでください ※convert.cmdはサブルーチンになります


11:名無しさん@編集中
09/02/24 03:45:24 TLTH5vib
>>6  後、前回のソースで以下の部分が変わりました ※バッチ処理で"Undefined"のところが書き変わります


global Plugin="C:\Program Files\AviSynth 2.5\plugins+\" global Audio_mp2="Undefined" global Audio_ac3="Undefined"


#-------------------------------------------------
# DGIndex / READ Video_File.d2v Audio_File.mp2(ac3)
#-------------------------------------------------
#----------------------AV_Get---------------------
function AV_Get(string "mode", string "script_path", bool "AC3_DownMixS")
{
Video_path = Leftstr(script_path,Findstr(script_path,"DELAY") -2 )
Error_name = Rightstr(script_path,Findstr(Revstr(script_path),"\") - 1)
Video = Exist(Video_path+".d2v") ? MPEG2Source(Video_path+".d2v") : Assert(false,+Error_name+".d2v"+" : File not found")
Audio_Delay = Midstr(script_path,Findstr(script_path,"DELAY") + 6 )
Audio_Delay = Leftstr(Audio_Delay,Findstr(Audio_Delay,"ms") - 1 )
Audio_option= mode<>"D" ? Audio_mp2+" DELAY "+Audio_Delay+"ms.mp2" : Audio_ac3+" DELAY "+Audio_Delay+"ms.ac3"
Exist(Video_path+Audio_option) ? nop() : Assert(false,+ Error_name+Audio_option+" : File not found")
st_ch = AC3_DownMixS ? 2 : 6
Audio_Source= mode=="D" ? "Effect_AC3(NicAC3Source(Video_path+Audio_option,st_ch))" : "NicMPG123Source(Video_path+Audio_option)"
Eval("AudioDub(Video," + Audio_Source + ")")
return last
}



12:名無しさん@編集中
09/02/24 04:08:19 TLTH5vib
>>6 たびたび申し訳ありません  for /f の後ろの空白1バイトが詰まっていました お手数ですがエラーがでたら対処をお願いします



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch