OSDN Ticket Archive


Ticket #32542

MIDIデバイスのオフラインプロパティ取得エラー

登録: 2013-12-08 20:42 最終更新: 2014-01-19 13:28

報告者:
yknk
担当者:
yknk
チケットの種類:
バグ
状況:
完了
コンポーネント:
MIDITrail Ver.1.2.x for Mac OS X
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

フォーラム(#70109)にて、下記エラーが発生したとの連絡あり。環境:OS X version 10.6.8

#70109 CoreMIDI API Error
https://sourceforge.jp/projects/miditrail/forums/23361/34461/
SMOutDevCtrl.mm
Line:251
INFO:FFFFD5AD 00000000

チケットの履歴

2013-12-08 20:42 更新者: yknk
  • 新しいチケット "MIDIデバイスのオフラインプロパティ取得エラー" が作成されました
2013-12-08 20:42 更新者: yknk
コメント

原因

出力MIDIデバイスの接続状態を確認するため、kMIDIPropertyOfflineプロパティを取得するとき、 MIDIObjectGetIntegerPropertyの戻り値がkMIDIUnknownProperty(プロパティ不明)を返した。

//出力先の接続状態
err = MIDIObjectGetIntegerProperty(endpointRef, kMIDIPropertyOffline, &isOffline);
if (err != noErr) {
	result = YN_SET_ERR(@"CoreMIDI API Error", err, 0);
	goto EXIT;
}

すべての出力MIDIデバイスがkMIDIPropertyOfflineプロパティを持つとは限らないようだ。

2013-12-08 20:43 更新者: yknk
コメント

対策

kMIDIPropertyOfflineプロパティ取得処理がkMIDIUnknownProperty(プロパティ不明)で失敗したときは、 オンラインとみなす。 出力デバイスだけでなく、入力デバイスにおいてもkMIDIPropertyOfflineプロパティを取得しているため、 同様に修正する。

SMOutDevCtrl::_CheckEnd

出力デバイスのkMIDIPropertyOfflineプロパティ取得処理を修正。

SMInDevCtrl::_CheckEnd

入力デバイスのkMIDIPropertyOfflineプロパティ取得処理を修正。

2014-01-04 00:50 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2014-01-04 00:50 に更新されました
2014-01-19 13:28 更新者: yknk
  • マイルストーンVersion 1.2.1 for Mac OS X (完了済み) から (未割り当て) に更新されました
コメント

マージ完了。

  • MIDITrail Ver.1.0.1 for iOS

なおiOS版では、初版Ver.1.0.0から本問題には対応済みであった。 iOS版では実行されない処理ルートに本問題が残っており、 ソースコードを管理しやすくするためマージした。

添付ファイルリスト

添付ファイルはありません