feed

2014年07月12日, 編集履歴

Mailto Interceptorをver. 1.1にヴァージョンアップしました

 mailto:リンク等によるメールアプリケーションの起動を抑制するユーティリティMailto Interceptorをver. 1.1にヴァージョンアップしました。

 ver. 1.1では、選択された動作をHUDパネルで通知する仕組みを導入しました。

 これにより、ヴィジュアルフィードバックがなかった「mailto リンクを無視」、「メールアドレスをコピー」等の動作が正常に処理されたかどうかを知ることができるようになりました。通知パネルを使用するかどうかは選択できます。

 Mac App Storeでの日本語文章も今回はちゃんと用意できました。

 どうぞよろしくお願いします。

2014年06月14日, 編集履歴

Jekyllでスペースを含むタグを付ける

 Jekyllでは、YAML Front-matterでtags変数にタグを割り当てることで、ブログ記事にタグを付けることができる。たとえばこの記事のFront-matterは以下のようになっている。

---
title: Jekyllで空白を含むタグを付ける
layout: post
tags: jekyll development
---

 タグはスペース区切りで割り当てる。この場合はjekylldevelopmentというふたつのタグが付けられることになる。

 タグ名にスペースが含まれない場合は上記の記法で良い。タグ名にスペースを入れたい場合は、YAMLのリスト形式を用いる。
 たとえば「Mailto Interceptorをリリースしました」という記事にはmailto interceptoros xというスペース含みのタグが付けられている。この記事のFront-matterは以下のようになっている。

---
title: Mailto Interceptorをリリースしました
layout: post
tags: [os x, release, mailto interceptor]
---

 []でくくった中に,区切りでタグ名を指定する。このようにすれば、空白含みのタグを付けられるようになる。

2014年06月06日, 編集履歴

Mailto Interceptorをリリースしました

 Mailto InterceptorというOS Xアプリケーションをリリースしました。

 ウェブブラウズ中にmailto:リンクをクリックしてしまい、意図せずメイルアプリケーションが起動してしまったことがありませんか? Mailto Interceptorを使えば意図しないメイルアプリケーションの起動を抑制します。

 Mailto Interceptorはシステムからはメイルアプリケーションとして認識されます。Mailto Interceptorをシステムのディフォルトメイルアプリケーションとして設定することでmailto:リンクのクリック等に反応して起動するようになります。
 通常のメイルアプリケーションであれば、起動後メイル作成画面を開きますが、Mailto Interceptorは設定された動作を実行後、自動終了します。Mailto Interceptorで設定可能な動作は以下の通りです。

 Mailto Interceptorがmailto:に反応して起動した場合、Dockへのアイコン表示、およびDockアイコンのバウンドアニメーション等はしないので、ユーザはMailto Interceptorの存在を意識することなく上記の動作を実行させることができます。

 上記デモアニメーションは、メニューをポップアップする動作を行ったときのものです。mailto:リンクをクリックすると、システムがディフォルトのメイルアプリケーションを起動します。Mailto Interceptorをディフォルトメイルアプリケーションにしている場合、Mailto Interceptorが起動し、指定動作を実行します(上記デモアニメーションの場合はメニューのポップアップ)。
 デモアニメーションで”Copy Email Address”をしているメニューは通常のコンテキストメニューではなく、Mailto Interceptorが表示しているメニューです(”Paste”しているメニューは通常のコンテキストメニュー)。前述のように、このときDockにアイコンが表示されたりはしません。

 不意にメイルアプリケーションが起動してしまい、イラっとしたことがあるひとはぜひMailto Interceptorをお試しください。

余談

 Mac App Storeでの文言は英語になっていますが、アプリケーション自体は日本語化されています。Mac App Storeでの日本語文言の準備を後回しにしていたら、それより早くリリースされてしまい、日本語文言の追加ができなくなってしまいました……。次回アップデート時にはちゃんと日本語追加します。

2014年06月04日, 編集履歴

QuickTime PlayerでスクリーンキャプチャしたMOVからベターなアニメーションGIFを作る

(この記事の内容よりも良い方法を「動画ファイルからより良いアニメーションGIFを作る」に書きました)

 QuickTime Playerで「ファイル」→「新規画面収録」することで、画面の操作をMOVファイルの動画にすること(スクリーンキャプチャ)ができる。そのMOVからある程度きれいでファイルサイズが小さいアニメーションGIFを作ることを考える。

用意するもの(括弧内のヴァージョンは筆者の環境。他のヴァージョンでもたぶん可):

手順:

  1. ffmpegを使って動画を連番画像に切り出す
  2. ImageMagickのconvertコマンドで連番画像をアニメーションGIFに纏める

ffmpegを使って動画を連番画像に切り出す

 まずはffmpegを用いてMOVをフレーム毎に連番画像に切り出す。

 ここで、アニメーションGIFのフレーム間の間隔は0.01秒単位である。したがって、フレーム間隔0.01秒で100fps(fps = 秒間フレーム数)となり、以後、0.02秒で50fps、0.03秒で33.33fps、0.04秒で25fps……となる。
 QuickTime Playerで画面収録した場合、収録サイズやマシンスペックによって出力される動画のfpsは変動するので、アニメーションGIFの仕様に合わせたfpsで画像切り出しを行う。

$ ffmpeg -i input.mov -r 50 frames/%03d.png

 この例では、カレントディレクトリィ下のframesディレクトリィに、3桁の連番をファイル名としたpng画像群が出力される。入力動画が60fpsで収録されていたので、アニメーションGIFの仕様に一番近い50fpsでの切り出しを行っている(したがって、秒間10フレーム分間引かれる)。そのために-rオプションでフレーム数50を指定した。
 Internet Explorerの古いヴァージョンではフレーム間隔0.06秒以下(= 16.67fps以上)のアニメーションGIFは正常に再生できないらしいが、今回は無視する(参考:あなたは大丈夫?高速GIFアニメになってしまう症状 知らなきゃ絶対損するPCマル秘ワザ)。

ImageMagickのconvertコマンドで連番画像をアニメーションGIFに纏める

 次に出力された連番画像をImageMagickのconvertコマンドを用いてアニメーションGIFに纏める。

$ convert -delay 2 -layers optimize frames/*.png output.gif

 上記のようにすればframesディレクトリィ下の連番画像がアニメーションGIFになる。-delayオプションでフレーム間隔を0.01秒単位で指定する。ここでは上述の動画切り出しfpsに合わせて2(= 0.02秒間隔 = 50fps)を指定した。
 -layers optimizeオプションを使用することでいい感じにアニメーションGIFを最適化してくれる(フレーム間で差分のあるところだけを使うとか)。このオプションを指定しない場合、50fpsで約9秒のアニメーションGIFのファイルサイズが約7.8MB、指定した場合は約552KBと、大幅なファイルサイズ削減効果があった。それでいて見た感じの画質の劣化等は全然解らないので、-layers optimizeオプションを指定することをおすすめする(動画の内容によるかも)。

 以上のようにして生成したのが以下のアニメーションGIFである。

 ターミナルでの操作が嫌なひとは以下のようなGUIアプリケーションがあるので参考まで。

余談

 ちなみに上記のアニメーションGIFは2014年6月4日現在Mac App Storeに申請中のアプリケーションのデモアニメーションです。mailto:リンクのクリックによる意図しないメイルアプリケーションの起動を抑制します。メイルアプリケーションの起動の代わりにアドレスをコピィしたり、Gmailの作成画面を開いたりできるようになるアプリケーションです。

 追記:上記アプリケーションをリリースしました(「Mailto Interceptorをリリースしました」)。

参考

2014年04月22日, 編集履歴

Kindle本購入で付与されるポイントが仮ポイントになっていたらカスタマーサービスに問い合わせよう

 Kindleストアでは購入時にポイントが付くセールをよくやっている。しかし、付与されるはずのポイントが使用可能な確定ポイントではなく、使用できない仮ポイントになってしまっていることがよくある。

 私がこれまで経験した十数冊分を鑑みると——ポイントが付くKindle本を、取得済みのポイントを用いて購入すると仮ポイントになってしまう傾向があるように思う(未確定)。なのでポイント還元セールでまとめ買いなんかすると、よく仮ポイントになっている。そのうち確定ポイントになるだろうと放置していても、一ヶ月近くたっても確定ポイントにはなってくれない。

 どうやらAmazonからは動いてくれないようなので、こちらから問い合わせをする必要がある。

  1. Kindleストアの「カスタマーサービスに連絡」ページにアクセス(要ログイン)
  2. 「お問い合わせの種類」は「注文」を選択
  3. 仮ポイントになってしまっている注文が一件の場合は、注文番号入力欄に入力。複数の注文を纏めて問い合わせる場合は、注文番号入力欄は空欄で、後述のメッセージ欄に入力しても良いと思う
  4. 「お問い合わせの内容」は「Amazonポイント」を選択
  5. 「お問い合わせの方法」は「チャット」か「Eメール」。電話でも良いけど、注文番号とか伝える必要があるので、口頭よりは文字ベースの方がやりやすいと思う
  6. メッセージ入力欄に、仮ポイントになってしまっている旨、およびその注文番号、タイトル等を入力する

 私はEメールで問い合わせをしたが、三十分ほどで確定ポイントに変更してくれる旨の返信が来、その後一日程度で実際に変更が反映された。

 仮ポイント問題を放置していてもAmazonからはなかなか動いてくれないようだが、こちらからの問い合わせへの反応は迅速である。仮ポイントのままでは持ち腐れなので、気づいたらカスタマーサービスに問い合わせすることをおすすめする。