路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

iPod ShuffleをPCに挿したまま再生したい

2005-10-20 17:04:22 | 音楽
「いまさらiPod Shuffle」では、iPod ShuffleをPCに挿したまま再生できないのが(最初はできたように見えたのだけれど)悔しかったので、「挿したまま再生」ができないか調べてみました。

まず見つけたのが、iPodShufflePlayer。やってみました。OS X用なので、手近にあるG5で実行してみたところ、「Nilなんとか」というエラーが出て終了しました。
(ちなみに、iPod Shuffleのファームウェアは1.1.2、Mac G5、OS X 10.4.2です。)

他のソフト(YamiPod)も試してみました。今度はWin用です。実行したところ、やっぱり同じような「Nilなんとか」エラーで終了します。

ここで疑惑が・・・ひょっとして、iPod Shuffleのファームウェアのバージョンアップは、ハックソフトを禁止するのが目的で行われたのでは?

まだもやもやが治まらないので、調査は続行することにします。



右にならえのデスクトップ

2005-10-13 06:44:46 | その他
Googleデスクトップの日本語版ベータv2が出たそうなので、早速インストールしてみました。

サイドバーという機能があるらしい。サイドバー?あの、次期Windowsのデスクトップの利用者から見て一番大きな変更となるはずの機能の名前も(あー、説明くさい文章)サイドバーだったような。

次期Windowsのサイドバーについては開発中のスクリーンショットとされているもの以外は知らないのですが、多分どちらのサイドバーの機能も似たり寄ったりのもの(になる)でしょう。

もちろん、サイドバーというUIウィジェットが特に目新しいという訳ではないのですが、それでも、あえてGoogleデスクトップがサイドバー機能を提供するというのは・・・

わざとぶつけてる?

某MS幹部の発言に反発しての当てこすり?

MSから移った技術者が作ったのでしょうか?

いや、すべて単なる偶然ですよね。ぐうぜん。おーこわ。

いまさらiPod Shuffle

2005-10-13 03:32:52 | 音楽
iPod Shuffle買いました。

新しいウォークマンもiPod Nanoも発表されている今、なぜiPod Shuffle(しかも512MB)か?

選定の理由は、

・丈夫。
ディスプレイがないので、傷が付いても気にならない。突起もないので、折れたり欠けたりする心配もない。可動部分もないので、機械的な劣化も心配する必要がありません。
・付属品が要らない。
クレードルやケーブルが要らないので、忘れる・なくす心配もありません。
・充分な容量。
ヘビーローテーションの曲はせいぜいアルバム2枚分くらい。120曲も入れば充分です。
・不要な表示がない。
音楽はCDからリップ→エンコード→PCで聴く、というのがほとんどで、アーティスト名やら曲名やらも付けずに過ごしてきており、特に文字が出る必要を感じていません。
・安い。
ヨメの決裁が要らない1万円以下の値段で買えました。さすがにヘッドフォンは付け替えましたけれども。

使い始めて気づいたのは、

・操作が簡単。
iPod本体に関しては、マニュアルが要らないとか、そう言う段階を通り越して、もう間違えようがない。ただ、使い勝手に関しては、iPod単体で評価するのはちょっとまずいかもしれません。iTunesの操作に違和感を感じなければ、という条件付きです。このへんは、iPod Hacksとかを見れば、Windowsっぽい使い方もできそうです。
・小さい、軽い。
22グラムという文字をカタログで見るのと、使ってみるのとではまた違いました。副作用で(?)、ケータイ電話が重く感じられたくらい。

でも、一番うれしかったのは、

・音楽再生のための周辺機器としての利用
iPod ShuffleはUSBポートに挿したままで音楽再生ができます(当たり前、と思う人もいるかしれませんが、PCに接続すると動作モードが変わる設計のICレコーダーもありましたので)。あたかも、そのために設計された周辺機器のようです。音楽再生タスクを目の前のPCのCPUではなく、iPodで行うことで、コンパイルを始めたとたん音が跳ぶ、という状況から脱却できました。

(今日やってみると、USBに挿したまま再生はできませんでした。何故だ。単なる接触不良だったのか?なにやらオプションを買うとできたりするらしい。調査します。
2005/10/14)

・・・ここまで書いたのを読み返してみると、いびつなレビュー(特に最後のあたりが)だという気もしますが、同じような生活をされている方の参考になれば幸いです。

さらにもう一つのつかえないzlib_iostream

2005-10-10 02:42:58 | プログラミング
地雷を踏んだ、とはこういうことなのでしょう。

zlibはメジャーなライブラリだし、std::iostreamもC++標準だから、zlibをラップしたstreamは簡単に手にはいるだろうと思ってました。ググったらいっぱい出てきてたし。

ところが。

zlibのcontribからはじめて、ググって見つかるzlibのstd::iostreamラッパーをかたっぱしから試しましたが、使いやすくて、移植性があって、大きなデータに対してもきちんと動作して、ライセンスが緩いやつというのは見あたりませんでした。大抵は、小さいデータならうまく動いても、大きなデータでテストすると、とたんに怪しくなりました。

のべ24時間以上が無駄。

いろいろみながら、自分でも作ってみましたが、std::streambufのステートと、zlibのステートが複雑に絡んで、ややこしいコードになりました。きちんと使えるようにするには、境界値やカバレッジを考えてそれなりのテストをする必要があるでしょう。

そもそもからして、

std::streambufを継承してクラスを作るというやり方自体が、それほど枯れていないのはなぜなんでしょう。歴史が長いのに枯れないというのは、かなりまずいような気が。それに比べて、イテレータや関数オブジェクトの方がよっぽど使い回しが利く。シンプルだし。

ちょっとまて。

そうだ、今度からは、std::iostreamの芸術的なクラス階層はうっちゃって、イテレータとboost::formatとiconvとFILE構造体と(と必要に応じてgzFileと)でがんばろう。今までのコードは、FILE構造体をstd::iostream風に使えるラッパとテンプレートによる型の読み替えでとりあえず動かしておいて、そのうちばさっと書き換えれば大丈夫なはず。

あー。そう思うと気が楽に♪かさらーさらー。

(オチはありません。)