2021年07月18日

MPEG Exporter TNG ver.3.91 β2

MET3 Icon
ffmpegとCoreMediaのGUIラッパーであるMPEG Exporter TNGのver.3.91 β2版です。
(もういっそのことver.4のベータでいいのではないかという気もするくらい)
・変換、中断ボタンの動作をわかりやすく改良
・通知機能の動作の改良
・エラーメッセージが出なかった問題を解決
何が問題だったのかといえば、UIを操作できるのはメインスレッドだけというルールに抵触していたからです。
この場合のUIにはnotificationやbeepも含まれていたようです。バックグラウンドスレッドで通常のAppleScriptの用語のnotifyを呼んだ場合、同じスレッド内の他の処理が全て終わった時点で実行されるようです。
その解決方法として、Cocoa-AppleScriptを呼ぶことができます。具体的には次のようなスクリプトです。バックグラウンドスレッドからnotifyを呼ぶ方法についてweb上でなかなか(少なくとも日本語の)情報が見つからなかったので、紹介しておきます。なお、普通にメインスレッドでも動作します。Mojave以降はNSUserNotificationCenterそのものが非推奨となっていますが、Bigu Surでも動作します。

use framework "Foundation"
my performSelectorOnMainThread:"notification:" withObject:{aTitle:"通知です。", aSubtitle:"サンプルです。", aMessage:"長いテキストを入れています。"} waitUntilDone:true

on notification:theObj
set aTitle to aTitle of theObj
set aSubtitle to aSubtitle of theObj
set aMessage to aMessage of theObj
set userNotification to current application's NSUserNotification's alloc()'s init()
set userNotification's title to aTitle
set userNotification's subtitle to aSubtitle
set userNotification's informativeText to aMessage
current application's NSUserNotificationCenter's defaultUserNotificationCenter's deliverNotification:userNotification
current application's NSUserNotificationCenter's defaultUserNotificationCenter's setDelegate:me
userNotification's release()
end notification:
on userNotificationCenter:notificationcenter shouldPresentNotification:notification
return 1
end userNotificationCenter:shouldPresentNotification:

スクリプトエディタで開く

残った大きな問題は、すでに開始した変換処理を中断できないことです。バックグラウンドスレッドからメインスレッドにdo shell scriptでkillallを呼んでも、ffmpegを中断できないことです。他のアプリなどのプロセスからkillallすると中断できるので、原因はどこにあるのかわかりません。もしわかる方がいたら教えていただけると助かります。

Download MPEG Exporter TNG ver. 3.91 β2版
正式なver.3.91がリリースされても通知はでません。不具合がある場合は、安定版であるver.3.9をダウンロードし直してください。

ダウンロード後はダウンロードフォルダから他のフォルダに移動してから起動してください。
初回起動時に各OSの環境に合わせたライブラリをアプリ本体のパッケージ内にダウンロードします。
このバージョンの対応環境はEl Capitan以上です。Apple Siliconネイティブ対応です。
posted by MacLab. at 16:27| Comment(0) | TrackBack(1) | 技術情報
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/188852259
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

MPEG Exporter TNG ver.3.9.1リリース
Excerpt: MPEG Exporter TNG ver.3.9.1リリースしました。β版には通知がいきませんので、手動でアップデートしてください。
Weblog: MacLab. News Blog.
Tracked: 2021-08-30 21:12