WordPress Download Monitor「Download id not defined」と表示されるバグを発見

研究室の論文リストなどを管理するために、Wordpressのダウンロードページを管理する「download monitor」というプラグインを使っている。

フォーマットを定義すると論文の詳細なども表示できるので便利なのだけど、最近何かがおかしい…。

https://wordpress.org/support/plugin/download-monitor

Publications

一部の論文において、「Download id not defined」と表示されてしまう。

  • [相模原市市民協働事業] [Download id not defined]
  • [相模原市市民協働事業] [Download id not defined]

スクリーンショットだとこんな感じ

ちなみにソースにはこんな感じに書いてある。

  • [相模原市市民協働事業] [download id=”126″ format=”4″]
  • [相模原市市民協働事業] [download id=”125″ format=”4″]
  • [相模原市市民協働事業] [download id=”115″ format=”4″]

スクリーンショットやページを見てもわかるように、動いているものと動いていないものがある。ソースをよく確認して、コピペしてみても再現性があったりなかったりで、よくわからないが、ビジュアルエディタの「↓」ボタンから生成した場合は正しい動作をするようだ。

dl

実際の動くコードがこれ
[download id="126" format="4"]
動かないコードがこれ
[download id="126" format="4"]

この動くコードと動かないコードの間には、何か目に見えない霊的なものがあるのだろう…。

ghostinthespace

いやいやいや…テキストエディタで検索してみますよ?

a020

上の緑の検索対象が動かないコード、下の反応がないコードが動くコード。

目では見えないのですが、Unicodeの「a0」、HTMLでいうところの&nbsp(non-break space)が、半角空白「20」の代わりに入っている行が動かないようです。前は動いたのに!

とりあえず作者(Never5, Barry Kooij, Mike Jolley)にバグレポートを出してみよう…。
「a0使うな!」で終わりそうだけど。

<余談>

Download Monitorには旧バージョンのデータを変換するツールも提供されているので最初はこれかなと思ったわけです。結局使わなかったけど、これって本体のAdminページに仕込まれている変換ツールと何か違うのかな?
https://www.download-monitor.com/extensions/dlm-legacy-importer/

Old download shortcodes containing download IDs will mismatch after import because of the new data structure. Whilst active, the legacy plugin will step in if a legacy download ID is called, however it is recommended that you update your content with new IDs to prevent errors.

Evernoteが半角スペースを勝手に0xa0に変換するなんてこともあるようです。
■ ソースコード中に0xC2A0(UTF-8のNO-BREAK SPACE)が混ざり実行できなくて困った話 kk_Atakaの日記
http://d.hatena.ne.jp/kk_Ataka/20130826/1377527170

■ ASCIIコード変換器
http://web-apps.nbookmark.com/ascii-converter/

2012-06-29

  1. 【ニコ生タイムシフト予約(2012/06/30 12:00開始)】#nicoch#ivrc 【東大より中継】IVRC:国際学生対抗バーチャルリアリティコンテスト プレゼン予選 http://t.co/zJnYK9Co 00:30 via Tweet Button
  2. 明日会場に行く人はRT【ニコ生タイムシフト予約(2012/06/30 12:00開始)】#nicoch#ivrc 【東大より中継】IVRC:国際学生対抗バーチャルリアリティコンテスト プレゼン予選 http://t.co/zJnYK9Co 00:50 via web
  3. ちなみに審査員もすごいけどゲストもすごいよ~ これは懇親会が楽しみだ!#IVRC 00:51 via web
  4. 【#IVRC プレゼン審査】 6/30 東京大学工学部2号館4階241講義室 12:00審査員集合,出場者受付開始 13:00プレゼン審査開始 発表時間150秒,質疑時間150秒 16:14プレゼン終了 16:25各審査員作品講評 16:50審査員退場 18:00懇親会 00:56 via web
  5. #IVRC プレゼン審査,東大行くのが初めての人に「IVRC2012-会場案内.pdf」をお届けします. https://t.co/C42Huype 01:06 via web
  6. 【#IVRC 業務連絡】 http://t.co/BHtM0vZaは今週末の復旧見込みは難しい,代わりのサーバーは http://t.co/mBOKcpkFとのこと 01:57 via web
  7. #IVRC のサーバが止まっています. 現在中の人が急遽復旧作業中.明日のプレゼン審査は問題なく行われる模様です. facebookページもありますよ https://t.co/ziG2hfq1 02:12 via web
  8. #IVRC 2012: International Collegiate Virtual Reality Contest, presentation will start in next 14 hours. Don’t miss it! http://t.co/zJnYK9Co 02:32 via web
  9. @matthieu_lepine L’eqippe francais presantrai a la etappe presentation d’#IVRC dans proc 13hrs. Vu a la nicovideo. http://t.co/zJnYK9Co 03:23 via Twitter for iPhone in reply to matthieu_lepine
  10. それはそれとして、 明日はここで会おう! http://t.co/zJnYK9CoRT@prata0x: ごめんなさい、先生。 俺はこの大学に合ってないみたいです 03:50 via Twitter for iPhone
  11. @takayuki_kosaka いま相鉄線の終電が出たところですね. 難民にならないうちにマンガ喫茶探したほうがいいですよ 04:28 via web in reply to takayuki_kosaka
  12. @takayuki_kosaka ゴメン 寝てしまいました 11:57 via Twitter for iPhone in reply to takayuki_kosaka
  13. @takayuki_kosaka マナミーじゃない? http://t.co/Un2gJ8UY 11:58 via Twitter for iPhone in reply to takayuki_kosaka
  14. @komenohito ジャカルタ33度らしい 13:10 via Twitter for iPhone
  15. @mriho 現地で会いましょう! IVRC審査してから行きます! 13:16 via Twitter for iPhone in reply to mriho
  16. なんかマミータミーと名前似てるよねRT@takayuki_kosaka: そうそう!これです!でも、妊婦とは直接関係なさそうですね・・・ RT@o_ob マナミーじゃない?  http://t.co/Un2gJ8UY 13:17 via Twitter for iPhone
  17. @IVRC IVRCプレゼンテーション審査参加者は「参加申込書」と「参加同意書」の原本をお忘れずに!#IVRC https://t.co/lu3FdazC 13:21 via Twitter for iPhone in reply to IVRC
  18. @sisibeni: 妹に朝から基数変換を教える。ふと、使ってる情報の教科書を見せてもらったら、全部は触れないと思うけど,標本化・量子化、逐次・二分探索とかリレーショナルデータベースについて書かれていて驚いた。普通にうちの学部1~3年でやる内容の触り部分だな… 13:26 via Twitter for iPhone
  19. @sisibeni 今の学校教育って螺旋的に内容を反復する仕組みなんだけど、大学の専門でしか触らなくて良いところまで齧ってたり、一方では応用力なかったりで課題多い。「やった気になる教育」より「やったぜ!と達成感を味わえる教育」なら若いうちにやるべきは後者。よく指導してあげて。 13:31 via Twitter for iPhone in reply to sisibeni
  20. iPhone版Chrome入れてみた。 読み込みに行くまでが速い(表示はそうでもない)、UIがシンプルに。 あくまでSafariの代価ブラウザを狙っているのであって、Opera, Dolphinなどの高機能ブラウザではないのだろうな。まあプラグインサポートすれば良いのだろうけど。 13:35 via Twitter for iPhone
  21. つまりChromeの真価は「タブが無限に開けるブラウザ」ということか。 PC版では常に40-50タブは開いている私としては痛いところを突かれた感。 13:37 via Twitter for iPhone
  22. 審査員スタンバイなう#IVRC http://t.co/XT3I8om6 17:02 via Camera on iOS from 文京区, 東京都
  23. 登場します#IVRChttp://t.co/1GzsP11w 17:08 via Twitter for iPhone
  24. さあて第1作品発表始まる http://t.co/zJnYK9Co#IVRC 17:18 via web
  25. @rch850 稲見先生(リアル)は審査員席にいらっしゃいます#IVRC 17:21 via web in reply to rch850
  26. まさかあの質問で最後の5秒でビデオが出てくるとは…やるな>Ikitomical#IVRC 17:25 via web
  27. のどごしが良ければ麦茶でも美味しく感じるっていう仮説か…#IVRC 17:26 via web
  28. CM撮影ならライティングももうちょっとこだわれ#IVRC 17:30 via web
  29. IVRCプレゼン審査を始めてみたと思われる人々の反応が大変面白い VRのステレオタイプを打ち破るには良い活動#IVRC 17:33 via web
  30. すみません,よく噛まれます 噛む力や噛まれ具合そのものがコミュニケーションなので,その力をどう表現するかが大事.フォトリフレクタでは難しいぞ.>噛みにけーしょん#IVRC 17:40 via web
  31. 井村先生,アマガミデバイスは単身赴任者のほうが使えるよな#IVRC 17:43 via web
  32. 出来が良すぎる 既に完成している感 あれ,下にあるのルンバじゃね?ついでに掃除してもらうか…#IVRC 17:45 via web
  33. ニコ生視聴者が盗撮にしか使わない方面の応用を発想しておられる#IVRC 17:46 via web
  34. 角質が落ちないドクターフィッシュ#IVRC 17:52 via web
  35. 角質落とすぐらいの超音波を浴びてみたかった,全身で.#IVRC 17:55 via web
  36. コメツキムシ,いじり倒されたら壊れそうなのですが.#IVRC 18:01 via web
  37. 鰹節は既にディスプレイだろう#IVRC 18:01 via web
  38. もののけ姫に出てきたタタリ神を思い出した#IVRC 18:02 via web
  39. あの湯気が鬼気迫る感じでいい#IVRC 18:03 via web
  40. 表現したい世界が鰹節なのかそうでないのか#IVRC 18:07 via web
  41. 審査員にニコ生見せる問題について即協議終了#IVRC 18:33 via web
  42. 速筋の収縮による表現なので「戻る力」は合っているけどランダムは間違い#IVRC 18:38 via web
  43. 「場の力」の中身をもっと詳しく! 感じたことのないものを実現する苦しさを味わったことがあるのか…!?#IVRC 19:04 via web
  44. でも鷹やふくろうはグローブ無しで掴まれたら痛いよな#IVRC 19:15 via web
  45. サイレントディレイメディア,昔IC95でやった技を披露#IVRC 19:36 via web
  46. physiotherapy#IVRC 20:24 via web
  47. なんと! 今年は懇親会で予選通過速報が発表されるかも!?#ivrc 21:28 via Twitter for iPhone

Powered by t2b

http://akihiko.shirai.as/

2011-06-01

  1. @morisoba0121 待ってたのに。。 明日は朝から大学? 03:38 via Twitter for iPhone in reply to morisoba0121
  2. 道具は揃えました 「すぐ終わる。。。」と思ってる学生が、日付超える勢い。 RT@konokarin: 大した手間ではないと思って、ポートフォリオ制作中。 03:39 via Twitter for iPhone
  3. DMで章構成例か例題いただけると幸いです RT@taniatsu:@o_ob 書籍なら,ネタ提供しますよ. 03:44 via Twitter for iPhone
  4. @morisoba0121 明日朝こないと後悔するよ 詳細はF村Y本 03:59 via Twitter for iPhone in reply to morisoba0121
  5. 他の先生に怒られてまで締切寝かせてるのに、 明日は健康診断なので21時前までに晩飯食べないといけなかったのに、 その仕打ちは…. 泣きたいわ! 04:09 via Twitter for iPhone
  6. どうして1年生が2-3時間かけて通って1限9:30に来てるのに、就職かかった4年/M2が重役出勤なんだよ、と。 先生より先に来てプレッシャーかけるぐらいが普通じゃね? 04:18 via Twitter for iPhone
  7. @konokarin@szk0113@enzirion 大学集合して先輩の作業手伝うぐらいが勉強になるかも。 データ持ってくれば、何かしらできるようにはしておいた。 あとは履歴書とエントリーシート書いてみるテストはしても良いと思います! 04:21 via Twitter for iPhone in reply to konokarin
  8. 健康診断のおかげで腹減って機嫌悪い。 走ってくるか。 余計数字悪くなりそうだ。 04:28 via Twitter for iPhone
  9. 試験前日のこんな時間まで自己紹介の一つも書いてこれない人は推薦どころか他人以下ですよね。 普通の企業の採用担当者が、それを見抜けないと思っているのが、可笑しい。 面接で 「君、笑えるね、これ(苦笑)」 =どんな教育受けて来たの?(嘲笑) 添削/推敲なしの作文とか無いでしょ 04:35 via Twitter for iPhone
  10. @konokarin@enzirion 11:30終了目安。私が健康診断から帰ってくるまでには何か見れるとこまでできてるといいですね。 先日のプレゼン等を印刷して持って行くぐらいはしてもいいだろうね。 ファイルと良い紙とポートフォリオケースはある。 04:39 via Twitter for iPhone in reply to konokarin
  11. @szk0113 そんな装備でも大丈夫だ。 動画はiPadで再生できるようにできる? 04:48 via Twitter for iPhone in reply to szk0113
  12. @szk0113 事故らないでね 何が大事かよく考えて。 命>家族>信頼>その他 04:50 via Twitter for iPhone in reply to szk0113
  13. だよねえ! RT@MagrosP: 大学で学んできた知識が意味をなさないような会社であっても、インターンは行くべき。 04:50 via Twitter for iPhone
  14. 私も業界時代採用担当だったので丸見えなんですよねRT@m_shigihara 社会をナメてるうちは内定なんて取れっこないですよね//採用面接をやってたことがあります。で、何度もやってたら数分で使えるor使えない奴かどうかが直感でだいたいわかるようになっちゃいましたね… 05:00 via Twitter for iPhone
  15. @szk0113 iPad動画変換とかでググってみてくれい 作業時間計算に入れて、事前に変換したものをiTunesで送るだけにしておくと良い っていうか作品先に見せろ 05:03 via Twitter for iPhone in reply to szk0113
  16. @snoopy3298ps 昨年はそれを当てにして2徹開けで健康診断受けたんですよ~。 今日はもう断食決め込んだので明日の朝イチで突撃します。 05:09 via Twitter for iPhone in reply to snoopy3298ps
  17. 何だかんだで花火大会は実施なのでokです RT@snoopy3298ps: 最近,落とし文句が「花火をあげましょう.」になってきているwいいのかな? 05:10 via Twitter for iPhone
  18. @szk0113 自分でmmd作るあたりが来年度の内定確実ライン 05:11 via Twitter for iPhone in reply to szk0113
  19. @szk0113 拝聴。一定ラインは超えてるが、上は狙える。 一つ一つのカット、決めゴマ、躍動感に厳しくなると良い。 一瞬でも「単調だ」と思われないようにどこまで丁寧になれるか。 他のフォロワーさんの意見も欲しければ聞いてみます。 橋にも棒にもレベルでは無い。 05:31 via Twitter for iPhone in reply to szk0113
  20. 「衆猾」よりは「修喝」であって欲しい RT@m_shigihara 本当に入りたい企業が決まっているのであれば、そんなノンビリした言動はとらないハズ//最近の「就活」という言葉が私は大嫌いです。まるで学校の部活みたいに「周りがやってるから自分も」みたいなノリでやっているような印象 05:35 via Twitter for iPhone
  21. @szk0113 MMD無き今、白井研の一部が目指すべき所はMMDのクローン作るあたりから、それ以上の部分でしょうね。 具体的には、さっきの作品を制作するソフトウェアの開発とかですね。 05:37 via Twitter for iPhone in reply to szk0113
  22. 選択によっては一生呪ry RT@takayuki_kosaka:@szk0113 ここに二枚の板がある!! 『やる』『にげる』 どっちかを選べ!! そして選んだほうはおれからのプレゼントとする!! 明日の試合がおわるまではもっていてもらおう いや…… 一生もっていてもいいぞ!! 05:40 via Twitter for iPhone
  23. @szk0113 現mmdのプラグインとか開発できると良いね。来週ぐらいにNICOGRAPH見てから始めるよろし。3月の春季大会には間に合う。 05:42 via Twitter for iPhone in reply to szk0113
  24. @tobiuo_danchi 赤面は成長の道しるべ 05:43 via Twitter for iPhone in reply to tobiuo_danchi
  25. それは正解。 前者は人によっては伸びなくなる。 後者は目指してもいいけど、狙って得られるものでは無く、多作で生きて行くうちに育つもの。 RT@konokarin: 誰かに、「あなたは絵が上手いね」ではなく「あなたの絵が好きなんです」と言われたい。 05:47 via Twitter for iPhone
  26. 自分も行きたい 取材依頼無いかなー。 RT@ahYouthfuldays: Japan Expo行きたい。 05:48 via Twitter for iPhone
  27. 今日のところはこれで 『ねる』@szk0113:@takayuki_kosaka で、ではこれで ニア 『やる』 05:49 via Twitter for iPhone
  28. 【緩募】ウチの3年生のミク動画作品。本人が頑張れそうなフルボッコ建設的なコメントでニコ動埋めてあげて下さい。 —@szk0113http://t.co/AUW7NI8http://t.co/923tIve モデルは他製 05:53 via Twitter for iPhone
  29. おおっと xtionもオススメですぜ いま、ななせんまんをナナメ上で超える研究を企て中 RT@snoopy3298ps: きねくとぽちっとな! 05:55 via Twitter for iPhone
  30. 創る嗜み 寝る素養 笑う挫折 泣く努力 05:58 via Twitter for iPhone
  31. @snoopy3298ps 狙うのは金額じゃ無くてコスパなのでご心配無く! でも機会あったら4K3Dプロジェクタ欲しい。買って! 06:00 via Twitter for iPhone in reply to snoopy3298ps
  32. 乙。閉店後のゲーセンの雰囲気出てる RT@MagrosP: 電池切れそう。一枚だけ夜勤終わりにパシャリした写真をうp http://t.co/YwxwmGs 06:13 via Twitter for iPhone
  33. 近い将来はDVI->HDMI->無線規格->キャプチャ以下略、ってなるといいね。 RT@MagrosP: ゲーセンでの安価録画方法について考えたところ、筐体DVI→dsub→ezair→無線→PCとして、wimaxでustream配信すれば、フロアに配線する必要がないと気づいた。 06:18 via Twitter for iPhone
  34. @MagrosP HDMIのダブラーとダウンコンで劇的にustし易くなるかもしれない 何目的かにもよるが 06:20 via Twitter for iPhone in reply to MagrosP
  35. わかるそれ。 加えて学生指導で深夜までとか 呑めるヒトは健康です! RT@kajiken7: なんか健康診断のために、朝飯抜いて、重い荷物持って、満員電車乗って…健康に悪くねーか、これ(笑) 12:53 via Twitter for iPhone
  36. バリウム嫌いやねん 15:21 via Twitter for iPhone
  37. @hajipoko 想定質問印刷して読んでね 15:22 via Twitter for iPhone in reply to hajipoko
  38. @szk0113 いまどこよ? 本厚木集合にする? 15:23 via Twitter for iPhone in reply to szk0113
  39. 無意味に被爆して来ました。 放射線技師の人の「危ない時は線量計外してます」が印象的だった。 RT@hrhym: 胃カメラの方がましだし、状態も良く判るよ! RT@o_ob: バリウム嫌いやねん 16:11 via Twitter for iPhone
  40. 就活工場なう http://t.co/KKMBILC http://t.co/HJarmfJ 16:12 via Twitter for iPhone
  41. 笹塚のゲーム開発企業を研究するツアー開始。 まずは「就活生にもとめられる公共交通機関の乗り方」。 大学のブランドを汚すようなトーク、振る舞いはしない。相手先企業に近づけば近づくほど危険は高まる。 16:37 via Twitter for iPhone from Atsugi City, Kanagawa
  42. 11時に新潟で震度5強か、 みんな大丈夫かな 16:47 via Twitter for iPhone from Atsugi City, Kanagawa
  43. 雨の日、最も読めない公共交通機関であるバスを無事クリア。13:20プラットフォーム中央に集合。 (@ サンマルクカフェ 本厚木ミロード店) http://4sq.com/mnDRyh 17:10 via foursquare from Atsugi City, Kanagawa
  44. @hajipoko 相模大野通過 17:37 via Twitter for iPhone in reply to hajipoko from Sagamihara City Minami Ward, Kanagawa
  45. @hajipoko 新線新宿。 マインド上げといて! 18:17 via Twitter for iPhone in reply to hajipoko from Shinjuku Ward, Tokyo
  46. @hajipoko リポDおごるから君の分とF村君の分買っておいて 18:29 via Twitter for iPhone in reply to hajipoko from Tokyo, Japan
  47. 見かけたなう RT@szk0113: 皆とはぐれたなう 22:50 via Twitter for iPhone from Shibuya Ward, Tokyo
  48. @szk0113 いま乗り換え中 小田急改札で合流せよ 22:59 via Twitter for iPhone in reply to szk0113 from Shinjuku Ward, Tokyo
  49. @szk0113 5番線のりました はぐれたらごめん 3号車。 23:05 via Twitter for iPhone in reply to szk0113 from Shibuya Ward, Tokyo

Powered by t2b

http://akihiko.shirai.as/

2010-12-24

  1. クリスマスイブは論文執筆で終了か・・・。 02:46 via web
  2. クリスマスイブは柿の種にかぎるよね!! ってゆーか学生、早く論文書き終われ、おわれろ、おわるとき。おわれ。 03:03 via web
  3. @sisibeni とりあえず今書いている論文が終わったらやっとクリスマスイブに入れる…その後はまた別の執筆だー。 03:29 via web in reply to sisibeni
  4. 自分的には脱稿!さて次の原稿にうつるか、それともサンタクロース召喚魔法でも使うか…。 03:38 via web
  5. @eto IC’95やTwinVQよりも前なんですね、懐かしい。 03:44 via web in reply to eto
  6. ええ、TwinVQのプラグインを研究室で入れたような記憶があるんですよね…前後関係があやふやだけど。IC’95ではRealが多かったかも?etoさんはJava。 RT@eto@o_ob いや、NTTパワーネットではTwinVQ使ってましたよ。たしかにIC95よりも先でした。 03:59 via web
  7. @eto あすみません、ライブから話がずれましたね。ところでDataWiki面白かったです。日本語直す方法がなかったのですが(全部?になる)、これは革命的かも。 04:00 via web
  8. 日付変わってしまったが、まだ帰宅には間に合うだろうか。 04:02 via web
  9. 僕じゃない、召喚するだけです! RT@enzirion:@o_ob 頑張れサンタさん!!! 04:17 via Twitter for iPhone from here
  10. ラブプレス論文執筆とクリスマス中止ゲーム制作ナイト(仮称)で@dinner_unss 君が連日徹夜してる。ご両親は「うちの子はなんてリア充なんでしょう…」と勘違いしているに違いない。いやリアル充実してますけどね…!! 04:23 via Twitter for iPhone from here
  11. スペックよりもファンドとレターが重要!とN先生も心配してましたよ! CV配れ! RT@BLUEBLOOD219: stanfordのCSのMS、PhDのibt最低が113笑。さすがにこれは無理げーなので他の入学書類を強くするしかない。可能性あるのはSoPとレターとGRE。 04:28 via Twitter for iPhone
  12. 暖気終了って事にして帰途につくか 04:29 via Twitter for iPhone from here
  13. いやいやただのサンタ狂信者ですRT@marikomariquita: o_obさんは日本でも有数の召喚魔法学者なんです。o(^▽^)o RT@o_ob: 僕じゃない、召喚するだけです! RT@enzirion:@o_ob 頑張れサンタさん!!! 04:41 via Twitter for iPhone from here
  14. クルマで帰宅中、白いゴミ袋一杯に玩具らしき物をもった初老の男性を見た。生き神か!? 04:50 via Twitter for iPhone
  15. ベットではなく急所を狙え RT@MagrosP: 喉痛くて寝込んでたのに、友人が部屋来て「プレゼント頂戴」と言ってたので、無問題2のサントラをベランダからベッドに投げ入れて部屋に戻った 04:56 via Twitter for iPhone
  16. @sing_happysongs今夜も星綺麗。霜もおりてる。流れ星見たい。 04:59 via Twitter for iPhone
  17. xDSL?横須賀の某室で見たかも RT@eto: 1996年2月24日のライブでは、恵比寿ガーデンプレイスに2本のメタル線を使って対称的な1.5Mbpsの回線を実現してましたね。これがなぜすごいことだったのかわかる人は少ないだろうなぁ。 05:10 via Twitter for iPhone
  18. 言ってくれれば。これから晩飯&執筆に行こかと。遅すぎて胃が痛いッス RT@dinner_unss: 原減った、ファミレスあいてるかな 05:12 via Twitter for iPhone
  19. しかしウチの人のクリスマス嫌いにも困ったもんだな。いったいどんだけクリスマス嫌いな青年期を過ごしたんだろう。。。 05:14 via Twitter for iPhone
  20. @marikomariquita 私がサンタクロース狂信者なだけで、パートナーは全く信じてないという温度差。まあこんな時間に帰っていれば無理もないか…。 05:21 via Twitter for iPhone in reply to marikomariquita
  21. 芸人がクルマ当てんな~!!タワシにしとけよ。 どうせナシナシ装備のマーチだけど視聴者やる気なくすじゃん。 と思ったら日産CM乱発し出した! #fujitv 05:54 via Twitter for iPhone
  22. null::Google冷凍食品 05:59 via Twitter for iPhone
  23. なくていいサービス「Googleサンタ検索」。 06:01 via Twitter for iPhone
  24. 息子「ウチは煙突ないから玄関明けとかなきゃ!」 06:08 via Twitter for iPhone
  25. ギャラは現物かしら。あえて一般人が選ばない縁起の悪い数字にいい賞品が。#fujitv 06:12 via Twitter for iPhone
  26. 11,111ツイートもしてたのか。 息子のプラモ作りに付き合いつつ、執筆する時間を作れるか。 14:36 via web
  27. 経産省職員・自称オタク官僚「オタクラート」の三原龍太郎氏による北米での「けいおん!」のファンサブの話題@日経トレンディネット。 http://bit.ly/dgu6LG アクセス数低いと連載打ち切りになるらしい。とりあえず読んでおけ!#ShiraiLab 19:06 via twittbot.net
  28. ニコニコ静画なんてサービスがあったのか。pixiv対抗ですな。 19:37 via web
  29. SIGGRAPH ASIAのレポート書き中 20:45 via web
  30. CELL REGZA 3Dもでたのにね。SONYは東芝に500億円の貸しを作った上にさらにCELL売りつけるのか…それとも韓国から買うのか…。 RT@engadgetjp 東芝がCELL生産から撤退、製造設備をソニーへ譲渡 http://engt.co/hXfcMR 20:50 via web
  31. Laval Virtual ReVolution 2011 calls emerging KINECT project. Register your innovation now!http://bit.ly/vric11-symp6#LavalVirtual 21:00 via twittbot.net
  32. ミニ四駆でエネループ使うとメチャ速い!がこれってレギュレーション違反なのか。大人の都合なのか、火災や火傷が理由なのか、ちゃんと情報出したほうがいいよなあ。子供心には魅惑的すぎる。エコだし。 21:24 via web
  33. ミニ四駆ネタは性格出るなあ。ICU「コンピュータゲーム」の企画で「レイスティンガー作りたい」ってのもあったけど。 22:39 via Twitter for iPhone
  34. タミヤのミニ四駆公式採用eneloopって12月解禁って話なんだけど、Wikipedia以外情報ないなあ。 http://bit.ly/f31Yys そして送料込みだとエネループもAmazonが安いな http://amzn.to/i1TKTX 22:50 via web
  35. あった!タミヤ公式「ネオチャンプ」http://bit.ly/fkJX7l Amazonでも売ってた。さっきeneloop注文しちゃったよ… http://amzn.to/h0zKTE 22:54 via bitly
  36. .@gohsuket さんの「日本初のネット生中継ライブ」をお気に入りにしました。 http://togetter.com/li/82727 23:19 via Togetter
  37. 日本語サポートします!RT@kuni24 RT@o_ob Laval Virtual ReVolution 2011 calls emerging KINECT project. http://bit.ly/vric11-symp6#LavalVirtual 23:20 via web in reply to kuni24
  38. ここ最近の玩具ではこれが一番子供の満足度が高いな。プラレールをリモコン化する「ミスターモーターマン 運転じょうず エコ」電池を通信機としてハックするあたりが賢い。機能も充実。 http://amzn.to/ebXRJ9 23:24 via web

Powered by t2b

http://akihiko.shirai.as/

2010-12-01

  1. うぃきりいくすが落ちています。DoS攻撃なのかアクセス集中なのか。DoSだとすれば誰と誰が戦っているのか。そしてこのサイトの名前を呟いたとたんに亡国当局からマークされるという都市伝説も…。 04:28 via web
  2. @nori_hashimoto こんなぅぃきりぃくすはいやだ:投稿者名が「イスカリオテのユダ」 04:40 via web in reply to nori_hashimoto
  3. うーん死ぬほど眠いが仕事終わってない。 このコンディションで車運転したら本当に死んじゃったり誰かひいちゃったりしそうだし…。 04:49 via web
  4. こういう記事の切り出し方って使える。編集って大事。 フォーム入力に役立つjQueryプラグイン:CodeZine http://t.co/lrVYQlZ via@codezine 12:25 via Tweet Button
  5. “localhost”がIPv4より短いって知ってた? 【IPv6アドレスについて知っておくべき10のこと】 http://bit.ly/f5k70g 12:34 via bitly
  6. PixarのTDで求人が出ている http://bit.ly/dPXmAA【必要技能】こみゅ力、管理能力、CS・数学、Unixの達人(必須)、スクリプティングいいね、プログラミングはオマケ。 12:40 via bitly
  7. ちなみにRockstarでもCharacter Animatorで求人が。 http://bit.ly/gHDZr8MotionBuilderとモーキャプの経験、TPSのプロ開発経験+Strong traditional animation/art background。 12:42 via bitly
  8. 【打ち所について】 鳩山が尊敬する三宅雪子“ケガの功名”で天然発言連発! – 政治・社会 – ZAKZAK http://t.co/1IeAObK via@zakdesk 12:53 via Tweet Button
  9. さあて301演習室のカギを開けたぞ。昨日はモンハン発売日で遅刻という不埒者がいたという説もあるが、今日はどうかな… 12:59 via web
  10. @MagrosP うがい薬は買っておいたよ、研究室に常備した。 13:00 via web in reply to MagrosP
  11. 演習終わった…ちょっと休みたいがいろいろ書き物仕事がたくさん…未読メールも 17:06 via web
  12. @dinner_unss 俺もいる ってゆかMBA 11inch調達にいってるGuyもいる 17:08 via web in reply to dinner_unss
  13. @MagrosP あれこれ悩んで買うより1冊読破してまた買いに来たほうがいいと思う。作文は本で学ぶより書いて指導してもらうのが上達速いです。固めの鉛筆も。 17:10 via web in reply to MagrosP
  14. いやシャーペンでいいんだけどね…モチベーション向上用に。 あとはPostItとかも便利だが、これは研究室にあるし。 17:10 via web
  15. http://bit.ly/ePNfxf@nukeme 「普通にムラムラする」状態を友達が「今日、男の子の日だから」って言ってて、うまい事言うなと思ってた 17:28 via bitly
  16. 女子大ならぬ男子大みたいなところにいると、男の子らの「微妙なお年頃」を感じてならない。この時期の駅前とかリア充多くて爆発しろ、とか日常的に。先日首都大に行ったときは男女比率全然違ってそんな感じなかったのでやはりこれは大学の文化かしら。 17:32 via web
  17. ICEC2011のPCにお誘いを受けた…IWEC2002から10年か…はやいもんだ。 http://bit.ly/fQf41w 17:45 via bitly
  18. 【迷惑電話ログ】投資マンション:プロパティー・インベストメント・マネージャーズ(PIN) 03-5426-7251 おそらく日本VR学会の名簿が流出。4月からこの会社だけで3件以上。 17:51 via web
  19. MacBookAir11inch開封式。 MBP13とキーボードを比較。 英数と日本語の違いはあれどほぼおなじ。 17:57 via Twitter for iPhone
  20. 再インストールメディアがかわいい。 http://yfrog.com/6zqfl0j http://yfrog.com/2fyp00j 17:59 via Twitter for iPhone
  21. 「老人福祉で働きたい!」という20代の若者を大量に呼び込むビジネスモデルを提案したい。#ShiraiLab 18:41 via twittbot.net
  22. モンサンミッシェル、雪だー。 http://bit.ly/dHcFOh 22:41 via bitly
  23. 明るい未来のために論理的作文手法とプレゼン手法と技術文書読解手法を一度にレクチャー中。2時間コースかな。 23:29 via web

Powered by t2b

http://akihiko.shirai.as/

Vistaとtx1000についての不満メモ

Vista環境にはかなり文句がある。しかしそう簡単にやめられないのがOSってもんで。とりあえず苛立ち/良かった点をメモ。
ちなみに使っているのはHPのtx1000。
逆言うとVistaのほぼフル機能が使えるノートとも言う。
・Turion64x2なのに遅い
 もちろんメモリも満載。なのにXP-1.5GHzのPen4Mよりも体感速度が遅い。
 UbuntuかXPいれたろか、と本気で思う。
・DX10うごかねえ
 MSの気持ちはわかるが、SM4じゃなきゃダメって…しかもHELドライバも死ぬほど遅いし。確かにデスクトップで開発すりゃあいいんだけど、日本の開発者って普通はノートPCでやりますよね。コーディング。それに、これでゲーム作って市場投入いつになるんだよ。インストール数だって…。まあどうせ GPGPU的な使い方しかしないから関係ないといえば関係ないかもしれないけどね。
・Vista + WiiRemote
 OS標準のBluetoothスタックが以前のMS製コントロールパネルに比べてさらに謎。WiiMediaプロジェクトの都合上Wiimoteを制御せねばならんのだけど、BluesoleilもVista完全対応の製品はまだ出てないし、旧ドライバはインストールすると青画面だし絶望的。DELLとかだと少しは違うかもしれないが。Vista対応のBluetooth1.1なUSBアダプタがあったら即買いでしょう。2.0はいけません。
 できれば標準搭載のBTでどうにかしたいと思うんだけれども。
・Vista+HPのプリンタ
 おそろしーことにプリンタドライバがない。HPは公然と「Vista版は開発しません」みたいな事を書いている…。XPをホストにしてネットワーク印刷するしかない。DELLのレーザープリンタとかはどうにかごまかして動く。
・Acrobatがうごかねえ
 Vista対応のAcrbatって8?普段はすでに「PDF Creator」に移行しているので、PDFのページ操作とかしない限り、Adobe Acrobatをアップデートする気はないのだけど。実は「PDF Creator」がVistaに対応していない(プリント関係の仕様が変わってる?)。

 さらに「メイリオ」とか使ってレイアウトとかしてしまうと、XPでも印刷できない。OpenOfficeでPDF書き出しするのが、まだ安定している方法であったりする。
・.NET関係
 Visual Studio .NET2005を主にC++を中心で使っているけど、最初はパッチとか管理者権限で起動とかがめんどかった。そんだけ。
・Virtools関係
 まだインストールすらしてないけど、Virtoolsは動いても、開発したプラグインは軒並み動かないような予感大なのでバージョン管理が大変そうだ。現行でもDEV3.5とDEV4.0が混在なのに。
・Vistaの手書き機能+tx1000
 tx1000のタッチパネルは感圧式。販売サイトには「指でも普通のペンでも操作できます」と書いてあるんだけど…中間値が取れるわけでもない上に「すごい硬い」。大人が普通の筆圧で書いても、文字認識がかすれて使い物にならない。指で操作?冗談でしょう…指紋だらけでただでさえ暗い画面がさらに見づらくなります…。

 この点に関してはどうしてtc1000世代のガラス電磁誘導スタイラスを採用しなかったのか、本当に謎。ちなみにその他の点に関しては tx1000の筐体はまずまず満足。なんといってもアルミのパームレストがよい。表面の和風塗装はすぐ指紋だらけになった上に傷ついたけど。
・音声認識
 TabletPC時代に使っていたんだけど、いまは時間的な問題で使ってない。フランス語版はえらく使い勝手がいいらしいぞ。
・指紋認証
 3000円ぐらいでWebカムといっしょにオプションで追加できるんだけど、これは使い勝手はかなりよろしい。パスワードをいちいち打たなくていい、という点だけだけど。
・アルミ製統合型トラックパッド
 このなんというかブツブツアルミの狭いトラックパッドは、汚れないし、指の指紋がなくならなくていいけど、操作精度はあまりよろしくない。誤動作で泣いたことしきり。
・青いLEDだらけ
 パイロットランプ、HDD、DVD制御ボタン、音量、その他すべてのLEDというLEDが青い。最初のうちは目が痛くて困った。
・休止状態があいまい
 設定をディープにやればいいのかもしれないけどスリープと休止状態があいまい。たぶん、画面の開閉で起きようとするイベントが発生するんだけど、これが誤動作しているっぽい。つまり「寝たふり」した上に、勝手に電池なくなってて困る。特にカバンの中で熱くなってたりするのは非常に危険。
・電池でかすぎ
 確かにロングライフバッテリーは欲しいと思ったが、本体からこんなに突き出してしまうなら、いらないかもしれない、と思った。販売サイトにはサイズの違いや実装状態がしっかり書いてないので、つい「大きいほう」を選んでしまった。
・ポート多すぎ
 赤外線通信ポートとかモデムポートとか拡張ポートとかTV出力ポートとか本当に使うんだろうか。専用のケーブルとか持ち歩く予定もないし。そのくせ VGA出力ポートはネジ穴はおろかギリギリ設計で、下手なケーブルだと干渉して入らない予感。
・Vista上のVMWareが遅い
 そんなこんなでWiiMediaの開発、プリンタ関係、その他のためにVMWareにWinXPを入れて使ってみたりする…がHP tx1000のVista上だととんでもなく遅い。
 デュアルなのに…シングルコアのXPにすら負ける遅さ。Linux版とは比べ物にならん遅さ。さらに画面モードが対応していないのが痛い。1280×800って解像度、どうにかならないもんかな、VMWare上で。
そんなわけで不満多し、なんですが、結構高かったのでがんばって使うことにし
ます。ああ、トータルケアにも入っておかないといけないのだろうなあ…。
あ、でもスキをついて、GpartedでVista領域を縮めて、Ubuntu環境を大きくしていこうかと考えています。WiiMediaもユーザーさえ気にしなければWindowsよりもLinuxのほうが開発らくそうだし…うーむ。

ubuntu linux 07.04でお仕事

昨日の日記に書いたとおり、
SIGGRAPH Sandbox 2007にフルペーパーで採択されてしまいましたので、8-
12pagesという巨篇英文TeXを書いている今日この頃です。
「WiiMedia: motion analysis methods and applications using a consumer
video game controller」
http://sandbox.siggraph.org/program.html
#アブストラクトが途中できれちゃってますがそのうち修正されるそうです。発
表はやっぱり先発なんだろーか。
LavalVirtual直前の投稿の上に、まさかこんな大舞台に採択されると思ってな
かったところもあって、自分的にはかなり恥ずかしいバージョンで投稿したのが
採択されて驚いたの困ったの。
ほぼ全面書き直しを覚悟して締切までの残り3日を戦うことにしました。
で、執筆モードなわけなんですが、なんか「流れ上」、NEC LaVie RX(LR500/A)
はWinXP日本語版とLinux(Ubuntu)デュアルブートという活躍ぶりです。
#やっぱりキーボードはQWERTYでないと最高速が出ない。。。
ちなみにubuntu 06.10からのアップデートは失敗しました。
まあxorgとかGNOME2とかの設定ファイルを消せばよかったんですが、後から気が
ついたので。というかたまにはクリーンインストールしたいお年頃。
ATIのディスプレイドライバは標準のもの(プロプライエタリドライバじゃないや
つ)でもウインドウもみょいんみょいんいってます。たぶんもうちょっとで飽き
そうですが。
細かい機能とかアプリとかがよくなってるので古いubuntu(といっても数ヶ月前
でしょうけど)使ってる人は是非御移行。
なおPDA(W-ZERO3)とのSyncがmultisyncなるアプリで簡単にできそうな雰囲気
だったんですが、SynCEというプラグインが全然追い付いてなくてダメっぽいで
す。残念。
PIM、特にスケジューラはGoogleカレンダーのほうが便利になりつつあるな
あ・・・。W-ZERO3でもオンラインなら見れるし。もしくは紙の手帳か。。
#メディアプレイヤーとしてのW-ZERO3はいい感じですけど。
さて、Ubuntu、英数/日本語キーボードの切り替えを「muhenkan/henkan」などに
して(=Ctrl+Spcは不要)、さらにlatex 環境はgedit+latexmkで完璧。PDFまで1コ
マンドで完了です。bibも自動でコンパイルしますし。ずいぶんと楽になったも
んです。日本語はどうだか知りませんが。
#インストールは「sudo apt-get install latexmk」で終わりです。
ところで先日、某稲見先生に訊いた話ですが、やっぱりUSの研究者も「最終出力
はTeXだよねえ」とか言ってるようです。Wordはトラッキングとかスペルチェッ
カーとか執筆作業上は便利、でも最後の清書はTeXに落とすらしいです。全く
もって同意ですね(WordじゃなくてOpenOfficeとか GoogleDocsだけど)。
あとは英語で書くときはRythmboxという音楽プレイヤーが必須ですね。iTuneか
らMusikExtremeのURLを引っ張ってきて使ってます。
http://www.global24music.com/rautemusik/files/extreme/dsl.pls
あとはClassicFMのURLが拾えたら完璧なんですが、これはiTune限定みたいです
ね・・・(ハックできないことはないと思うけど)。本家のサイトにいくと購読設
定が必要なようです。どおりで有名局のサビの部分しか流さないとおもったよ。
あとは執筆中のTeX,それからプログラムソースコードはSVN(subversion)で管理
しているのですが、「RapidSVN」というGUIクライアントがめちゃめちゃいい感
じです。その名のとおりのTotoise(亀)SVNとはえらい違いです。
ちなみに「流れ上」と書きましたが、PC4台同時につかってて、それぞれフラン
ス語版Widows、英語版Windows、日本語版Windows、 Linuxという感じなのです。
我ながらどうしたものか、この環境。
さて執筆にもどろう。

「WiiMedia」苦闘中。

Wiimoteをメディアアート的に使うプロジェクトなので「WiiMedia」、と名づけたんですが。

もしかしたら任天堂が商標とってるかもしれないなあとか。

http://code.google.com/p/wiimedia/

 

それはともかく、プログラム群としてはWiimote使いやすくするクラスとか、Virtoolsのプラグインとかが含まれるわけです。

特に、単に加速度センサを取得するだけじゃなくて、モーション認識とか学習アルゴリズムとかを組み込んで、というところを狙ってます。

狙ってますが、なんせLaval Virtualまで5日切ってる訳で、あまり贅沢はいえません。

とにかく動くものを作らねばならないと言う、TGS前のゲームプログラマ状態です。

いや、正確に述べると状況としては「明日、上の人にアルファ版を見せなければならないシステムプログラマ状態」です。

 

そんなわけでローレイヤーの技術をつついている場合じゃないんですが、

今を逃すとほとんど書くチャンスがなくなると思うので書いておきます。

 

【現状の問題】

まずは前回の関連アーティクルを読んでください

 http://akihiko.ameblo.jp/akihiko/entry-10030158381.html

 

・BlueSoleilスタックじゃないと駄目だ説

http://www.wiili.org/index.php/Wiimote

 

→そんなこと無いと思う。現にkako.comのtiny_dllでは通信できてる。

 http://www.kako.com/neta/2006-019/2006-019.html

 加古さんいわく「普通にHIDと通信したらこうなるはず、この辺参照してください」というところなのですが、

 http://www.lvr.com/usb.htm

 

・複数デバイスのサポート

→現状はcWiiMoteクラスが「たぶん動かない」と言ってますが、それを使ったVirtoolsのプラグイン「WiiTools」で使えてます。Wiimoteのインデックスを作ってたくさん開くと言う方法をとっているみたいですが本当に正しいかどうか謎。そもそもハンドルはどうなってるんだとか。

 http://simulatedcomicproduct.com/2006/12/cwiimote-02.php

 

 

とりあえず加古さんに善意でソースをいただいたので解説。

勘違いがあったらごめんなさい、ご指摘いただければ幸いです。

 

//tiny_hid_dll.c

//Original code by Kako.com, transfered to Akihiko SHIRAI

#include <windows.h>
#include <string.h>
#include <setupapi.h> //Windows DDKから入手してください
#include "hidsdi.h"   //Windows DDKから入手してください、WXP(WindowsXP版)がいいです

 

//この4つの関数をDLLに書き出します

HANDLE __declspec(dllexport) __stdcall OpenHidHandle(unsigned short vendor_id, unsigned short product_id);
void __declspec(dllexport) __stdcall ReadReport(HANDLE handle,unsigned char *InputReport,int *len);
void __declspec(dllexport) __stdcall WriteReport(HANDLE handle,unsigned char *OutputReport, int *len);
void __declspec(dllexport) __stdcall CloseHidHandle(HANDLE handle);

 

//デバイスCAPSを取得する関数
NTSTATUS GetDeviceCapabilities( HANDLE );
void PrepareForOverlappedTransfer( void );

HIDP_CAPS Capabilities;

NTSTATUS GetDeviceCapabilities( HANDLE hRsDevHandle ) {
 PHIDP_PREPARSED_DATA PreparsedData;
 NTSTATUS Result = HIDP_STATUS_INVALID_PREPARSED_DATA;

 if ( HidD_GetPreparsedData( hRsDevHandle, &PreparsedData ) ) {
  Result = HidP_GetCaps( PreparsedData, &Capabilities );
  HidD_FreePreparsedData( PreparsedData );
 }

 return Result;
}

 

//OpenHidHandle:指定したvendor_id,product_idのハンドルを取得します
HANDLE __declspec(dllexport) __stdcall OpenHidHandle(unsigned short vendor_id, unsigned short product_id)
{
 HANDLE hDevHandle;
 GUID HidGuid;
 HDEVINFO hDevInfo = 0;
 BOOL bDevDetected = FALSE;
 SP_DEVICE_INTERFACE_DATA devInfoData;
 PSP_DEVICE_INTERFACE_DETAIL_DATA detailData = NULL;
 HIDD_ATTRIBUTES Attributes;
 BOOL LastDevice = FALSE;
 DWORD MemberIndex = 0;
 LONG Result;
 DWORD Required;
 DWORD Length = 0;

 hDevHandle = INVALID_HANDLE_VALUE;

 

 HidD_GetHidGuid( &HidGuid );
 hDevInfo = SetupDiGetClassDevs( (LPGUID)&HidGuid, NULL, (HWND)NULL, DIGCF_INTERFACEDEVICE | DIGCF_PRESENT );

 

//ここで該当するデバイスが無かったら終わり 

if ( 0 == hDevInfo ) return INVALID_HANDLE_VALUE;

 

//

 do {
  bDevDetected=FALSE;
  devInfoData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);

 

  //デバイスの列挙
  Result = SetupDiEnumDeviceInterfaces
   (hDevInfo,
   NULL,
   &HidGuid,
   MemberIndex, //これが気になる。ここではHIDデバイス列挙に使っているが、複数のWiiのサポートが可能なはず
   &devInfoData);

 

  if (Result != 0) {

   //デバイスインタフェース詳細を得るためのメモリ確保

   Result = SetupDiGetDeviceInterfaceDetail
    (hDevInfo,
    &devInfoData,
    NULL,
    0,
    &Length,
    NULL);

   detailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(Length);
   detailData -> cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);

 

   //列挙したデバイス個々の詳細を取得
   Result = SetupDiGetDeviceInterfaceDetail
    (hDevInfo,
    &devInfoData,
    detailData,
    Length,
    &Required,
    NULL);

 

   //HIDにアクセスするためのファイルを作成しハンドルを取得

   hDevHandle = CreateFile
    (detailData->DevicePath,
    GENERIC_READ|GENERIC_WRITE,
    FILE_SHARE_READ|FILE_SHARE_WRITE,
    (LPSECURITY_ATTRIBUTES)NULL,
    OPEN_EXISTING,
    0, //ちなみにcWiimoteはここがFILE_FLAG_OVERLAPPEDになってる
    NULL);

 

   bDevDetected = FALSE;
   Attributes.Size = sizeof(Attributes);

  //列挙したデバイスのアトリビュートを取得

   if ( HidD_GetAttributes( hDevHandle, &Attributes ) ) {

  //ベンダーIDとプロダクトIDを取得(ここでProductID == 774, vendor_id = 1406ならWiimote)

    if ( Attributes.VendorID == vendor_id && Attributes.ProductID == product_id ) {

     //デバイスCapsを取得。この処理はcWiiMoteにはない

     if ( HIDP_STATUS_SUCCESS == GetDeviceCapabilities( hDevHandle ) ) {

      //Wiimoteゲットだぜ
      bDevDetected = TRUE;
     } // End of if ( HIDP_STATUS_SUCCESS == GetDeviceCapabilities( hDevHandle ) )

    } else {

     //ベンダーID、プロダクトIDが一致しないのでクローズ
     CloseHandle( hDevHandle );
    } // End of if (Attributes.VendorID == RS_VID && Attributes.ProductID == RS_PID)

   } else {

    //そもそもアトリビュートが取得できないのでクローズ
    CloseHandle( hDevHandle );
   } // End of if ( HidD_GetAttributes( hDevHandle, &Attributes ) )

   //詳細データを取得するためのメモリを開放

   free(detailData);
  } else {

   //HIDデバイスが列挙できなかった、すなわちもうHIDデバイスが無い
   LastDevice=TRUE;
  }  //if (Result != 0)

  MemberIndex++; //次のHIDデバイスへ(※次のWiimoteではない)

//以後、HIDデバイスが存在し、Wiimoteが見つからないなら繰り返しDo
 } while ( (LastDevice == FALSE) && (bDevDetected == FALSE) ); //End of do

//複数デバイスをサポートするためには、ここに既に発見したWiimoteをスキップする条件を加えればいいはず。

//もしくはこのOpenHidHandleを再度コールして、既に取得したハンドルならスキップするとか。

 

//結局デバイスは見つかったのか?

 if ( bDevDetected == FALSE ) {
  hDevHandle = INVALID_HANDLE_VALUE; 
 } // End of (bDevDetected == FALSE)

//掃除

 SetupDiDestroyDeviceInfoList(hDevInfo);

 return hDevHandle;
}

 

//残りのRead/Write/Close関数はいわゆる低レベルAPIをそのまま使ってる、ただしnNumberOfBytesToRead/WriteをデバイスCapsのByteLengthにしているようだ。

void __declspec(dllexport) __stdcall ReadReport(HANDLE handle,unsigned char *InputReport,int *len)
{
 ReadFile(handle,InputReport,Capabilities.InputReportByteLength,len,NULL);
}

void __declspec(dllexport) __stdcall WriteReport(HANDLE handle , unsigned char *OutputReport, int *len)
{
 WriteFile(handle,OutputReport,Capabilities.OutputReportByteLength,len,NULL);
}

void __declspec(dllexport) __stdcall CloseHidHandle( HANDLE handle )
{
 CloseHandle( handle );
}

 

ちなみにWiiLiではRobert Marquardtという方が「HidD_SetOutputReportを使え!」というの指摘をしているが、実際SetOutputReportも、上記WriteFileのCapsのBytelengthを与えても結果は変わらなかった…。

自分が試しているソースがVirtools用だからかもしれない。 

うまく動いているかどうかもよくわからないSingletonクラス(3nouMAXという人)がクラス化→BB化したのを流用しているのがまずいけない。

もっとシンプルなコードで実験するべきだろう。kakoさんのデモは動いているわけだし。

 

それにしても、あと5日で結果を得なければならない立場としてはつらいところだな。

The Rabin Ezra Scholarship Trust

昔、イギリスのCriterionというゲーム会社で「RenderWare」というPlayStation2などに採用されていたマルチプラットフォームを特徴にしたレンダリングエンジンの仕事をしていました。
クライテリオン自体、Canonの欧州研究所のスピンアウトが3人で立ち上げた会社で、現在は世界最大のゲーム会社EAに買収されグループ会社になりました。まあこのこと自体は今日のアーティクルとは関係ないので割愛しますが、今日は、立ち上げのときからずっとコアの技術をやってきた古い友人の話をします。
Rabin Ezra(レイビン・エズラ)というイギリス人です。
RenderWareのコアを見たことがある人は、ヘッダファイルなどで名前を見たことがあるかもしれません。
親日家で日本語検定3級ぐらいもってました。照れ屋であまり人前で日本語をしゃべることはありませんでしたが。クライテリオンのエンジニアは、生粋の英国調エンジニアと言うか、理路整然としていないと嫌だ、と言うタイプが多くて、私もかなり叩き込まれました。英語も、プログラミングも。そんな中でもレイビンは、物静かにやさしく微笑んでくれた、そういう人です。
レイビンは、技術の核の担当者と言うこともあり、いつも誰からも切望されていました。RenderWareのお客さんは当然のこと、Criterion内部でも、CanonのMR研といったコラボレーターも「不可能を可能にする仕事」は常に彼の仕事でした。
たとえば、PlayStation2初期の頃はCPU上の演算が主で「どうがんばっても4名までしか人間が書けない」という状況でしたが。rpSkinというスキン&ボーンズデフォメーションをVU側で行うプラグインを彼らが書いてくれたおかげで、22名以上、つまりサッカーゲームが作れるほどのパフォーマンスをたたき出すことが可能になりました。そう、これが無ければ「ウイニングイレブン5」は存在していなかったかもしれないのです。
他にも、MR研との仕事では、左右眼映像が1行ごとに入れ替わる、メガネなしレンチキュラディスプレイのための特別なレンダラをものの数日で書いてくれました。
そう、忘れもしないSIGGRAPH2000では、SCEIのGSCUBEのプロジェクトに付き合って、近くのホテルにカンズメになって、PDIドリームワークスの「Antes」5000体レンダリングなんて仕事もしていました(このときはFinalFantasyのほうが日本人には話題になってましたけど…)。
そんなスーパーマン中のスーパーマン、レイビンは日本好きということもあって、私はよくしてもらっていました。彼が日本に来たときも、うちの嫁とよく3人で鎌倉にいったりしました。雨の鎌倉を靴ごとびしょびしょにして、歩き回って、両親のためのお土産の鉄鈴を買ったりしたものです。彼自身、日本語を学ぶのがどんなに大変かを知っていたので、私や嫁がいい加減で貧相な英語をしゃべっても、無愛想にしたりは絶対にしませんでした。本当にやさしい、いい人でした。
クライテリオンのビジネスが上向きになって、彼はロンドン近郊にマンションを買いました。確か両親を思ってのことだったと思います。その後、クライテリオンが買収されて、多くのエンジニアがアメリカに渡ったり、散り散りになったりしましたが、彼はその後SCEE(欧州)に移籍し、グラフィック関係のR&D仕事を続けていました。
私がフランスにきてからは「いつかロンドンで学会が開催されたら、マンション見に行くから!」と言っていたものです。
時間帯が近いので、いつもMSNのポップアップを見ていました。
そんな、2005年夏のことです。旧同僚のナカムラさんから悲しい知らせをいただきました。
レイビンが会社の仕事でMalta島のゲーム会社を訪問したときに急性肺炎にかかって他界してしまいました。
私は…私だけでなくレイビンを知っている人、おそらくみんなが、本当に突然のことで、驚きと、悲しさと、喪失感に襲われたとおもいます。
もう二度と立ち上がることの無いMSN。
メールを送っても二度と返事は返ってこないでしょう(何度か送ったこともあります)。
「rabin@acm.org」という、彼のニックネームでもあったACMのメールアカウントでGoogleを検索すると、今でもSambaのChange-logに書かれています。
http://samba.org/ftp/unpacked/samba_3_0/source/change-log
彼は本当に名前の残るべき仕事をしていました。
彼は本当に、短い生涯でしたが、リアルタイムグラフィックスの中で、大きな仕事を微笑みとともに、たくさんやり遂げました。
時々、イギリスで学会があると、いつもレイビンのことを思い出します。
いつか、お墓参りにいきたいとも思います。
そんな日々をすごしていた昨秋、またナカムラさんからメールが舞い込みました。
—-
この度、Rabin のご両親がチャリティを設立しCG 関連の研究をする学生を対象に奨学金を付与することになりました。
Criterion 側ではRichard Parr (rparr at europe.ea.com) が中心となり、寄付のとりまとめや、奨学金付与対象のプロジェクト選考のコミティに参加しています。白井さんご自身も含め、お知り合いでこのチャリティ、奨学金にご興味があるかたがいらっしゃればと思いご案内する次第です。
-----
本当に!驚きました。
そして、感動しました。
なんてすばらしいご両親なんだろう!レイビンのご両親は!
しかも、CG関係の奨学金なんて本当に、全くと言っていいほど存在しません。
すぐに心当たりのある学生さんには紹介しました。
(残念ながらそれほど英語力がある学生さんに知り合いがいないのですが…)
詳細はこちらのURLで入手することができます。
http://www.rabinezra.info
亡くなった息子のために、こんなサイトまで用意してくれるご両親。本当に胸を打たれます。
奨学金に関する要綱はこちらです
http://www.cs.ucl.ac.uk/staff/m.slater/Private/Rabin/Fund/applicant-info.pdf
なお奨学金の初めての募集締め切りは1月19日です。
どういうわけか、この日はたくさんの締め切りがありますね…複数のコンピュータゲーム関係の学会、SIGGRAPH、etc….。
でも若い皆さんは、臆せず、そして笑顔で、
コンピュータグラフィックスの魅力の世界に挑戦していってほしいと思います。
私の心の中のレイビン・エズラに捧げます。