amazon検索
最近のコメント
Recent Entries
Archives
Search


Links
Calendar
2014年08月
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
Powered by
Movable Type 2.65
カテゴリ別アーカイブ
RadioSharkPlayer [14件]
VBA [2件]
VC [1件]
VSTi_ChordMaster [8件]
アセンブラ [2件]
知識 [4件]
TOTAL:

TODAY:

YESTERDAY:


2007年04月08日

_RadioSharkその後

なんか、完全にラジオ録音が自動化されてしまったので、
ラジオのことを気にしなくなりました。

その結果。聞いていない番組が大量に溜まってしまいました。
いつきくんやろー。

RadioShark2のUSBの信号補足も出来てないし、
完全に開発は終了してしまったわけですが、
ここまで使いやすくなると、これ以上の開発は無駄なわけで、
せっかく遊べると思ったのに、ちょっぴり残念やね。


情報処理試験受けます。朝起きれない予感。

4月になってから放送大学も装い新たになったわけでして、
放送大学もおもろいですー。

情報処理技術者にオススメなのは、以下の講座です。
線形代数入門と線形代数
量子力学
運動と力
情報と社会
音楽理論

レコーダー活躍中

2006年12月18日

_やっぱり開発終了っす。

Preset.xmlに無理矢理記入したら、日本のFMも聞けた。

というわけで開発終了です。
パンパカパーン♪パッパッ パー♪

2006年12月16日

_少しわかったこと

RadioShark2の違うところ

その1
○現在の周数問い合わせ
0x00 0x80 0x00 0x00 0x00 0x00 0x00

が応答しない。

その2
オーディオデバイス名がxxxx\RadioSHARKからxxxx\radioSHARKに変った。
Rev0001からRev0010にも変っているので、ここまで判別するようなアプリにしていたら
ここも問題になったかもしれないです。


この2つが原因で以前作ったアプリが動かないようになっていると思う。

周波数制御もRadioShark1と2で変っているような気がする。
バージョン2.0のアプリで1と2が操作できるのは、たぶんアプリが繋がっているデバイスの種類を切り分けて、違う信号を送っているものと考える。
しかし、なんで公開されてるような解析ツールでUSB信号が横取りできないんだろう…ひょっとして暗号化してたりするのか?

そんなことはないと祈るしかないです。

2006年12月11日

_だめだ。

FMのtuningをStandardからJapaneaseにかえさせてくれない(泣

日本のFM帯域対応に切り替えるためのUSB通信コードがわからない。
これがわかれば、あとは同じみたい。

日本版に切り替えるというコードがあるのは確かだ。
Macを買わないと解析するのは厳しいかも。
でもMac買ったらMacで聞いた方が早いし…
Windows使いの自分には意味が無い。

誰かが解析してくれるのを待ったほうがいいかも知れないねぇ。
ってMacユーザでWin用に解析してくれるような人おらんやろねぇ…
Macを持っている友達の家に乗り込むしかないねorz

こりゃWinは駄目かもしれん。
しかし今回のアプリは音も聞けるし至れり尽せりやな。
これがあれば自分の作ったアプリなんて不必要そのものです。
FMがきちんと聞ければね…きちんと聞ければ…

RadioShark1でも2.0のアプリ使えるっぽい。
そのかわりチューニングが10K刻みなので厳しい。
でもプリセットは1kHz単位で設定できる。つまり問題無い。

したがってFMの切り替えだけが問題だ。Griffinに泣き付こうかしら。
つうかアプリは1.0のハードでも動くんだから、
RadioShark2を買った意味が全く無いっす><b
こんなに惜しいことになっているとは!

つまりは、日本のFMに切り替える通信コードを投げて
RadioShark2.0のアプリを起動するようなツールを作れば
幸せになれる予感です。

でも設定をいじるとまたStandardに戻そうとするので、
やっぱり…Griffinに対応してもらう方が早いかも。

なんでこんな意地悪するんだろう…

とりあえずGriffinにWin版の日本FM帯域対応についてお願いしておきました。

RadioShark1とRadioShark2でハードウェアに割り振られたVersion番号が違うので同時に使えそうです。USBオーディオデバイスの名前とかが同じなので標準アプリでは使い分けは難しいでしょうねぇ。というか出来ないでしょうねぇ。

ただし、自分が以前作ったアプリも今現在RadioShark2では使えない状態なので、対応しないといけない。USBデバイスの取得処理がRadioShark1に固定されている処理をやっているのと、その取得した情報からオーディオデバイスを探しに行くという処理をしているためだと思われる。
とにかく、がんばって日本FM対応用通信コードを探さねばならないっす。
がんばるっす。
どうやるかわかんないけど、
がんばるしかないです。何千万通りもあろうコードから目的のコードを見つけることはできるのだろうか…予測が肝心っすね。
ちなみにStandard設定では
83 FF 00 14 F5 32 01
84 FF 00 14 F5 32 01
っていうのが順番に飛んでるみたい。RadioShark2の信号を解析するためのツールがうまく動作しなかったので、かなり強引に取得した信号でありまして、ちょっと怪しいです(汗。

2006年12月06日

_届いたよ。

prod_radioshark2_main.jpg
たぶん、へぼい予感!

開発再開は間違い無さそうな感じです。今日は仕事で疲れたので、
土曜日にいじってみようと思います。

とりあえず、箱も本体もカッコイイね。
Windowsで使う分にはデザインに問題は無さそうです。
黒ってMacっぽくないよね。なんでこんな色にしたんだろ。

Winッ子の自分には関係ないっす。日本のFMが聞けるってグリフィンの人がいってたから大丈夫だと思う。心配なのはアプリ…。最悪、自分で作るから、この買い物に間違いは無いのさ。

2006年11月24日

_RadioSharkPlayer開発終了!

なぜなら、RadioShark2.0がGriffintechnologyから発売されたからです!!

ほんの数千円出せばよいのです。
とりあえずRadioShark2.0を購入してから開発を本当に終了するべきか決めたいと思います。
2.0も1.0同様へぼかったら開発再開しますが、そんなことはないということを祈ります。

やったぜ!

2006年11月01日

_RadioSharkPlayerLite Ver.1.1

ラジオが聞けるだけのツールが更新されることになりました。
不具合があればアップデートする必要があることを感じましたので、バージョン番号をつけました。

RadioSharkPlayerLite Ver.1.1.0.0
Download(lzh)−750KB

インストール手順
ダウンロードしたファイルを解凍すると3つのファイルになります。exeファイルだけを単独の状態にして新しく作成したフォルダに配置し、dllが同一フォルダ内に存在しない状態で起動して動かない場合は、同梱されているDLLが登録されていないことを意味します。この記事のコメント欄にある作業を実施して下さい

インストーラー作れ〜。インストーラー作れ〜。インストーラー作れ〜。

更新した内容
デバッグバージョンのライブラリを参照するようになっていたためMsvcr71d.dllを要求される不具合に対応(したつもり...確認してません。)

うまく動いたときのために詳しい説明をしておきます。

使い方
基本項目:RadioSharkを繋いでアプリを起動する。

操作方法全般:
ラジオボタンでAMとFMの切り替えができる。
「TUNEエディットボックス」に周波数を設定する。直接入力もしくはエディトボックスの隣のスピンコントロール(上矢印と下矢印のそれのことです。)で調整する。直接入力時はTABキーを押したときもしくはエディトボックスのフォーカスが失われたときに正しい周波数値の形式で入力されていれば、変更が適用されます。エディットボックス内でEnterキーを押すことでチャンネル切り替えを実現しているつもりでしたが、上手く動作しません。1行のエディトコントロールが改行キーを押したこと自体を受け付けてくれないみたいです。その癖、なにやら怪しい信号を送るようで動作がおかしくなります。というわけでTABキーがオススメです。AMは1KHzづつ、FMは0.1MHzステップで動作します。直接入力の形式がわからない場合はスピンコントロールを使うと良いでしょう。

起動時にラジオは再生されません。最初は再生ボタンを押してください。
再生中に音をとめたい場合は、停止ボタンを押してください。

音量の調整はできません。つねに100%の音量で出力しますので、Windowsのボリュームコントロールで音量調整してあげてください。

ラジオ再生中でも停止中でも最小化するとタスクトレイアイコンにそれらしい奴が入り込みます。元に戻すときは、アイコンを一度だけ左クリックしてあげてください。ダブルクリックすると詰められた後、その場所にくるタスクアイコンの画面やメニューが起動したりします(予期しない画面が表示されるだけなので、操作失敗してソレが起動されたら、自分を責めつつ文句も言わないように注意しながら表示されたソレを閉じてください)。

タスクアイコンを右クリックすると、そのまま終了するためのメニューが表示されます。
再生中でも停止中でも、終了処理はそれなりにやってくれると思います。

タスクアイコン状態では再生を開始したり、停止したり、周波数を変更したりすることはできません。ウィンドウの状態に戻してから操作して下さい。

別の問題でシステムに異常が発生し、タスクバーが再描画されることになった場合、再度タスクトレイを登録するように試みるはずですが、確認はできていません。音がなりっぱなしでタスクアイコンが消えたりするかもしれませんが、そのときはタスクバーを右クリックして表示されるメニューからタスクマネージャーを起動してRadioSharkPlayerLiteを終了させてください。どうにもならなくなったらパソコンを再起動して下さい。正常にタスクアイコンが再登録され何事もなかったかのように振舞ってくれることを期待します。

ウィンドウ右上のよくある閉じるボタンでアプリを終わらせることができます。

バージョン番号を確認するにはタイトルバーを右クリックして表示されるメニューから確認することが出来そうです。

Liteという名前のアプリですがLiteとは思えないほどの量のプログラミングがされていますので、正常に動いていたことの方が奇跡だったのであって、もし何か問題が発生した場合は、ため息をつく程度で許していただければと思います。問題が発生した場合はそれに懲りずに報告いただければ幸いです。

よろしくお願いします。

2006年10月23日

_RadioSharkPlayerLite

ラジオが聞けるだけのツールです。
アップデートするつもりはないので、バージョン番号ありません
使い心地をコメントにしておいてもらえれば、夢が叶うかもしれません。

RadioSharkPlayerLite
Download(lzh)−139KB

11月1日の記事でプログラム更新しました。リンク先を参照して下さい。

スナップショット
RadioSharkPlayerLite.png


パソコンが爆発しても一切の責任は負えません。それはきっと電池のせいです。
使い方はRadioSharkを繋いでから、起動するだけです。

Windows標準のUSBオーディオとしてRadioSharkがパソコンに認識されていれば動くでしょう。このアプリケーションを使ってラジオを再生している最中に
RadioSharkのUSBを抜いたりしたら、悲しいことが起こるでしょう。

再生中に再生ボタンを押したり、停止中に停止ボタンを押したり、
RadioShark繋いでないのに起動したり、それで再生ボタンを押したり、
停止ボタンを押したり、繋いでも無いのに周波数変更操作したり、
イレギュラーなことはやらないほうが身のためです。そんなことをする人は嫌いです。
それでエラーが出て、プログラムのせいにする人はもっと嫌いです。
(でも、実際は全部プログラムのせいなんです。後で対応します。重要でないことは後回しにするのは悪い子の証拠です。僕は悪い子なんです。頭の悪い子なんです。

とりあえず、今waveファイルに録音できる機能を作ってるから、死ぬほど待っててね…
waveファイルに録音できるようになったら、パワフルな録音予約機能作って、
毎週大好きなラジオ番組が知らぬ間に全部残せるそんな夢のような境地も考えています。
でも、出来上がった頃には、アナログラジオがオワッテルかもしれないという諸刃の…

ここ2ヶ月いろいろ考えましたが、いきなりmp3への録音を実現するのは難しいから(mp3の仕様書読んだけど、おそろしく複雑で、演算処理がややこしそうです。苦手です。午後のコーダを作ったプログラマの方、尊敬します。ものすごい才能だと思います。)
とりあえずwaveからです。そしたらlame_enc.dllとかを使ってストリームで録音できるようにします。道のりがものすごく遠い…

ってことで、RadioSharkPlayerLiteをここらで放出しておきます。
録音派じゃなくて、とりあえず、簡単に!ウィンドウをスッキリさせて聞きたい派の人へ捧ぐ。
録音は今までどおりのやり方で録音するヨロシ。

録音マニアで、僕の能力を信じる方、有難うございます。死ぬほど待っていてください。
死ぬまでに作ります。

ただ残念なことに僕はFLASHでアニメーションとかそれ用の音楽もこつこつと作ってるわけでして、正直、このプログラムに命かけてるわけではないので、なんといいますか、暇つぶしの暇つぶし的創作物という位置付けです。それになにより仕事が大好きな人でして、小さい頃から今の仕事をやりたくて、勉強してきたようなところもあります。正直、結婚とか恋愛とかそんなのどうでもいいんです。半導体大好きなんです。今はみんながよく使っているようなメモリとか写真用のアレとかがメインですが、将来はこいつと人間が密接に関わってくるようなそんな攻殻機動隊のような世界に結びつくわけです。生きてる間にどこまでやれるかわかりませんが、いろんな人と一緒に生きていきたいと思います。

つまりは、わたくしのモチベーション次第です。

2006年09月03日

_タスクトレイアイコン

RadioSharkPlayer6.png

最小化ボタンでタスクトレイアイコン化して動作するように作りました。
また、アレなアイコンですが、とりあえず、という感じです。
録音中と再生中のアイコンは分けたほうがいいかもしれませんが、
ま、とりあえずは、タスクトレイに入れるだけでいいでしょう。

メニューは今のところ、アプリの終了のみ。
アイコンをクリックするとウィンドウが元の状態になるという仕組みです。

ちなみにGriffinTechnologyのRadioSharkの商品ページ。
http://www.griffintechnology.com/products/radioshark/
RadioShark.gif

2006年08月30日

_再生できたー!!

RadioShark の Win 版 再生専用アプリ完成しました。
ちょっと時間がかかりましたが、とりあえず、再生が出来ました。感動した!

これはまだ、通過点でしかないのだけれども、少し筒、DirectShowを制覇しつつあるね。
次は
mp3で録音とか、
各地域毎のラジオ局設定とか
最小化時タスクトレイアイコン化とか
アイコンデザインとか
アプリケーションウィンドウのデザインとか
アプリ起動時の各種設定(起動時と同時に再生するかとか、住んでいる地域の設定とか)
予約録音とか・・・・
番組表連動予約とか、現在の番組内容表示とか(どうやって?)・・・・

そういうのをやろうかと思います。

図はグラフエディタで、ROT(RunningObjectTable)を ピン接続図として読み込んだ様子と
起動しているアプリ一覧と音が鳴っているよ!という自慢というか生きた証というか
、そういうものです。(RadioShark持ってない人とかばっかりなのでほとんどの人は全く興味無いでしょうけど…)

最終的にはFMの15MHzシフト部品(いわゆるFMコンバーター)とかを作って日本のFMも聞けるようにしたいな。そしたら、このプレイヤーで15MHzずらした値で制御すればいいんだよね。
必要は発明の母なりを目指そうと思います。
RadioSharkPlayer5.gif

2006年08月21日

_わかってきた。

いよいよ。ラジオの音が再生される日も目前です。わかってきました!わかってきました!
こんなことで挫折するような、よねっと氏ではなかったのですよ!

やっぱりPin接続っていうのをきちんとしないといけないっぽい。以下のような関数(もっと沢山必要かも)を駆使して、実現できるっぽい。

CoCreateInstanceでグラフを実体化して
AddFilter()でフィルターを追加
pCaputureGraphBuilde2->FindInterface()
pFilterGraph->FindInterface()とかFind()でピン情報を取得
pBaseFileter->ConnectedTo()で既に接続されているピンを検知
pIPin->QueryDirection()でアウトプットピンかインプットピンかを取得
pBaseFileter->ConnectDirect()やRenderStream()でピンとピンを結合

Pinに対応するFilterGraphを列挙する関数とかを自作しないといけないっぽいけど
そんなに難しくはなさそうEnumMediaTypeとかっていうインターフェースで列挙出来そう。
そうするとWDMストリーム標準データタイプハンドラ、つまりDirectSoundDeviceの抽出ができそうです。

DirectShowってややこしいけどいっぱいInterfaceが用意されていて、それを使いこなせれば、簡単な表記でやりとりができるんだね。

COMインターフェースの技術って凄いです。
対応するものがあれば、簡単にオーバーライド演算子= とかで代入を試みてくれます。インターフェースのコピーや転送といった考え方が面白いです。つまりIMediaControlもIGrapFilterもCComPtrのATLを使えば代入演算子だけで、必要なインタフェースが代入できてしまうっぽいです。しかし、これのデメリットはインターフェースのポインタを管理するだけで、COMだけでやってしまうと何が何と結びついていて、今、どういうものが保持されているかがかわからず、デバッグに骨が折れそうだということ。ときおり、COMを使わないクラスに中身を取得したり代入してみたりして、何が設定されているかわかるようにしないと厳しそうです。

それでも…
CAutoPtrとかCInterfaceListとか便利な器が用意されていて、調べれば調べるほど、その高度なプログラミングテクニックに感動します。

あと、GraphEditっていうDirectXのユーティリティが便利ね(いろんなDirectXSDKのバージョンがあって入手するのに手間どりましたが…)。グラフの繋ぎ方を勉強できる。しかもDirectShowで作られている、有名なアプリとか、いろんなアプリでその仕組みが参考にできるよ。SmartTeeとかっていうフィルタとかも発見しました。

これは、今までにやったプログラミングの中でもかなり勉強になる類のことをやっている気がするよ。クラスの概念を超越するような素晴らしい技術です。でも自分でインターフェースを作るとなるとまた大変そうで、自分はCOMインターフェースを使うので精一杯な気がします。idlとかいうファイルで専用のツールをつかってコンパイルするっぽいです。

んーつまりは
フィルターグラフマネージャーという一つのグラフフィルターの中に
グラフという物をいくつか追加して、それぞれのグラフ存在するピンを探して
必要なピンと必要なピンを繋ぐ、このときフィルターグラフにはキャプチャーグラフとよばれる、サウンドやムービーの元、フィルターグラフとよばれるエンコーダーのような仲介的なもの、そして、レンダーグラフというファイル出力やダイレクトサウンド出力が存在するってことだね。

そうやってできあがったフィルターグラフマネージャーは
メディアコントロールというものとかメディアイベントといったようなものと連携することで、再生したり再生中のイベントを取得したり、再生を止めたりする操作ができるようになるって感じになるんだね。

こういったことをやるために最初にいったようなCOMインターフェースや関数を使うと実装ができるということに他ならない。

概要がわかったZE!あとは、少しづつコードを組むだけだな。DirectShowは奥が深い。

2006年08月15日

_ちときつい。

DirectShowでのデバイスキャプチャープレビューはきついっすね。
資料が膨大かつ、オーディオデバイスキャプチャー関連の情報が少ないので、手順がよくわからん。

とりあえず、今のところの思考回路
CComPtr<IGraphBuilder>とかのComPtrATLを使おうと思っている。

どうやら、グラフビルダーというものをうまく使いこなさないといけないっぽい
CComPtr<IGraphBuilder>フィルターグラフ
CComPtr<ICaputureGraphBuilder2>キャプチャー用
CComPtr<IMediaControl>コントロール用
でキャプチャーデバイスの再生はコントロールできそう。だけど
デバイスを取得したものの、どうやって関連付けをするのか良くわからない。

もう一つ
Pinという考え方があって、どうやらキャプチャーデバイスとは別に
Default Wave OutのデバイスもしくはDefault Direct SoundのデバイスとPin接続をしないといけないっぽい。

こちらもやり方がよくわからない。DirectX付属のユーティリティGraphEditorでは簡単に聞けるのに、たったこれだけのことをやるだけでも、随分と複雑ね。イヂワル。って俺が無能なだけなんだけど・・・・

DirectXの資料の読み進めかたが悪いのかもしれない。サウンドデバイスプログラミングって、技術の範囲が広くて、ビデオの再生とか、ファイルの再生とか、ファイルの録音、変換、そんな情報ばかりが散在する感じです。

やりたいことを勉強するのが難しいね。
これに比べたら、USBデバイスの操作なんてちょろいもんだったのかもしれないねぇ。

再生できるようになるまで、あと2ヶ月くらいはかかりそうね。

2006年07月17日

_成果無し!

ラジオデバイスを操作するための簡単なUI はできました。
周波数を変えたりなんていう簡単なことしかやりませんが、

リッチエディットコントロール(テキストボックスのこと)のフォント設定や少数もしくは整数の文字列しか入力してはいけないといったチェック処理も入ってる親切な仕様なのですが、

この2日間かけて、出来上がったのはそれだけ!
DirectSoundでのラジオデバイス再生は鬼のように難しく、意味不明。
IMediaControl型の変数の準備までやったけど、どうやらそれだけでは音はなってくれないっぽい( ´ ・ д ・`)ナッチャッテイイノニ…

RUN()とかっていうメンバ関数を実行してもうんともすんとも言わない。
そもそもIMediaControlのサウンド制御用の変数を構築するプロセスがDirectX初心者プログラマには意味不明です。グラフとかフィルタとか他にも沢山の専用の構造体を駆使してやらないといけないっぽいです。疲れた。たぶん、この準備過程にもなにかしら足りない部分もありそうです。何が足りないか?それはわかりません。時間かけて、調べてみます。

たとえ上手くいったとしても、音を鳴らすのにはもうひと仕事ありそうな気配です。
このIMediaControlで制御した出力を更に音声出力へ引き渡さないと音が鳴らないとかそんな感じになってるんじゃないかと予測します。じゃないとSoundデバイスのどれで鳴らすかとかも指定しないで勝手に音が鳴るとかいう、ありえない世界になってしまいそうだから。

ひょっとしたらファイルに録音するほうが簡単なのかもしれないね。付属ソフトでも録音だけは出来るみたいだし…

また来週だね。

とりあえず、今日までにやったことは、
●オーディオデバイスを探索処理完成
●RadioSharkのオーディオデバイス取得処理完成
●はじめての再生時には各種オーディオコントロール用の変数にオーディオデバイスとの関連付けを行う処理を作成(たぶん未完成)
●2回目以降の再生および、停止(ストリームなので一時停止機構はいらない)処理の制御作成(たぶん未完成)。

ここまで。音が鳴ったらWin用初のRadioSharkPlayer(再生専用機)として、ここに実行ファイルをこっそりアップロードしてみたいと思います。やっぱお手軽に操作できるプレイヤーって大事だと思います。

できるかなぁ。心配。
パソコンって複雑ね。

以下はオーディオデバイスを取得したところのデバッグ画面です。
RadioSharkPlayer3.png

2006年07月10日

_USB通信できた。

USBで書き込み信号を送って
○周波数の変更
○AM・FMの切り替え
AM
0x00 0xC0 0x12 Gb Lb 0x00 0x00
FM
0x00 0xC0 0x02 Gb Lb 0x00 0x00

(Gb Lb は繋ぎ合わせて出来る16進数周波数でAMなら0x01C2を加えたもの FMなら 0x0358 を加えた値の0.8倍が実際の受信周波数になる。単位はAMのときHz FMのときMHz
○照明(青・赤ON/OFF)のコントロール
青LED ON
0x00 0xA0 0xFF 0x00 0x00 0x00 0x00
青LED OFF
0x00 0xA0 0x00 0x00 0x00 0x00 0x00
赤LED ON
0x00 0xAF 0x00 0x00 0x00 0x00 0x00
赤LED OFF
0x00 0xA8 0x00 0x00 0x00 0x00 0x00
○現在の周数問い合わせ
0x00 0x80 0x00 0x00 0x00 0x00 0x00

ができました。

SnoopyとかっていうアプリでGriffinTechnologyのアプリを動かしたときの
USBに流れる信号を解析してみました。解析しきったときに物凄い達成感を得たわけです。

ところが!

自分とは別の人がUSBに信号をおくるだけのアプリを公開しているようでした。

ひまつぶし空間 ne533さん
http://www.geocities.jp/ne533/index.htm
です。

しかも青の点滅とか明るさまで調べていました。すげー。
ne533さんのほうが俺よりずっとスゴイやん!
因みに
明るさは青色に限って調整可能らしく
0x00 0xA0 NN 0x00 0x00 0x00 0x00

(NNには明るさの度合いを示す16進数が入るそうです。大きいほど明るい。
点滅は
0x00 A1 NN 0x00 0x00 0x00 0x00

(NNには点滅間隔の長さを示す16進数が入るそうです。大きいほど長い。

点滅とか明るさとかの調整ってどういうときに使うんだろ。
すごいな。面白発見だ!ne533さんすごい!

ne533さんの解析結果とも同じになりました。
ne533さんは双方向通信はしてないみたいで
現在周波数の取得については触れられていなかったので、自分の収穫はたったのそれだけ。所詮2番煎じっすね(汗

しかも、現在の周波数取得なんてアプリ側で管理すりゃいいだけの話だし…
とにかく、返答時は
0x00 nH Gb Lb 0x00 0x00 0x00 が返ってくるね。
(nHは波長種別信号が返って来てAMなら0x12 FMなら0x02
(Gb Lb は繋ぎ合わせて出来る16進数周波数でAMなら0x01C2 FMなら 0x0358 を差し引いた値を80で割った値が実際の受信周波数になる。単位はAMのときHzでFMのときはMHz。

付属ソフトではなぜかこの問い合わせ処理をWindowが実体化されてるあいだず−っと2秒間隔で繰り返してるね。
Windowを閉じるときときは今の状態に合わせたLEDの色を更新してる。何がしたいのかさっぱりわからない挙動だな。録音し終わった後にLEDの色の更新が失敗するとかっていうのがあるのかもしれませんね。

この付属ソフト単体で再生こそできないもののとりあえず通信信号だけは
正しく出してるみたいです。

このGriffinTechnologyという会社を集団訴訟で訴えれば勝てると思うくらいにWinでは十分な動作をしない。Winでも動くとか言って販売してるくせに。8000円返せって言われてもおかしくない状況ですよね。
この付属ソフトのせいで、ストレスをかかえて生きてる人が日本に何人いると
お思いなのでしょうか?え?、勝手に日本で使うな?…うん、そういうことでしたね(汗

とにもかくにも、一通りの通信が出来ました。
はじめてUSB機器を自分のアプリで動作を操作することができて感動ものです。
VSTで音がなったときくらいの感動が再び!あのときの感覚によくにています。

MIDI信号もUSB信号も比較的わかりやすいし、操作していて楽しい信号だと思いました。

ラジオ音声のストリームをしているデバイスを取得しないとなぁ。とりあえずDirectSoundでやってみっか。mp3録音がめっちゃむずかしそうだなぁ。やるからには、エンコーダーもプログラムに内臓したいなぁ。ま、とりあえずwav録音ができればいいよね。
あー、設定ファイルとか、UIもそろそろ作りこまないといけないね。
今のはUIがないのでラジオ聞くまでの一連の流れがハードコーディングされてる状態。
あいたたた。

画像は、デバイスに現在設定されている周波数を問い合わせて、文字列変数に波長種類(AMorFM)と整数変数Frequencyに1242Hz(日本放送)を取得したところのデバッグ画面です。