脳みその中身

Inside of My Brain

ScreenFlow で作った「それっぽい動画」

ScreenFlow は、今まで主に、インストラクションムービー(手順説明動画) などを作成するために使っていましたが、これって結構いろんなコトができることを再発見!

…ということで、

「ササミの筋取り」を説明した20秒ちょっとの動画を、懐かしい東芝のテレビで映しているように見える動画 (via ScreenFlow)

を作ってみました。

素材

  • 自分で撮った『ササミの筋取り』の動画 (23秒程度)
  • 昔のテレビのスイッチ音 (ON / OFF)
    TurnOffTV.aiff
  • 昔のテレビ(TOSHIBA製) の画像

下ごしらえ

昔のテレビ画像ファイルから、画面部分と画面を除いた部分にそれぞれpng形式で作成

ScreenFlow で編集

完成動画

「ササミの筋取り」を説明した20秒ちょっとの動画を、懐かしい東芝のテレビで映しているように見える動画
(via ScreenFlow)

wkpdf — URLからPDFを作成

FileMakerのソリューションで、コマンドラインによって、指定のURLからPDFを作成…という機能を実装する要望があったため、wkpdfをインストールした。

wkpdf の特徴

  • HTMLレンダリングに WebKit を使用
  • JavaScript も効くので、Safari の表示とほぼ近いレンダリング結果になる
  • –username –password オプションを指定することで、Basic認証などにも対応
  • 当然、出力結果のPDFファイルは、画像ではないので、テキスト検索が効く
  • サムネイルとしては使いにくい
    ※ 画像ファイル形式での出力不可/サイズ指定切り出し不可

Install

MacRuby

wkpdf は MacRuby を使用する。

  1. MacRuby の公式ダウンロードページから、Latest Stable Release の standalone binary installer のパッケージをダウンロードする。
    ※  2012/03/21 現在、MacRuby 0.10
  2. 解凍してできるインストーラパッケージをダブルクリックして指示に従いインストールする。

wkpdf

通常の gem を使ったインストール

sudo gem update –system

sudo gem install wkpdf

※ 当然、インストール後の Update も…

gem update wkpdf

で、OK。

Usage

Basic Usage

基本的には…

wkpdf –source http://foo.com/ –output foo.pdf

というように、–source オプションで、取得元URL を、–output オプションで、出力先PDF名を指定する。
※ 出力先PDFパスと考えてOK

Other Usage

以下が、wkpdf –help の出力結果である。

–output, -o <s>: Output PDF filename
–source, -s <s>: URL or filename (supported protocols: http, https, ftp, file), if
not present read from stdin (default: /dev/stdin)
–paper, -p <s>: Paper size (folio | ledger | letterSmall | legal | a0 | a1 | a2 |
statement | quarto | b4 | a3 | b5 | a4 | executive | letter | a5 |
a4small | custom:WxH | 10×14 | tabloid) (default: a4)
–orientation, -r <s>: (landscape | portrait) (default: portrait)
–hcenter, -c: Center horizontally (default: true)
–vcenter, -e: Center vertically
–paginate, -a: Enable pagination (default: true)
–margins, -m <i+>: Paper margins in points (T R B L) (V H) or (M)
–caching, -i: Load from cache if possible (default: true)
–timeout, -t <f>: Set timeout to N seconds (default: 3600.0)
–stylesheet-media, -y <s>: Set the CSS media value (default: screen)
–user-stylesheet, -u <s>: URL or path of stylesheet to use
–user-script <s>: URL or path of script to use
–print-background, -n: Display background images
–ignore-http-errors, -g: Generate PDF despite, e.g., a 404 error
–username <s>: Authenticate with username
–password, -w <s>: Authenticate with password
–enable-plugins, -b: Enable plugins
–enable-javascript, -l: Enable javascript (default: true)
–save-delay <f>: Wait N seconds after loading to generate PDF (default: 0.0)
–version, -v: Print the version and exit
–help, -h: Show this message
–debug, -d: Print debug output

出力用紙サイズ (–paper) や用紙方向 (–orientation) 、ページネーション (–pagination) などの出力様式指定も一通り指定できるし、Basic認証の向こうのURL も対応するので、シンプルに必要最低限のことはできる。

Notice

URL中に、アンパサンドやクエスチョンが入る場合は、URL を シングル(or ダブル)クォーテーションで括ってやる必要がある。

※ もちろん、出力パスにスペースが入る場合なども同様。

URL中に、日本語が入っていると、その部分をUTF-8 URLエンコードしてやらないとエラーになる。

※ 対処策を勘案中 (2012/03/21 20:30:49)

対処策 (2012/03/22 13:03:09)

GetAsURLEncoded ( URL ) だと、スラッシュやコロンなどまでURLエンコードされてしまうので、「一文字ずつ改行区切りにして non-ASCII だけを…」とか
あほみたいに考えていたけど、ほぼ以下の通りで解決。

“‘” & URLDecode ( GetAsURLEncoded ( URL ) ) & “‘”

カスタム関数 URLDecode は、
http://www.briandunning.com/cf/528

————————————-

Ruby 側に対処するという手法だと、

Rubyで日本語を含むURLを扱う

な話なんだろね。
これをやっちまうと、Updateされたときに上書きされちまうだろうし、変更箇所などの詳細を覚えておく自信もないし、今回は FileMaker 側で対処することに。

Alfred Extensions (有料版のみ) の使い方

アプリケーションランチャとして Alfred を使っている方は多いと思います。

そうした使い方だけなら、Free版の Alfred で充分ですが、有料の Power pack を購入することで、いくつかの機能が追加されます。

使い出すと手放せない Power pack の機能は、File System Navigation と

今回取り上げる Extensions and Custom Commands です。

今回は、例として、アプリケーションをアンインストールするアプリケーション AppCleaner に、アンインストールしたいアプリケーションを渡す方法を説明します。

AppCleaner

まずは、AppCleaner 。Free (無料) です。

アンインストールしたいアプリケーションを指定 (Drag & Drop でも可) すると、当該アプリケーションの利用している plistファイルや、Applications Support 内ファイルなどの関連ファイルを探してきて、一緒に捨ててくれます。
※ Undo機能やアーカイブ機能がないのが残念ですが、充分使えるアプリです。

 AppCleaner action (Download & Install)

サードパーティー (というかこの方は個人だと思われますが) の AiYo さんのサイトに 自作の Alfred Extensions がリストされています。

ここにある

をダウンロードします。

ダウンロードしたファイル AppCleaner.alfredextension をダブルクリックすることで、Alfred が以下のようなウィンドウを表示します。

そのままで、大丈夫です。
ここでは、特に修正は必要ありません。

File Search Filter (Create & Setting)

次に、左下の+マークから、File Search Filter を作ります。

すると、以下のような、ダイアログが現れます。

Extension Name に、Uninstall と入力し、
あとは適当に入力してください。w

せっかくなので、アイコンも AppCleaner のものにしてみましょうか。

Alfred のウィンドウを開いて ( Defaultでは、Option+スペース ) 、appcl あたりまで入力すると、一番上に AppCleaner.app が来ると思います。

ここで、右矢印キー (→) を押して、info と入力してください。

そしてそのまま、⏎キーを押します
※ これは、Power pack の File System Navigation とResult Actions という機能です。

AppCleaner の情報ウィンドウが表示されます。
このウィンドウの左上の小さなアイコンを選択して、⌘+C でコピーします。

そして、先ほどの、Extension 作成のウィンドウの虫眼鏡マークをクリックし、⌘+V でペーストします。

Create ボタンをクリックすると、このフィルタの設定画面になりますので、上半分は、以下の図のように、入力してください。

その下の File Types: では右下の+ボタンをクリックして現れるファイル選択ダイアログを表示させます。
このダイアログは、「どんなタイプのファイルが AppCleaner に渡されるべきなのか?」ということを指定するものなので、アプリケーションフォルダに移動して、任意のApplication のファイル (*.app) を選択します。

これで、File Types には、application/com.apple.application-bundle というエントリが入ったはずです。

その下の Scope: は、「どこを探せばいいの?」ということなので、
Browseボタンを押して現れるフォルダ選択ダイアログで、アプリケーションフォルダを指定します。

最終的には以下のようになっているはずなので、Save ボタンで保存します。

 以上で設定はおしまいです。

How to Use

さて、使ってみましょう。

Alfred ウィンドウを表示します。( Defaultでは、Option+スペース )

uninstall に続けて、スペース (あるいは、⏎ ) を押してから、アンインストールしたいアプリケーションの名前を何文字か打ちます。
※ インクリメントサーチされます。

目的のアプリケーションが一番上に来たら、⏎

※ 以下の図は、Numbers.app をアンインストールしたい場合の例です。

自動的に、AppCleaner.app が立ち上がって、今、指定したアプリケーションが、アンインストールの対象に渡されています。

あとは、削除されるファイルをよく確認して、ほかで使われているかもしれないファイルのチェックを外して、 削除ボタンをクリックすると、リストされたファイル のうちチェックマークのあるものすべてがゴミ箱に入ります。

Mac で様々な動画を見たいときにはこのあたりのCodec入れとけ!

標準で QuickTime が対応するコーデックは、Internet上の動画の半分も対応できていません。

もちろん、「この動画プレイヤーアプリケーションでは再生できる」というケースはありますが「Codec に合わせて、再生するプレイヤーを変える」というのは、あまりスマートではありませんし、できるかぎり、「これを入れておけば」Mac全体として (QuickTime Player でも、QuickTime に依存するアプリケーション上 でも…) 動画再生が可能になるように QuickTime Component の形が望まれるわけです。

ということで、拙ブログ『脳みその中身』でも何度か Mac で使える 動画再生用の QuickTimeコンポーネント について取り上げてきました。

現段階での動画再生用 無料 Codecまとめ的なものは以下の四つです。

それぞれ、Libraryフォルダ下QuickTimeフォルダ( /Library/QuickTime or  ~/Library/QuickTime ) に QuickTimeコンポーネントを入れたり、Applications フォルダ ( /Applications )にアプリを入れたり、Internetプラグインフォルダ (/Library/Internet Plug-Ins )をプラグインを入れたりします。

=====================================

Perian

[File formats]

AVI
DIVX
FLV
MKV
GVI
VP
VFW

[Video types]

MS-MPEG4 v1 & v2
DivX
3ivx
H.264,
Sorenson H.263
FLV/Sorenson Spark
FSV1
VP6
H263i
VP3
HuffYUV
FFVHuff
MPEG1 & MPEG2 Video
Fraps
Snow
NuppelVideo
Techsmith Screen Capture
DosBox Capture

[Audio types]

Windows Media Audio v1 & v2, Flash ADPCM, Xiph Vorbis (in Matroska), and MPEG Layer I & II Audio, True Audio, DTS Coherent Acoustics, Nellymoser ASAO

AVI support for AAC, AC3 Audio, H.264, MPEG4, VBR MP3 and more

Subtitle support for SSA/ASS, SRT, SAMI

=====================================

Flip4Mac
※ Flip4Mac で検索して Telestream のサイトからダウンロードしようとして、有料版をクリックしてしまうケースが散見します。
※ 再生するだけなら無料版 でOKですので、上記リンク(MicroSoftのサイト)からどうぞ。

[Supported audio codecs]

Windows Media Audio 9
Windows Media Audio 9 Professional
Windows Media Audio 9 Lossless
ISO MPEG Layer 3 (MP3)
Microsoft G.726
Microsoft IMA ADPCM
Microsoft G.711 aLaw
Microsoft G.711 uLaw
Microsoft ADPCM

[Supported video codecs]

Windows Media Video 9
Windows Media Video 9 Advanced (VC-1)
Windows Media Video 8
Windows Media Video 7
ISO MPEG-4, versions 1.0 and 1.1
Microsoft MPEG-4, versions 2 and 3
Microsoft Motion JPEG

[File formats]

Advanced Systems Format (ASF)
Advanced Stream Redirector (ASX)
Audio Video Interleaved (AVI)

[Network protocols]

MMS Real-Time Streaming Protocol (RTSP)
MMS HTTP
HTTP
FTP

=====================================

Silverlight

Microsoft 開発の Webブラウザプラグイン
Windows 限定のサイトなどで、近年、Silverlight を採用して、Macでも動画再生可能なコンテンツに切り替えるところが出てきている。(Gyao など)
※ 思うに…同じ Microsoft の WMV から Silverlight への変更は、 比較的無理なく移行できるのでは無かろうか…と勝手に思ってる。w

=====================================

Xiph QuickTime Component

オープン且つパテントフリーなoog 系コンテナを策定している ザイフォ財団 (Xiph.Org Foundation) の QuickTime コンポーネント。
音声フォーマット (Codec) Vorbis / FLAC / Speex
動画フォーマット (Codec) Theora
などを扱えるようになる。

インストール方法:当該Macのユーザ全員で使う場合 /Library/QuickTime/ に、当該ユーザのみで使う場合 ~/Library/QuickTime/ に、インストーラ dmg  を開いて表れる QuickTimeコンポーネント を入れるだけ。

=====================================
以前に、『脳みその中身』内で、動画再生Codec の QuickTime コンポーネント 関係について書いたエントリは ↓

Mac 用 Codec サマリー

Perian – Mac OS X 用 超便利Codec

動画再生用 CODEC Mac OS X 向け

Windows Media Player での MPEG2 Codec

CSVファイルを出力して FTPアップロードするまでを FileMaker のスクリプトで行う方法 (Mac OS X)

某クライアント (不動産業) の案件で、『CSV を 吐き出して、FTPで (あらかじめ規定された) Webサーバ上のフォルダ にアップロードする』というものがありました。

そのクライアントは、社内業務に FileMaker を使っているので、FileMaker (Mac OS X) のスクリプトで実行したいわけです。

条件は、以下の通り。

  1. CSVファイルの文字コードは、UTF-8 / 改行コードは、LF。
  2. CSVファイル名は、YYYYMMDDhhmmss_テーブル識別子.csv の形式。
  3. CSV出力と同時にFTPアップロードする。
  4. FTPユーザ名/パスワードなどのFTP関連情報は、FileMakerアクセスからは隠す。
  5. Macを少しだけ使えるスタッフが、Macで、FTPサーバアドレス/FTPユーザ名/パスワードなどのFTP関連情報 をいつでも修正できるように。

1 は、普通にCSV(UTF-8)書き出し後に (Mac OS X での出力なので 改行コードが CR なので LF に修正するために)

$ perl -p -e ‘s/\r/\n/g’ < CR.txt > LF.txt

とやってやればOKですし、なんなら、XML FMPRESULT 指定で…という方法もあります。

2 は、
テーブル識別子を $tableid というグローバル変数に格納しておいて、

Let ( [

$YYMMDD = GetAsText ( Year ( Get ( 日付 ) ) * 10000 + Month ( Get ( 日付 ) ) * 100 + Day ( Get ( 日付 ) ) ) ;
$hhmmss = Right (
"000000" & GetAsText ( Hour ( Get ( 時刻 ) ) ) * 10000 + Minute ( Get ( 時刻 ) ) * 100 + Seconds ( Get ( 時刻 ) ) ;
6
) // Right
] ;
$YYMMDD & $hhmmss & “_” & $tableid & “.csv”
) // Let

とかやってやればOKでしょう。

3 も、4 の条件がなければ、シェルコマンドを do shell script な AppleScript ではじいてやればOKのはずなのですが、この場合、AppleScript内に、FTPユーザ名/パスワードなどの情報を書き込むことになります。
では、FTP情報を埋め込んだ AppleScript をアプリケーション形式で保存しておいて、それを叩いてやれば良さそうなものですが、
5 の条件でいう『Macを少しだけ使えるスタッフ』には、AppleScript の編集は、少し荷が重すぎるようです。

…で、「どうやって、FTPアップロードすべ?」と悩んでいたわけです。

Automator Acriotn : Upload to FTP を使った Automatorフロー例いっそのこと、Transmit 4 などの FTPクライアントソフトの AppleScript 機能を使って…という『一応の解』が出ていたわけですが…ふと「Automator でどーよ!?」と思いました。

「Automator なら Automator のフロー側に FTPユーザ名/パスワードなどをリテラルで格納すれば、FTP関連情報をFileMaker アクセスからは隠せるし、Automatorのワークフローの修正なら、『Macを少しだけ使えるスタッフ』にも修正可能!」

探したところ、Upload to FTPという Automator Action がありました。
これを使って、CSV書き出し用フォルダに、フォルダアクション として設定すれば、オールOK!

具体的な手順の説明は、また後日。

ブログエディタさがし – ecto -

ブログエディタなるものを物色。

Macjournal は、一時期メモとして使い倒したけれど、ブログエディタとして使ったことはないし、クセが強いのであんまその気にならない。
今までは、「ブラウザ上で書けばいいじゃん」な気分でいたのだけれど、そら便利なら使わない方がもったいない気もしてきたのです。
ということで、評判の良さ気なブログエディタを探して、使ってみようと思いました。

ecto

ずいぶんと評判が良いみたい。
画像のドラッグ&ドロップに対応というのが良い。

さっそく ecto 3 をダウンロードしてインストール。

まず、勝手に設定ウィザード的な窓が開く。

使っているブログシステムを選んで、ブログのURLを入力すると自動でアクセスポイントを探してくれる。
101119174439.jpg

あとは、アドミン権限のあるアカウント情報を入力するだけ。
101119174547.jpg

できたできた…と新規エントリを作成しようとしてみたら、WYSIWYGエディタの ulタグの挙動がおかしい。

ectoScreenSnapz001.jpg

てな感じで複数の行を選択して、101119175309.jpg ←こんなリスト化するボタンを押すと、

101119175844.jpg

と、↑こんなんなっちゃいます。

ulタグは結構使いますから、これでは話になりませんので、ecto 断念。

名前を覚えていないアプリケーションを用途から検索する方法 1

MacUpdate Promo や macZOT などで使えそうなアプリケーションをすぐに購入する傾向が僕にはある。
それらのサイトから購入するアプリケーションは、そのほとんどすべてが Sherewareで、当然、試用ができるから、「使えない」と判断したものは、即座にアンインストールする。

それでも、僕のアプリケーションフォルダを開くと、300以上の項目数が存在する。

ほぼ同用途のアプリケーションが複数存在するのである。

同じことをするなら、用途ごとに、ひとつのアプリケーションだけを使えばいいではないか…という考えもあるだろう。

しかし、個々の利用シーンによって、Aというアプリケーションが一番使いやすかったり、Bというアプリケーションが一番使いやすかったりするのは事実である。

例えば、ある動画があって、これを AppleTVで再生できる形式に変換したい…という場合を想定してみて欲しい。

  • 元動画の音声が小さくて、変換ついでに、音量を150%にしたいなら、VisualHub を使うべきである。
  • 元動画がDVDであるなら、HandBrake がいい。
  • 元動画ファイルのコーデックが (H.264など) そのままでよく、コンテナだけを変えるだけでAppleTVで再生できるなら、VideoDrive が手っ取り早い。

問題は…

とてもじゃないが、
アプリケーションの名前を用途ごとに全部なんて覚えていられない

ということだ。w

この問題点の解決方法を、エントリにしてみたいと思う。


Spotlightの検索結果をドラッグ可能にする方法

Spotlightの検索結果をドラッグ可能にする

という記事が、Macの手書き説明書 さんにポストされていました。

defaults write com.apple.spotlight AllowMenuDrag -bool true

とターミナルで打つだけ。
もちろん、戻すには、false で OK。

これで、ファイルならばドラッグ先へコピー、辞書や計算機の結果ならばテキストクリッピングが生成されるとのこと。

Snow Leopard 標準機能で、NTFSフォーマットのボリュームを読み書き可能にする方法

Boot Campを使って、Mac で Windows を起動できるようにしている方は多い。

さて、Boot Camp のインストール時に一番はじめに悩むのが、「Windows パーティションのフォーマットを、FAT32 / NTSF のどちらにするか」という点である。

ご周知の通り、Windows VISTA をインストールする場合、NTSF しかないし、FAT32は、4GBを越えるファイルを扱えないし、何よりいまさら FAT32 でもあるまいと思う。
しかし、Mac から Windows パーティションへの書き込みが可能なのは、FAT32 だけであって、NTSFフォーマットでは、これができない。( 読み込みは可能。また逆の書き込みは可能 )

こうした世知辛い理由から、FAT32 を選択する場合が多かった。
また、Paragon NTFS for Mac OS X 7 などの ユーティリティの力に頼って、NTSF に Mac から書き込みできるようにしている方もよく見かけた。

Snow Leopard (10.6.x) では、標準の機能で、これが可能になっているようだ。

Guide: Enable native NTFS Read/Write in Snow Leopard : MacRumors Forums

http://forums.macrumors.com/showthread.php?t=785376

For this, you need to modify your /etc/fstab file to mount NTFS partitions for read and write.

  1. First, uninstall NTFS-3G/Paragon if installed.
  2. Open Terminal.app (/Applications/Utilities/Terminal)
  3. Type “diskutil info /Volumes/volume_name” and copy the Volume UUID (bunch of numbers).
  4. Backup /etc/fstab if you have it, shouldn’t be there in a default install.
  5. Type “sudo nano /etc/fstab”.
  6. Type in “UUID=paste_the_uuid_here none ntfs rw” or “LABEL=volume_name none ntfs rw” (if you don’t have UUID for the disk).
  7. Repeat for other NTFS partitions.
  8. Save the file (ctrl-x then y) and restart your system.

After reboot, NTFS partitions should natively have read and write support. This works in both 32 and 64-bit kernels. Support is quite good and fast, it even recognizes file attributes such as hidden files.

拙訳すると… Continue reading