togo

= ひとりごと to go

zumuya の人による机の上系情報サイト

LandVolume 1.1

  • 配布物

LandVolume 1.1 をリリース。
Leopard で正しく動作するようになり、スライダーの回転ができるようになった。

スライダーの回転は、レイヤーの -[CALayer setTransform:] を呼ぶだけで実装できて感動。

このソフトのリクエストを送ってくれた方が Leopard を使用されていたので、Leopard 対応は重要な課題だった。1.0 をリリースした時点で対応させたつもりになっていたが、実際は動作せず...

原因は

  • 自作クラスの awakeFromNib 実装で superawakeFromNib を呼んでいた。NSObjectawakeFromNib を実装しているのは Snow Leopard 以降。
  • 1.0 では、kAudioHardwarePropertyDefaultOutputDevice によって、選択されている出力デバイスを取得したあと、そのプロパティ kAudioHardwareServiceDeviceProperty_VirtualMasterVolume によって音量を取得/変更する方法をとっていた。同プロパティは Available in Mac OS X v10.5 and later と書いてあったから問題ないと思っていたのに、実際は Snow Leopard 上でないと正しく動作しなかった。
    デバイスのプロパティkAudioDevicePropertyPreferredChannelsForStereo によってステレオの 2 つのチャンネルを取得し、それらのプロパティ kAudioDevicePropertyVolumeScalar を取得/変更することで対処。

LandVolume でのアイデアは開発中の iTunes コントローラにも活かされる予定。

Share

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