Hatena::ブログ(Diary)

はけの徒然日記 このページをアンテナに追加 RSSフィード

2005 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 08 | 09 | 10 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 02 | 03 | 04 | 11 | 12 |
2012 | 02 | 03 | 05 |
2014 | 02 | 03 | 04 | 05 | 12 |
2015 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 04 | 05 | 08 | 09 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 |
2018 | 02 | 03 | 04 | 05 |

2005-10-31(Mon)

日記タイトル変更

当初はザウルスネタオンリーにするつもりだったけど、ザウルスの使用が安定期に入ってからザウルスネタ以外も書くことが多くなってます。それなのにタイトルザウルスを冠しているのも何だかなぁと感じたので、思い切って変更。

これからはザウルスネタの限らずのんびりと書いていくつもり。

描画処理

Ruby/Qte勉強 その34

画面に線や四角形を書いてみる。

描画を行うにはQPainterを使用して、beginとendの間に描画する内容を記述する。これらの処理はpaintEvent内で行い、updateまたはrepaintでイベントを発生させる。

下の例ではサイン曲線を描いている、曲線の描画はdrawPointで点で描いても良いが見やすくするためにlineToを用いて点と点の間を線で結んでいる。

続きを読む

2005-10-30(Sun)

徒然と

本日は神保町の神田古書祭りをひやかした後アキバへ、古書まつりは以前も着た事があったけど今回は午前中ということもあって人手は少なめ?目ぼしい本が無かったので何も買わず。

日曜日というか休日のアキバに来るのは久しぶり、中央通りは歩行者天国になっていたので道と東西に行き来するのは非常に便利。ちょっと遅めの昼食をサンボ済ます。大盛りの牛皿を頼もうかと思ったけど、体調がイマイチだったのでお皿にする。そういえば2ちゃんの某スレで呼ばれているギャルソン氏を初めて目撃、普段が平日にしか行かないからなかな?

その後iPod nano用のケースを買いにヨドバシへ、iPodのアクセサリ4階と1階で違う商品を売るのは勘弁してほしいです、危うく1階の方を見逃すところだった。結局1階のアップルコーナーでネックストラップ付きのシリコンケースを購入。幅が大きくなるのがイマイチかなと思っていたらLAOXのコンピュータ館でもっとスリムチューブ売ってるし……orz

そういえばiPod video?が置いてありました、まんまiPod nanoを少しでかくした感じですね。ちょっとビデオを見たいときには良いかも、まぁ買おうとは思いませんが(^^ゞ

その後適当にぶらついて帰宅。

P2P本

Winnyの技術

Winnyの技術

本屋で偶然発見、一時期かなり話題になったこのソフトアプリ作者自身が著者ということで手にとってみました。

後で調べたらネット上では結構話題になってたのね、全く知らんかった。まだ最初の方しか読んでいないけど数式やソースコード無しでP2Pwinnyについて述べられているので、専門の知識がない自分でも一般教養レベルで理解できそうです。

2005-10-28(Fri)

いかん…

あれやこれやしている間に1週間も経ってしまいました。

これだけネットから離れているとすっかり浦島太郎気分ですな。

SHOUTcastPlayer 0.2.3

アップデートしました、変更内容は以下です。

とりあえずバグ報告もないのでB500対応版の正式リリースとさせていただきます。

2005-10-21(Fri)

QVGA対応 - SHOUTcastPlayer(その2)

CDバックライトのオン/オフ機能をつけました。画面左下のLボタンバックライトオフスペースキーバックライトオンになります。

引き続きB500ご使用の皆様の動作報告等コメントいただければ幸いです。

りなざうの今後

シャープの方にも話をうかがったが,今後もザウルスはもちろん継続していくという。差別化としてはHDD内蔵,大きな液晶,拡張性などをあげていた。

MOBILE DAILY NEWS blog版

とりあえず開発の終了はないみたいなのでホッとしました。まぁ上のシャープの方の談を信用すればの話ですけれども。

シャープさん、お願いします!!!

2005-10-20(Thu)

W-ZERO3発表

http://www.sharp.co.jp/ws/

あちこちのブログで大騒ぎですね(笑


電話としての使い心地はどうなのかとかBitWarpみたいな料金プランはあるのかとか、いろいろ思ったりするのですが一番気になるのはLinuxザウルスが今後どうなるかですね。SL-C1000の価格帯がこちらにシフトしても良いとは思いますけどC3100の方が無くなったりしたら辛いなぁ。このマシンりなざうほど「遊べる」マシンとは思えないので。ま、とりあえず様子見ですね。


素人なので良くわかりませんが、スマートフォンっていうのはPDA携帯(PHS)が一緒になったものなんですよね。どういう人がターゲットなんでしょ?普通携帯電話PDAを使っている人が乗り換えるかというとかなり微妙な気がするのですが……あ、でも通話機能を無視すれば無線LANPHSが使えるPDAってことになるのか。となるとやはりBitWarpのような料金プランは在った方が良いと思うなぁ。

書籍購入

Ruby1.6ベースということと値段が5000円超(税込)というので迷いましたけど、「るびま」の最新号におススメとして紹介されていてAmazonレビューでも好評っぽいので買ってしまいました。これからじっくりと読んでいくつもり。

2005-10-19(Wed)

うわぁ、なつかしー

夕方のニュース見ていてテレビつけっぱにしてたら始まった


まんが日本昔ばなし

http://www.tbs.co.jp/program/mukashibanashi.html


昔よく見てたなーと思って思わず見入ってしまいました。市原悦子さんと常田富士男さんの語り口も良すぎ〜

この作品って20年近くも放映してたんですね。今回は初期の名作セレクトということだけど何回くらい放送するんでしょうね。できるだけ見たいと思います。

ポップアップメニュー

Ruby/Qte勉強 その33

画面をタップして、その位置にメニューをポップアップさせる。

メニューの項目はQPopupMenuのオブジェクトにinsertItemさせることで作成する、メニュー表示はexecメソッドを使用。

画面タップの検出とその位置取得にはmousePressEventを使用する。取得したタップ位置はそのままQPointのオブジェクトに設定してexecメソッドに渡す。

ただしQLabel部分をタップしてもメニューが表示されない、ここはQLabel自体のmousePressEventを細工する必要あり?

続きを読む

2005-10-18(Tue)

QVGA対応 - SHOUTcastPlayer

ご要望がありましたので画面構成をQVGA用にしたテスト版を別館にUPしました。

当方B500を所持していませんので全くの未確認です。

動作報告等コメントいただければ幸いです。

2005-10-15(Sat)

SHOUTcastPlayer 0.2.2

アップデートしました、変更内容は以下です。

  • TKVolを使用してキーによる音量調節を可能にした
  • 終了時の処理変更

音量変化がキー入力から微妙にワンテンポ遅れるので連続変化をさせるのはマズイかもしれない(^^ゞ

画面切り替えの検出(続き)

画面の回転の方法についていろいろ試したところ、「縦横表示切替」のdesktopファイル内の実行コマンドをQCopで実行させれば良いことが判りました。

ターミナルから実行したところインプットスタイルで「横長画面」→「縦長画面」の切り替えしかできませんでしたけれども、KeyHelperに登録して実行したところ両スタイルにで双方向の切り替えができました。

続きを読む

2005-10-14(Fri)

画面切り替えの検出 - KeyHelper

なんか[kh]カテゴリネタも久しぶりだなぁ。

Donn=Copさんの本日の日記を拝見していて、LCD下のヒンジ部にある小さな2つのボタンがキーコード0x2009に割り当てられているのを知りました。KeyHelperConfで確認すると、このボタン押すときと放すときにキーコードが発生するみたいです。

これでインプット/ビュースタイルの切り替えの検出ができるのではないかと思い試してみました。keyhelper.confに

[Launch2]
0x2009 = Applications/zeditor

としてみたところ、見事インプット/ビュースタイルの切り替えでZEditorが起動しました。ただし画面が回転しませんが……(^^ゞ

画面の回転は

R = __7x009rotate

の設定で上手くいくかと思ったのですけど、そう甘くは無いようですね。QCOPコマンド引数がわからないので使用できないし……なんか方法は無いのだろうか?

この方法さえ判れば色々と使い道もありそうなのですけどね。

2005-10-13(Thu)

プロセスグループの一括終了

10月8日の日記の続きで、SHOUTcastPlayerから派生したプロセスを一括して終了させる方法がないかと書いたところ、コメントを頂いて実現することができました。

なんでこんなことに拘ったかというと、現状ではSHOUTcastPlayerの終了時にsleep 35というプロセスを一緒に終了させるためにpsの出力をgrepしてpidを取得してkillするという手段を採っています。ところが、この方法だと全く関係ないsleep 35のプロセスが存在した場合にも誤って終了させてしまうのが問題だと思ったからです。


Rubyスクリプトからシェルスクリプトを起動させると同じプロセスグループに属するようになるみたいですね(というかRubyに限らず普通そうなるのか)、今回プロセスグループという言葉自体初めて知りました。

通常はpidが属するプロセスグループを一括終了させるには

kill -- -pid

の様にします。同じことをRubyでは

Signal.trap("TERM") {exit}
Process.kill("-TERM", $$)

のように書くみたいです、ちなみに$$は自分自身のpidです。

ところがこのRubyスクリプトターミナルからを起動するとちゃんと動作するのですがアイコンから起動するとプロセスグループに属する他のプロセスが終了しません。Qtopiaの環境を通ることでプロセスグループの情報?が無くなってしまうみたいです。

そこで助言を頂いてRubyスクリプトの冒頭に

Process.setpgrp 

を追加してプロセスグループを明示的に設定したところ、見事プロセスグループの一括終了ができるようになりました。これで関係ないプロセスを誤って終了させることが無くなりました。


なかだ様には長い間お付き合いいただきまして、本当にありがとうございましたm(_ _)m

2005-10-12(Wed)

キーを使っての音量調節

いろんなストリーミングを聞いているとチャンネルやビットレートその他の違いでやっぱり音量調節する場合が多いです。そこでRubyでキー定義の方法がわかったことですし、以前ご要望のあったキーでの音量調節機能をつけてみようかと思います。

まぁ、KeyHelperで設定しちゃえばいらないのですけれどもね。


TKvolというツールを使用させていただこうと思います。

http://tkmixi.s58.xrea.com/?TKvol

ADSL接続

一昨日あたりから朝起きてネットに接続すると一発でサイトが見られなくなるという現象が発生しています。なんどかリトライすると繋がって、その際に割り当てられるIPが変化する様になったのでプロバイダ側である程度の時間アクセスしないと接続を切っている模様。

朝一で布団の中からザウルスメールチェックする際にエラーになるのは気分が悪いっス、なんとかならないものか。。。

2005-10-11(Tue)

キーへの機能割り当て

Ruby/Qte勉強 その32

忘れないうちにまとめておく。

特定のキーを押したときにある機能を実行させる場合にはQAccelを使用する。使いかたはQAccelのオブジェクト@keyに対してキーアイテムを追加してから、connectItemでスロット (メソッド)に接続する。

@key = QAccel.new(self)
id = @key.insertItem(Qt::Key_A)
@key.connectItem(id, self, 'pushA')

以下のように1行でも可
@key.connectItem(@key.insertItem(Qt::Key_A), self, 'pushA')

1行で書いた場合に識別子を知りたいときは、findKeyを使用する。

以下のサンプルは「A」「Ctrl+B」「Return」「Enter」「Cancel」の場合を書いてみた、ザウルスのOKとEnterは「Return」に対応している模様、Cancelはアプリが終了してしまった、多分cloceEventかkeyPressEventで対応させなければいけないのだと思う。全体のキー設定を無効にする場合はsetEbabledを使用、特定のキーを無効にする場合はremoveItemを使用、disconnectItemというのも在ったけれども使い方が悪いのか動作しなかった。

追記
  • 特定のキーの有効/無効化は、setItemEnabled(id, bool)の方が良さそうでした。
  • Cancelキーを押すと無条件でcloseEventが発生するので、処理はcloseEvent内で行う必要がある。
def closeEvent(e)
   if 条件判断
      終了させない場合の処理
      return
   end
   終了させる場合の処理
   e.accept
end

続きを読む

2005-10-10(Mon)

SHOUTcastPlayer 0.2.1

アップデートしました、変更内容は以下です。

  • SHOUTcast以外のURLをお気に入りに追加可能にした
  • キー操作に対応

キーのアサインを変更したい場合は、shoutcastplayer.rbの200行目付近のキー定義を変更してください。

Ctrl等と併用させたい場合は、Key_A+CTRLの様に書けばOKです。多分ALTも可能なはず。


(追記)

ちょっとしたミス発見してしまいました、0.2.1-1をダウンロードされた方はお手数ですが0.2.1-2に入れなおして頂きます様お願いします。

(更に追記)

TABでフォーカス移動したらSearchに定義キーが入力できないじゃないかー!!!

というわけで0.2.1-3にアップデートお願いします。

何やってるんだろ<自分

2005-10-09(Sun)

キーの定義について

キーの定義自体はQAccelを使用すれば良いことがわかった。

ただし単に定義するとSearch(QLineEditのオブジェクト)にフォーカスがある場合に定義したキーの文字としての入力ができなくなる、対策としてSearchにフォーカスを移す際にキー定義を一旦無効化させる。有効化のタイミングはfocusOutEventを検出して、そのタイミングで行う。

ちなみにQAccelではEnterとCancelの定義は出来ない模様。


Genre/Search/Rank/MaxBitrateにフォーカスがある場合にはReturnで情報取得を行わせたい。SearchにはreturnPressedのシグナルが元々あるのでそれを利用、その他のメニューについてはketPressEventでReturn押下を検出してシグナル発生を行うようにするつもり。

2005-10-08(Sat)

SHOUTcastPlayer 0.2.0

アップデートしました、変更内容は以下です。

  • お気に入り(MyFavorite)を追加
  • 自動再生の対象にお気に入り登録chを追加
  • ビュースタイル対応
  • スリープタイマの方式変更

またまたスリープタイマの方式を変更したので、/home/zaurus/Applications/shoutcastplayer/以下の削除を推奨します(必須ではありません) お気に入りには他のストリーミングURLも登録できるようにして、「ネットラジオを聴こう」のスクリプトの機能を吸収させようと思っています。

あとは要望のありましたキー操作対応ですね、できるかどうか分かりませんけど勉強してみます。

アプリ終了後にすぐ起動できない

シェルスクリプトでsleepを使用した場合そのsleepは別プロセスになるのですね、psで確認して初めて知った。SHOUTcastPlayerを終了させて、直ぐにアイコンタップしても爆発アイコンのまま起動しないので原因を調べていて気がつきました。


Rubyアプリからシェルスクリプトを起動、このシェルスクリプトは30秒毎に作業するループ構造になっているのでループ内部でsleep 30としています。Rubyアプリを終了させてpsコマンドを打ってみるとsleep 30っていうプロセスが生きていて、これが存在する間は再度Rubyアプリアイコンタップしても起動しない模様。処理としてはRubyアプリ終了の際にシェルスクリプトのプロセスをkillしていたんだけど、sleep 30のプロセスはそのまま生き残っていたようです。Rubyアプリ終了の際にsleep 30のプロセスもkillするようにしたら、アプリ終了後すぐのアイコンタップでも起動するようになりました。


Rubyアプリって、そこから派生した全てのプロセスが終了するまで、再度起動できないのですね。もしかしてQCopで起動させたときだけの話なのだろうか???

2005-10-07(Fri)

iPod Video!?

ネットを巡っていて知りました、ビデオが見れるiPodが12日に発表になるとかならないとか。

このあいだiPod nanoを買ったばかりなのにもう新製品ですか、こんどはビデオということでどのくらいの大きさになるのでしょうね。LCDの兼ね合いがあるのであまり小さくは出来ないと思いますが興味あります。

エンコードは当然QuickTimeだろうなー、ザウルス用のデータが共有できれば便利なのだけれど、無理か。

みんなのZAURUS活用研究所

http://tough.cocolog-nifty.com/zaurus/


こちらは、りなざうテクノウさん経由です。

いろいろな方のザウルスが紹介されていて、なかなか楽しいです。みなさんいろいろと工夫されていますね自分はというと何もしないで裸のままカバンにいれて持ち運びしています。だから塗装が剥げたりするのか(^^ゞ

こんどケースでも買ってみようかな?

スリープタイマの方法 - SHOUTcastPlayer

とりあえず本体の起動時に、別にシェルスクリプトも起動させて/var/spool/at/以下を監視させるようにする方法でつくってみました。二つのプログラム情報のやりとりをさせるのって初めてなので思わぬバグもあったけど、何とか上手く行っている模様。これならスリープタイマ設定中は定期的にスクリーンセーバをオフするQCopコマンドを発行できるので、ACコードの着脱等にも対応できます。次のバージョンではこの方法を導入しようと思います。

次はお気に入りリストの追加です、明日中には完成させたいですね。

2005-10-04(Tue)

アキバへ

東京への出張の帰り、またまた秋葉原へ寄ってみました。

いつもは電気街口で前回は昭和通り口を利用したので、今日は初めて中央改札口と通ってきました。このあたりの以前の様子は知らないのですけど、大きなロータリーができていて広いですねー、あと総武線の下をくぐるようにして南北両方へ出られるので便利だと思いました。

今日寄ったお店はヨドバシだけでした、iPod nanoのケース(チューブ?)がないか見に行ったのですがまだ出ていないかったみたいでした、残念。あとは各階をウロウロしてきました。ザウルスは1階の電子辞書売り場にひっそり?と置いてありました、売れてるのだろうか? 

6階の本屋さんでは本を3冊購入、ここは大きくてなかなか良いですね地元にもせめてこれくらいの規模の本屋さんは欲しいです。中央部にソファーがあって立ち読みならぬ座り読みができるのがgood。

最後に、地元ではヨドバシが無いのでどうかと思ったけどポイントカードだけ申し込んで帰宅。

画面の切り替えとスリープの方法 - SHOUTcastPlayer

インプットスタイルとビュースタイルの切り替えに対応させました、毎日リリースしても何なんでスクリプトだけ公開します。伸長してファイル名変更してから元のファイルと置き換えてください(実行権限を忘れずに)

スタイルを切り替えるとresizeEventが発生するので、その時の画面情報を取得してそれに合わせてパーツの配置を換えるだけでだったので簡単にできてしまいました。ただビュースタイル時にリストタイトル欄が右端になってしまうのが気になります、もう少し左に詰めた方が良いのかな?


スリープの使用に制限があるのがスッキリしないので帰りの車中で考えてました。0.1.1では一つのプログラム中に複数のスレッドを動作させて上手くいかなったのだけど、良く考えたら別のプログラム(プロセス?)にして動作させれば問題ないんじゃないだろうかと思い当たりました、この方向で考えてみよう。

2005-10-03(Mon)

SHOUTcastPlayer 0.1.1a

アップデートしました、変更内容は以下です。

  • スリープタイマ機能と自動再生機能をGUI
  • TABフォーカス移動順序変更

スリープタイマに問題が生じたので方式を0.1.1pre2の方法に戻しました、従ってACコードの着脱等スクリーンセーバが有効化する操作は禁止とします。


スリープタイマについて0.1.1では独立したスレッドでループを組んで/var/spool/at/を監視させていたのだけれど、GUIソースを追加したら動作が不安定になってスレッドが死んだり、アプリ自身が落ちたりと使いものにならなくなってしまい、しょうがなく前の独立スレッド無しの方法に戻しました。

ターミナルから起動すると正常なのだけれどQCopコマンドアイコン)で起動すると問題ありまくりです。原因不明、なんで起動の方法の違いで問題が起こるのだろう???

2005-10-01(Sat)

SHOUTcastPlayer 0.1.1

アップデートしました、変更内容は以下です。

  • スリープタイマ機能と自動再生機能を追加

GUIの設定画面を設けずに設定ファイルを直接編集するかたちにしました。

あとスリープタイマ機能の実現方法をpre2から少し変更、多分ACとバッテリを切り替えても大丈夫だと思います。

ウィルコムの新型端末

http://www.willcom-inc.com/ja/lineup/wx/index.html

今さらの話題ですが、やっとまともに情報をみたので……


自分は数年前のDDIP音声端末を未だに満足して使用しているような人間なので、高速通信やデータ定額などの自分の現状よりランニングコストが増加する話題にはあまり興味がありません(そもそも屋外でネットに接続すること自体あまりないので...)

だけど今度の端末はまともっぽいカメラがついてるんですよね。カメラ付きの携帯電話を見るたびに羨ましく思っていました、まぁデジカメを使えばいいじゃんてことになるのですけど、普段はデジカメを持ち歩かないしちょっとした撮影なんかはこっちの方が便利。他にもUSBストレージとか音楽再生とかドキュメントの閲覧とか面白そうな機能がついているので、もしかしたら機種変更してしまうかも。

ところで、これってザウルスと繋いでPIAFSの通信をする手段があるのだろうか? プロバイダとのメールアクセスに必要なので自分にはこれが最大の懸案事項だったりします。。。

Connection: close