🍎

Bad Apple!! PV【影絵】を mac のメニューバーで動かしてみた

2024/09/11に公開

まずは実際にメニューバーで動かしたものを御覧ください。
https://www.youtube.com/watch?v=F3aerwiWfmk
RunCat もけっこうゆっくりめです。

きっかけ

当時 SwiftBar で情報をいろいろ表示するものを作成していて
https://bsky.app/profile/sharlm.bsky.social/post/3kkvmix4tnh2x
だんだんネタがなくなってきたので某所の Slack でネタを募集したら
「Bad Apple!! ですね」
と言われたのでいろいろがんばってみたのでした。

SwiftBar とは

Mac ユーザには有名かと思われますが macOS のメニューバーのカスタマイズアプリで、スクリプト(bash, zsh, perl, python 他なんでもよい)の標準出力をメニューバーにかっこよく出せます。

参考: SwiftBar - シェルスクリプトを使ってmacOSのメニューバーアイテム作成することができるユーティリティ | ソフトアンテナ

解説

SwiftBar プラグインの書式には以下のようなパラメータがあります。

Parameter Value Description
image Image encoded in Base64, light_image,dark_image Sets an image for item. If only one image is provided, it is used for both light and dark appearance.

勘のよい人ならお気づきでしょう「パラパラ漫画できるんじゃね?」はい
もちろん手順は

  1. 動画を指定フレームごとに分割
  2. 各コマを Base64 にエンコード
  3. 上記のエンコードされた画像をひたすら表示

最初は分割とエンコードを手作業でやっていたのですが(one liner の組み合わせ)「これもスクリプト化してしまえ」と書いたのが以下
https://github.com/sharl/SwiftBar-Plugins/blob/main/tools/make.sh

テンプレート script.in は以下
https://github.com/sharl/SwiftBar-Plugins/blob/main/tools/script.in

./make.sh badapple.mp4 を実行すると badapple.100ms.sh というスクリプト(100ms は100ミリ秒ごとに実行するを表す)が出力されるので、SwiftBar のプラグインフォルダに入れるとパラパラ漫画の完成です。

動作環境

  • SwiftBar 2.0.1 BETA 1
  • Mac mini (2014)
    古い mac でもけっこう動くもんです。

最後に

Enjoy!!

Discussion