mattintosh note

どこかのエンジニアモドキの備忘録

Automator

TwitterにPNGをアップするときにJPEGに変換されない画像を作る

2019年2月11日より Twitter に PNG イメージをアップロードすると場合によっては JPEG イメージに変換されてしまうようになった(公式アナウンス)。いままであまり気にしてなかったのだけど久しぶりに macOS を使っていてスクリーンショットをダイレクトに…

Automator で tclsh を使う

glob が激っ速だったので最近 Tcl を使って遊んでたりする。「Automator でも Tcl に乗り換えようかな」と思ったけど残念ながら『シェルスクリプトを実行』アクションには /usr/bin/tclsh の選択肢が無い。 そこで、Run Shell Script.action の中にある Shel…

Mavericks にしたら Automator の『シェルスクリプトを実行』が使い難くなった

Mavericks にしてから Automator の『シェルスクリプトを実行』アクションの仕様が変わって使い難くなった。 フォントが等幅じゃない フォントが小さい この辺はまぁ許容範囲。では何かスクリプトを書いてみよう、と適当に書いて実行してみるがエラー連発。 …

Mac × ffmpeg × Automator

ffmpeg を更新したので Finder に追加している ffmpeg 変換サービスのスクリプトを書き直した。 # template: services # source: file or folder # mode: args cd $TMPDIR printf '#!%s\n' $SHELL > $$$$ for f in "$@"; do test -f "$f" && printf '/usr/lo…

Finder で選択した項目を Wine で開く(ターミナル兼用版)

Automator を使った Finder 用サービスのサンプルです。Finder で選択したファイルをコンテキストメニューからターミナルアプリケーションを経由して Wine で実行します。 WINELOADER の部分は MacPorts 用なのでそれ以外の場合はパスを変更して下さい。ター…

QuickTime Player を複数起動する方法

QuickTime Player.app は同じファイルを複数のプレイヤーで起動できないが、open コマンドの -n オプションを使うことで複数起動できる。-a オプションでアプリケーションの指定がなければデフォルトのアプリケーションで起動する。 open -na "/Applications…

Finder × FFplay

ffmpeg をインストールすると ffplay も一緒にインストールされる。Mac でも VLC や GOM Player、Perian をインストールしておけばほとんどの動画は再生できるので ffplay が必要になることはあまりない。強いて ffplay の魅力をあげるとするならば「同一、…

Finder で選択した動画から ffmpeg で音声を抽出する

Automator と ffmpeg を使って Finder の選択項目から音声を抜き出したりするためのシェルスクリプトを考えてみた。サービスとして登録し、Finder のコンテキストメニューから呼び出せばターミナル上で ffmpeg を使って処理を行う。拡張子抽出部分はテストソ…

Finder からアーカイブの中身を確認する

ちょっと tar の勉強中なので Finder から選択したアーカイブ内のファイル一覧をテキストエディタで開くシェルスクリプトを考えてみた。 # mode: stdin while read f do [ ! -f "$f" ] && continue ### open in term ### #tmp=/tmp/`uuidgen` case "${f##*.}…

Mac で 7zFM.exe を使う

Windows のアーカイバはファイルマネージャーを搭載していることがほとんどだけど、Mac ではあまり見かけない。コマンドラインなら p7zip や zipinfo を使ったりもできるけど、そこからさらに選択したファイルだけを解凍…となると GUI の方が楽だったりする…

Finder で選択した複数のディレクトリを個別に ZIP にする

Finder では複数の選択項目をひとつのアーカイブにすることはできても、個別にアーカイブ化することができないので Automator でアプリケーションを作ってみた。日付別なんかで JPEG イメージが保存されたディレクトリを個別に ZIP 化するのが目的。 ファイ…