iOS版 MIDIデバイスの識別方法を変更
現状のMIDITrailは、ユーザが選択したMIDIデバイスの以下のプロパティを保存して、MIDIデバイスを選択するときのキーにしている。
しかし、同一メーカー、同一モデル、同一エンドポイント名のMIDIデバイスが複数存在する場合、 MIDITrailは最初にプロパティが一致したデバイスを、ユーザが選択したデバイスとして識別することになる。
ユーザが選択したMIDIデバイスを確実に識別できるようにするため、デバイスの表示名も検索キーとする。
ただしMIDITrailは、これまでのバージョンでユーザが選択したデバイスの表示名を保存していなかったため、 表示名が保存されていなかった場合は、従来と同じ方法で(表示名を利用せずに)MIDIデバイスを識別する。
MIDI OUT, MIDI INのデバイス選択時に、デバイス表示名を保存する。
ポートに対応するMIDIデバイスを指定するメソッドで、表示名も指定できるようにI/Fを追加する。 表示名が指定された場合は、表示名も一致するMIDIデバイスを選択する。 表示名が指定されなかった場合は、表示名を利用せずにMIDIデバイスを選択する。
シーケンサに対して、ポートに対応するMIDIデバイスを指定する時、引数にデバイス表示名を追加。
ライブモニタに対して、MIDIデバイスを指定する時、引数にデバイス表示名を追加。
メンバにデバイス表示名称用キー文字列 m_PortDevDisplayNameKey を追加。
メンバのデバイス表示名称用キー文字列の初期化処理を追加。
選択中のデバイスを識別する処理において、表示名称の一致も判定するように修正。 ただし表示名称が保存されていない場合は、従来通りの判定とする。
デバイス選択時に表示名称を保存する処理を追加。
メンバにデバイス表示名称用キー文字列 m_PortDevDisplayNameKey を追加。
メンバのデバイス表示名称用キー文字列の初期化処理を追加。
選択中のデバイスを識別する処理において、表示名称の一致も判定するように修正。 ただし表示名称が保存されていない場合は、従来通りの判定とする。
デバイス選択時に表示名称を保存する処理を追加。
メソッドの引数にデバイス表示名称を追加。 デバイス検索処理で、指定された表示名の一致も判定するように修正。 ただし表示名称が未指定の場合は、従来通りの判定とする。
メソッドの引数にデバイス表示名称を追加。 デバイス検索処理で、指定された表示名の一致も判定するように修正。 ただし表示名称が未指定の場合は、従来通りの判定とする。
メソッドの引数にデバイス表示名称を追加。 出力ポートのデバイス設定で指定するパラメータに、デバイス表示名を追加。
メンバにMIDI INデバイス表示名 m_pInPortDevDisplayName とMIDI OUTデバイス表示名 m_pOutPortDevDisplayName を追加。
追加したメンバの初期化処理を追加。(MIDI INデバイス表示名、MIDI OUTデバイス表示名)
メソッドの引数にデバイス表示名称を追加。 メンバに表示名称を保持する処理を追加。
メソッドの引数にデバイス表示名称を追加。 メンバに表示名称を保持する処理を追加。
追加したメンバの破棄処理を追加。(MIDI INデバイス表示名、MIDI OUTデバイス表示名)
出力ポートと入力ポートのデバイスを開くときに指定するパラメータに、デバイス表示名を追加。
メソッドの引数にデバイス表示名称を追加。 出力ポートのデバイス設定で指定するパラメータに、デバイス表示名を追加。
メンバにデバイス表示名称リスト m_PortDevDisplayNameList を追加。
デバイス表示名称リストの初期化処理を追加。
メソッドの引数にデバイス表示名称を追加。 メンバに表示名称を保持する処理を追加。
全ポートに対応するデバイスを閉じるメソッドを追加。
デバイス表示名称リストの破棄処理を追加。
出力ポートのデバイスを開くときに指定するパラメータに、デバイス表示名を追加。
MIDIデバイスを一意に識別する方法を変更する。 同一メーカー、同一モデル、同一エンドポイント名のMIDIデバイスが複数存在する場合でも、 ユーザがMIDI IN,MIDI OUTで選択したデイバイスを一意に識別できるようにする。
次のチケットで報告された問題の対策。