金澤ソフト設計の開発者ブログ主にソフトウェア開発者向けの便利ツールを作成している「金澤ソフト設計」の開発者のブログです。Ver1.14をリリースしましたMPEG-TSストリーム簡易解析ツールで、特定のストリームで異常終了してしまう不具合を改修しました。最新版はホームページよりダウンロードできます。Monitor)で、UNICODE対応アプリケーションからのメッセージ出力に対応しました。最新版はホームページよりダウンロードできます。リリース案内2011年06月14日ソフトウェアの開発の経緯とか。2とりあえず現在公開しているソフトの中では一番ダウンロード数が多いです。このソフトは、15年位前にPostScriptプリンタの開発に携わっていたときに、パラレルポート用のターミナルソフトが欲しくて自作しました。IEEE1284のニブルモードでプリンタと通信を行っていました。調査・改良を行って、現在公開しているバージョンでは、Windows標準のパラレルポート・ドライバ経由でパラレルポートの通信は行っています。(当初、パラレルポート・ドライバ経由だとプリンタ⇒PC方向のデータ受信が出来なくて悩んだのですが、プリンタ・スプーラの出力先をパラレルポート以外にするとデータ受信できることが判ったので、現在はユーザーに手動でプリンタ・スプーラの設定を変更してもらうことで対応しています。後に、シリアルポート、TCP/IP、USBと通信可能なデバイスを増やして現在の形になりました。ちなみにUSBデバイスと通信できるとありますが、通信できるUSBデバイスは、かなり限定されます。通信したいUSB機器のWindows側のデバイス・ドライバが、一般的なアプリケーションとの通信経路(USBではパイプと呼ぶのですが)を公開しているかどうかに左右されます。確認が取れているのは、「USB印刷サポート」で使用されるUSBドライバ経由でのプリンタとのUSB通信だけだったりします。(言い訳するわけではないのですが、一般に入手可能なUSB機器って、マウス、キーボード、ハードディスク、USBメモリ等々で、直接アプリケーションからデバイス・ドライバにアクセスできなっかったりするわけですよ。)開発の経緯はこんな具合でして、現在プリンタの開発業務からは離れてしまっているので作者としては最近はあまり利用していません。(不具合の発見などは、ユーザーの方からのご報告頼みです。排他制御の二重呼び出しでデッドロックを起こすときどうします?例えば、VRAMのようなシステムに一つしかないリソースを複数のタスクからアクセスするライブラリAPIを作るときに、提供するAPIの内部でセマフォやミューテックスを使って排他制御をするとします。以下のようなコードになったとします。箇所でデッドロックを起こします。呼び出さないようにすれば回避できそうです。呼び出されたらどうでしょうか?(意外と、アプリケーション側とライブラリ側の担当者が別々だったりすると、こんなことはよく起こります。funcA();}これも、アプリケーション側の設計をもう少し考えて。なんていうのが通用しないことがあります。(ある程度プログラムの作り込みが完了しているところに、アプリケーション側の担当者にプログラム変更を依頼すると、「大幅な変更になるので対応できません。」と拒否されたりします。この辺りは個々の担当者間の力関係で決まってきます。プログラミングとは関係ない話です。)なんとかライブラリAPI内で解決したいところです。私なら安直に以下のように修正します。(まぁ、別によくある手法(?)です。呼び出さないようにします。呼び出さないようにします。何となくうまく行きそうですがどうでしょうか?タスクIDが取得出来ないようなOSの場合。ソフトウェア2011年06月04日DirectSoundでマイクから録音するサンプルプログラムを作りましたDirectSoundを利用してマイクから録音するサンプルプログラムを作りました。詳しくは以下のホームページにあります。http://www.kana-soft.com/tech/sample_0011.htmレイテンシを短くしようと試行錯誤したのですが、挫折しました。他のアプリの音源の録音や、再生中のオーディオ音源と重ね録りができるアプリケーションです。Re:サンプルWAV形式の音声ファイルのサンプリング周波数を変換するツールです。RTPパケット簡易解析ツール「wireshark」等でキャプチャした通信パケットからRTPパケットを解析し、その内容を表示するアプリ。ToneMakerDTMF音やキータッチ音などの短いトーン音源データを生成するアプリケーションです。Terminal通信相手とのコマンドの送受信を疑似的に代行するアプリケーション。POSTerHTTPリクエストメッセージ中の内容を自由に設定してHTTPサーバーにリクエスト。MonitorMQTT通信のクライアント(Publisher/Sbscriber)アプリケーション。DHCPOptDHCPのオプション文字列を自由に設定できるデバッグ用のDHCPサーバー。2RS232C,パラレル,TCP/IP,USBに対応したターミナルソフト。MPEG-PSストリーム簡易解析ツールMPEG-PS形式のファイルをパケット単位で解析。(Ver1.0.0.0)をリリースしました。Ver1.0.0.0をリリースしました。(サンプリング周波数変換ツール)Ver1.0.0.0をリリースしました。(トーン生成ツール)Ver1.0.0.0をリリースしました。(07/20)「お問い合わせフォーム」でメールが送信できない不具合を修正しました。