[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:4262] mw32cdplay.el
- X-ml-count: 4271
- Subject: Re: [MD:4262] mw32cdplay.el
- From: MIYASHITA Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxx>
- Date: Sat, 01 Mar 2003 09:50:28 +0900
- User-agent: Wanderlust/2.5.7 (Smooth) SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/21.1 (i386-msvc-nt5.1.2600) MULE/5.0 (SAKAKI) Meadow/1.99 Alpha4 (KUROGANE)
At Fri, 28 Feb 2003 21:11:15 +0900,
MIYOSHI Masanori wrote:
> >>>>> [meadow-develop : No.4266] にて
> >>>>> "himi" = MIYASHITA Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxx> さんは書きました:
> himi> > CD のボリュームコントロールとかもできた方がいいかも。
>
> himi> 出来た方がいいんですけどねぇ。
>
> himi> 三好さん、Mixer supportってやる気あります? ^^;;;
> himi> mixer* APIのElisp bindingを作るということですが。
>
> play-sound() の :volume プロパティはどうすればいいのか考えていた
> ところでした。MCI でボリュームを制御できないんですね。
うーむ。それが、waveaudioは、そうでもないんですよ。
詳細は、"set" commandを参照してください。ただ、mixerを使った方が
好ましいとは思いますが。
> で、mixer の API を見てみたのですが、elisp でインタフェースを取る
> には複雑すぎます。シンボルを山ほど定義しないといけないだろうし、
> callback の実装も面倒そうだし。実装は、ちょっと勘弁してください。
ああ、やっぱり。^^;;;
とりあえず、callbackは実装しなくても良いのではないかと。もちろん、
他のprogramが、mixerをいじった時に検出できた方が良いですが。
> xxxOutSetVolume() を使った
> (mw32-mixer-set-voumue DEVICE-TYPE left &optional right)
> のようなインタフェースなら簡単そうなので実装してもいいですが。
こういう、全体を実装するのが面倒で、一部だけターゲットにしようという
状況で設計を考えるとき、私が大事だと思っていることは、
(1) 機能を出来るだけシンプルにsubsetに分割する。
(2) (必要ならば分割された)機能の一般化と特殊化を考える。(OOP的)
という2つの視点からターゲットを捉えるのが良いと思っています。
そこからすると、
> (mw32-mixer-set-voumue DEVICE-TYPE left &optional right)
は、ちょっとどうかなぁという気がします。やるなら、
(mw32-mixer-set-property MIXER-ID property value)
かなぁ。propertyは、MIXERCONTROLDETAILの項目に対応すると。
でも、まあ、今、こんなキワモノばかりに開発リソースをつぎ込んでいるわけにも
行きませんからね。 今後の課題にしましょうか。
from himi