Processing修正

20 views
Skip to first unread message

takanori endo

unread,
May 12, 2009, 6:39:11 AM5/12/09
to funnel-de...@googlegroups.com
addFilter( Filter f)
ピンへの単体でのフィルターの追加メソッドを追加しました。

あとスケーリングのCUBEの計算式が間違っていたので修正しました。


遠藤孝則

--
endo takanori

Shigeru Kobayashi

unread,
May 12, 2009, 9:19:15 AM5/12/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

フィルター関連のメソッド追加の件、こんな感じにかけるようになりますのでシンプルでいいですね。

void setup() {
size(200, 200);
textFont(createFont("CourierNewPSMT", 12));

Configuration config = Arduino.FIRMATA;
config.setDigitalPinMode(switchPin, Arduino.IN);
config.setDigitalPinMode(ledPin, Arduino.OUT);

arduino = new Arduino(this, config);
arduino.autoUpdate = true;

arduino.digitalPin(switchPin).addFilters(new SetPoint(0.5, 0.1));
}

・・・

メソッド名に関しての提案なのですが、単数系、複数形の使い方についてDirect XやASの例で調べてみましたが

addFilter(Filter newFilter)
setFilters(Filter[] newFilters)

がいいかなと思います。addFilter()の場合にはリストの末尾に1つ追加され、setFilters()の場合には、引数として渡したフィルターで全て置き換えられる、という想定です。いかがでしょうか。


2009/5/12 takanori endo <sweeta...@gmail.com>:

takanori endo

unread,
May 12, 2009, 9:33:09 AM5/12/09
to funnel-de...@googlegroups.com
遠藤です。

現状のものでは複数の指定の場合も、後ろに追加される形になっております。
しかし、利用の用途を考えると、小林さんの書いていただいたコードのような
感じにしてしまって、現状の=で代入する形式は廃止したほうが、
間違いがなくてよいと思います。
あと、フィルターの追加に関してもほとんどがsetup()のなかで最初に
追加するだけになると思うので、
> arduino.digitalPin(switchPin).addFilters(new SetPoint(0.5, 0.1));
というひとつだけ追加する方式か

Filter[] filters = { new Convolution(Convolution.LPF),new SetPoint(0.5,0.1)};
arduino.analogPin(volumePin)addFilters(filters);
という感じに複数追加するかどちらかになるのではないかと思います。



> addFilter(Filter newFilter)
> setFilters(Filter[] newFilters)
メソッド名もこちらのほうがわかりやすいので変更します。


この方式でサンプルのほうも直します。

遠藤孝則


2009/05/12 22:19 Shigeru Kobayashi <koto...@gmail.com>:
--
endo takanori

Shigeru Kobayashi

unread,
May 12, 2009, 9:39:51 AM5/12/09
to funnel-de...@googlegroups.com
遠藤さん

>> addFilter(Filter newFilter)
>> setFilters(Filter[] newFilters)
> メソッド名もこちらのほうがわかりやすいので変更します。

はい、それではこれでお願いします。AS3版も今週中に追加しようと思います。

あと、削除したい場合には

setFilters(null)

でいいでしょうかね。removeFilters()とかremoveAllFilters()といったメソッドを用意するのも一つの方法かと思います。

しかし、実際の利用場面はかなり少ない気がしますので、nullをセットするというのでもいいかなと思いますが、いかがでしょうか?

takanori endo

unread,
May 12, 2009, 10:04:21 AM5/12/09
to funnel-de...@googlegroups.com
遠藤です。

Javaではnullをあまり使うべきではないと勝手に信じておりますので、
removeAllFilters()
でしょうか。
フィルターを1つだけ削除するといった用途は考えられるでしょうか?
あまり想定できないようであれば、
全削除のremoveAllFilters()
の追加にしたいと思います。

遠藤孝則



2009/05/12 22:39 Shigeru Kobayashi <koto...@gmail.com>:
--
endo takanori

Shigeru Kobayashi

unread,
May 12, 2009, 10:08:05 AM5/12/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

> Javaではnullをあまり使うべきではないと勝手に信じておりますので、
> removeAllFilters()
> でしょうか。

確かに、引数にnullを渡すというの特に初心者にとってわかりにくいですよね。


> フィルターを1つだけ削除するといった用途は考えられるでしょうか?
> あまり想定できないようであれば、
> 全削除のremoveAllFilters()
> の追加にしたいと思います。

今のところ使ってみている範囲では、どれか1つだけ削除したいというのは少ない気がします。というのは、どれかを削除したいということは、それがどこだったのかということを覚えておくか、フィルタに対して検索をかけるような仕組みが必要ですよね。

ここまでは必要ないと思いますので、removeAllFilters()のみ実装ということにしましょう。

Shigeru Kobayashi

unread,
May 13, 2009, 10:03:01 AM5/13/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

本日コミットしていただいたものを009 (r629)としてリリースしました。また、説明ページの内容も更新しました。

http://funnel.cc/Software/Processing

先日、Processing.orgにライブラリとしてコントリビュートしたい、という連絡をしました。近日中に紹介してもらえるのではないかと思います。:)


2009/5/12 Shigeru Kobayashi <koto...@gmail.com>:

Shigeru Kobayashi

unread,
May 13, 2009, 10:03:15 AM5/13/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

本日コミットしていただいたものを009 (r629)としてリリースしました。また、説明ページの内容も更新しました。

http://funnel.cc/Software/Processing

先日、Processing.orgにライブラリとしてコントリビュートしたい、という連絡をしました。近日中に紹介してもらえるのではないかと思います。:)


2009/5/12 Shigeru Kobayashi <koto...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages