SSブログ
Mac用USBデバイス工作 ブログトップ
前の10件 | 次の10件

Mac用USBデバイス-100 Cocoaバインディング [Mac用USBデバイス工作]

昨日は種類の違うクラスを子要素に追加するようなモデルではNSTreeControllerを使うことがなかなか難しいことがわかった。こういうときは蛸壺サブクラス化を考えるのが常套手段。

ところでこれがUSBデバイスネタのちょうど百個目。いや、だからそれは十進法でキリがいいだけだってば、何度も言ってるように。でも、なんとなくうれしい。

続きを読む


Mac用USBデバイス-99 Cocoaバインディングを使おう [Mac用USBデバイス工作]

2週間近くほったらかしにしてたら、何やってたかほんとにきれいさっぱり忘れた。「鋭い忘却力!」なんて言って笑ってられない、マジで。昨日丸一日かけて思い出す努力をした。

USBのデスクリプタを自動生成するアプリを書こうとしていた。UIリッチなアプリになるのでなるべく簡単になるようにCocoaバインディングのコントローラクラスであるNSTreeControllerを使って記述量を減らそうと思ったが、なかなか勝手な構造のクラス定義ではうまくいかない。モデルが内在する構造とNSTreeControllerが期待する構造とにギャップがあると、何らかの形でその間の調整をする必要がある。

続きを読む


Mac用USBデバイス-98 やっぱりNSMutableArrayじゃなきゃ [Mac用USBデバイス工作]

昨日NSTreeControllerのcontentとして、NSMutableArrayと同じ振る舞いをするLISPのCons Cellのようなリンクトリストを使おうとしたが実はそれはうまくいかなかった。なぜなのか。

続きを読む


Mac用USBデバイス-97 USB UI設計 [Mac用USBデバイス工作]

昨日、ユーザインターフェイスのスタイルを考え始めた。あんまりそういうところに労力を使ったことがないので頭の回転がさらに遅くなってしまう。
Cocoaバインディングを使えるようにしてなるべく簡単にすませたい。でも貧乏性なものでメモリの使用量が見やすいリンクトリストのようなものが使えるようにしたい。でもそれには制限があることがわかった。

続きを読む


Mac用USBデバイス-96 USB DesimpのUI設計を始める [Mac用USBデバイス工作]

前回まででCocoaバインディングのざっくりとした技術的なバックグラウンドのおさらいをした。概念的にはわかったということにして、Cocoaバインディングがどういう場面で使えるかを見るためにUSB DesimpのUser Interfaceを具体的に設計してみる。

続きを読む


Mac用USBデバイス-95 Cocoaバインディングのまとめ [Mac用USBデバイス工作]

前々回そして前回とCocoaバインディングの技術的な基礎になっていることがらを概観した。今日はそのまとめをする。一般論はこのくらいにして、さっさと実際のコードを書きたい。

続きを読む


Mac用USBデバイス-94 Cocoaバインディングの基礎-2 [Mac用USBデバイス工作]

昨日USBの標準デスクリプタを自動生成するためのUIリッチなアプリを書くために、Cocoaバインディングのおさらいを始めた。今日はその続き。

続きを読む


Mac用USBデバイス-93 Cocoaバインディング [Mac用USBデバイス工作]

EZ-USBを動作させるためには、デスクリプタを記述しないといけないが、記述量はかなり多いということがわかった。そこで自動生成するようなUSB Desimpというソフトを作ることにした。ところが、これはUI(ユーザインターフェイス)リッチなアプリになる。僕はいままで数値計算用のソフトばかり書いてきたのでUIはなおざりにしてきた。

先日のSpaghettiMazeMakerでは「詳細設定パネル」でCocoaバインディングを使った。メインウィンドウが切り替わったときに、そのパネルに反映されるようにするのをターゲット/アクションで書こうとするとかなり大変だけど(コントローラ側はメインウィンドウが切り替わった通知をもらって、パネル側はFirst Responderへのアクションとして)、Cocoaバインディングを使えばInterface Builderでの設定だけでできてしまう。めちゃめちゃ簡単だということがよくわかった。

その伝で今回も行こう。詳細設定パネルぐらい簡単になればいいんだけど。まず、Cocoaバインディングの技術的な基礎について。

続きを読む


Mac用USBデバイス-92 デスクリプタの生成 [Mac用USBデバイス工作]

前回まででUSBの標準デスクリプタを整理した。たくさんあるし、汎用的なデータ構造が使えないのでいちいち定義しないといけない。面倒だし1ビット違っただけでUSB機器として機能しなくなってしまうということになる。いや、もちろん普通のソフトでも1ビット違えば機能しなくなるんだけど、冗長性を持たすことがまったくできない。これはちゃんと自動生成する方法を考えないといけない。

続きを読む


Mac用USBデバイス-91 IIDCドライバ [Mac用USBデバイス工作]

昨日まででUSBの標準デスクリプタのおさらいがやっと終わった。これをいちいち手動で書いていたらぜったい頭が禿げる。
それはそうとして、しばらく前に一段落させたFireWire接続のIIDCカメラ用ドライバがちょっとだけバージョンアップ。

続きを読む


前の10件 | 次の10件 Mac用USBデバイス工作 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。