AppleScript アップルスクリプト 質問、発表 4at MAC
AppleScript アップルスクリプト 質問、発表 4 - 暇つぶし2ch551:名称未設定
11/08/10 03:29:43.62 3HkqA6cK0
QuickTimePlayer 7, OSX 10.6で

連番ファイル(avi)をファイルダイアログで範囲指定して
ex.
a0000.avi, a0001.avi....a0010.avi
新規ムービーファイルを作り、
その連番通りに結合(新規ファイルにコピペで結合できるはず)し
a.aviという名前で保存する。

というAppleScriptを作りたい(教えてもらいたい 作ってもらいたい)んです、、。お願いします。


552:名称未設定
11/08/10 04:56:58.87 4n5JsgAh0
10個程度なら考えてる間に手作業の方が早いよ

553:名称未設定
11/08/10 07:48:31.70 tQCY15lc0
>>551
Terminalで
cat a0000.avi a0001.avi ….. a0010.avi > a.avi

アップルスクリプトにする理由がない。

554:名称未設定
11/08/10 11:06:51.85 iQ4Dxaes0
>>553
しかもその例なら、
cat a00??.avi > a.avi
でいける。a0011.aviとかいらないものが存在するなら、
cat $(jot -w a00%02g.avi 10 1 10) > a.avi
または
cat a000{1..9}.avi a0010.avi > a.avi




555:名称未設定
11/08/10 18:59:48.09 RcoMmZ8YP
>>553
横からすいません、それってmp4やm4vなんかでも有効ですか?

556:名称未設定
11/08/10 19:16:39.35 sxsg4HBUP
>>555
やって見た方が早くね?w

557:名称未設定
11/08/10 20:05:25.86 RcoMmZ8YP
>>556
おっしゃるとおりですんでやってみました

ダメでした orz

2枚組みのDVDをチャプター付きでエンコしたファイル
DISK1.m4v と DISK2.m4v があったんで
その2つをホーム直下に置いてターミナルを起動して
「cat DISK1.m4v DISK2.m4v > TEST.m4v」と入力して
return キーを押したらカリカリと何かやった揚げ句に
ホーム直下に TEST.m4v をペッと吐き出したんですが
喜んで開いてみたら DISK1.m4v と同じ内容のものでした

558:名称未設定
11/08/10 23:48:37.77 YHi/7OQR0
ヘッダがあるから無理でしょ

559:名称未設定
11/08/11 01:26:46.21 K3lO3ltE0
>>557
あまり詳しくないが、aviは単純ファイル連結でも再生できるらしい。
mp4というか、MPEGは本来だと単純ファイル連結できない。
しかし、一部のプレイヤーはそれでも再生出来る。
たしか、VLCは再生できたはず。
QuickTimeでは連結前の最初のファイルしか認識しない。

560:名称未設定
11/08/11 02:15:59.42 1gLoOjAv0
元質問者の >551です。
すでにターミナルで結合を試したけど、うまく再生できなかったため
QT player7のコピペでやってみたら可能だったので
AppleScriptで自動化できないかと思って質問しました。

今、たまたま、調べていたらMPEG Streamclipを試したところ
これなら連番aviファイルを結合することに成功。
さらにバッチ処理も可能でした。

お騒がせしてすいませんでした。






561:名称未設定
11/08/17 01:50:25.51 YJQQg2s+0
URLリンク(www.mousedown.net)

562:名称未設定
11/08/17 09:23:02.24 10+pNeuk0
OSX10.5から10.6にしたところ、スクリプトメニューから実行するスクリプトが速過ぎて、制御するアプリ側が追いつかずcmd+cやcmd+vのキーストロークが失敗してしまいます。たまには上手く行くのですが。。。
(多分アプリ側のダイアログが出るのが遅い)
これを回避する方法ってありますか?

563:名称未設定
11/08/17 11:49:18.87 rq8Gjx9x0
>>562
・delayで決め打ち
・ダイアログなら、Quickeys を使ってダイアログが出るまで待たせる

564:名称未設定
11/08/17 12:25:42.60 10+pNeuk0
>>563
やはりdelayしかないんですね。
Quickeys、懐かしい!まだあるんですかね。探してみます。
ありがとうございました。

565:名称未設定
11/08/17 15:09:10.71 t5cnM3LT0
>>564
こういうのはどう?
ダイアログ出るまで無限ループ... 無限ループ... 大丈夫かな?

tell application "System Events"
tell application process "そのアプリケーション"
repeat until exists window "ダイアログの名前"
delay 1
end repeat

--ここにキー操作を書く

end tell
end tell

566:名称未設定
11/08/17 19:02:01.50 10+pNeuk0
>>563
delayでうまくいきました!ありがとうございました。

>>565
実はダイアログウインドウ自体は割とスパっと表示されるんですが、
その中に表示されるべき数値が何故か「もさっ」と出て来るんです。
なのでcmd+cしても空っぽ、tab keyを5回リピートしてペーストしても空白とかorz

しかし、教えて頂いた例は別の所で使えそうなので、参考にさせて頂きます。
ありがとうございました!





567:名称未設定
11/08/18 07:52:19.85 Eyax/Fhd0
>>566
その数値がテキストフィールドに入ってるものなら
テキストフィールド内の値を受け取って入れ込んだ方が確実で速い気がする

repeat 10 times
if value of text field 1 of window 1 is not "" then exit repeat
delay 1
end repeat
set txt1 to value of text field 1 of window 1
set value of text field 6 of window 1 to txt1

568:名称未設定
11/08/18 09:57:40.78 IUUn4b6X0
>>567
うおぉ。これはまた私にとっては一段と高度な構文!
大体の意味は分かるんですが、「text field 1」とか「text field 6」というのは、
"例えば"ってことですよね?そこはtext field 2であったり、3であったりするんですよね? すみません聞いてばっかりで。

569:567
11/08/18 11:51:34.19 M8pRv2rf0
そう例えば。
ダイアログ出した状態で知りたいテキストフィールドに何か入力しておいて
get value of text field 1 of window 1
とやってtext fieldの後の数字を増やして何番目が目的のフィールドか予め確認しておく


570:名称未設定
11/08/18 20:16:07.88 EzBIWePX0
Prefab UI Browser を使えば、text field の番号なんかがマウスオーバーで確認できるよ。

571:名称未設定
11/08/19 02:10:34.36 aBwKjhtc0
value of text fields
properties of text fields
properties of attributes of text fields
色々試してみると面白い


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