LandVolume 1.1
- 配布物
LandVolume 1.1 をリリース。
Leopard で正しく動作するようになり、スライダーの回転ができるようになった。
スライダーの回転は、レイヤーの -[CALayer setTransform:] を呼ぶだけで実装できて感動。
このソフトのリクエストを送ってくれた方が Leopard を使用されていたので、Leopard 対応は重要な課題だった。1.0 をリリースした時点で対応させたつもりになっていたが、実際は動作せず...
原因は
- 自作クラスの
awakeFromNib実装でsuperのawakeFromNibを呼んでいた。NSObjectがawakeFromNibを実装しているのは Snow Leopard 以降。 - 1.0 では、
kAudioHardwarePropertyDefaultOutputDeviceによって、選択されている出力デバイスを取得したあと、そのプロパティkAudioHardwareServiceDeviceProperty_VirtualMasterVolumeによって音量を取得/変更する方法をとっていた。同プロパティは Available in Mac OS X v10.5 and later と書いてあったから問題ないと思っていたのに、実際は Snow Leopard 上でないと正しく動作しなかった。
デバイスのプロパティkAudioDevicePropertyPreferredChannelsForStereoによってステレオの 2 つのチャンネルを取得し、それらのプロパティkAudioDevicePropertyVolumeScalarを取得/変更することで対処。
LandVolume でのアイデアは開発中の iTunes コントローラにも活かされる予定。
Share
リンクも共有もお気軽に。記事を書くモチベーションの向上に役立てます。