ひtoりgoと

iTunesVolume 1.0.1

作ったもの

やっとリリース。ダウンロードはここから。
iTunesVolume(iTunes Volume じゃない)について、まだ書いてないので書く。

2005 年から開発していた「スライダーだけ」な iTunes コントローラ、iTunes Volume。
そもそも、AirTunes 機能で音量調節をするために作り出したこのソフト。

「スライダーで再生/停止がしたい」「アートワークを表示したい」「そうだ、スリープタイマー」などと欲しい機能をどんどん足していくうちに、高機能になっていった。

だが、当時はプログラミングの知識などほとんどなく、「やりたいことが実現できればいい」と思いながら作っていたため、無駄だらけ、読みづらいコードで埋め尽くされていく。
しばらくして AppleScript Studio の限界を感じ、勉強をしたわけでもないのに Cocoa に手を出すから余計にひどいことに。

ある程度 Cocoa がわかるようになり(結局本は 1 冊も買わなかった)、自分の書き方を確立してきた去年の真ん中あたり、「0 から書き直したい」と思いはじめた。
2007.11.11、ついに iTunes Volume の後継プロジェクト "iTunesVolume" 開始。
(調子に乗って 9.1 まであがってしまったバージョンナンバーも 1.0 にリセット。)

以下、iTunes Volume からの変更点など。

情報バルーン

再生中の曲のタイトル、アーティスト、アルバムなどを表示する。 情報ウインドウが大きすぎるという声が(主に自分から)あったのでつけてみた。

バルーン風の表示は MAAttachedWindow を使って実装。
スライダーの下の、マイレート変更用の丸いボタンをクリックすると表示/非表示の切り替え。もちろん、ストリーミング再生の情報表示にも対応。

プレイリストメニューのアイコン

アイコンがついたので区別しやすい。

「プレイリスト」と「スマートプレイリスト」で分けるというアイデアは TotalTunes Control バージョン 1 のもの。(バージョン 2 以降は採用していないみたい)

スリープタイマーをセットするためのダイアログ

これまでのように終了までの長さでセットすることもできるし、「終了」の針を動かせば、終了時間でセットすることができる。

ユーザがコンピュータをスリープさせるとき

スリープタイマーが停止するようになった。
スリープしたままタイマーが終了、Mac を起こすとスリープが作動。という状況は悲しいので。

スライダーの反応

作り直したので前よりも軽くなったはず。

アートワークのアピアランス

光沢などがつくように。

.coversutraSkin ファイルも利用可能なので、カスタマイズの幅が広がったはず。

対応するファイルを

~/Library/Application Support/iTunesVolume/Artwork Appearances

に置くだけで、環境設定から選べるようになる。

ベゼルアピアランス

情報ウインドウやスリープタイマーのアピアランスも変更可能になった。

「ツール」メニュー

ドイツ語リソースでお世話になっている Thomas Meyer 氏のソフトウェア「iTunes Tag Sort」がデフォルトで入ってる。

アートワークの Core Image アニメーション

iTunes Volume の頃に一度実装したことがあるが、原因不明のメモリリークがあり、外した。
CIImage を表示するときにリークしているらしく、ここにあるように CGImage に変換して表示するようにして解決。

「ウインドウの位置をリセット...」メニュー

ウインドウが画面の外に出てしまったら押してもらう。

Share

リンクも共有もお気軽に。記事を書くモチベーションの向上に役立てます。

© 2005-2021 zumuya