NextMidi.Data.Track 名前空間

NextMidi > NextMidi.Data > NextMidi.Data.Track

概要

NextMidi.Data.Track 名前空間には、MIDI トラックを編集するための実装が含まれています。

  • クラス
    • MidiTrack
    • MidiTrackExtensions
    • TickIndexComparer
    • TickIndexEvent
    • TrackCollection

MidiTrack クラス

NextMidi > NextMidi.Data > NextMidi.Data.Track > MidiTrack

概要

MidiTrack クラスは、MIDI トラックを操作するための広汎なメソッド群を提供します。

  • コンストラクタ
    • MidiTrack()
    • MidiTrack(List<MidiEvent> items)
  • メソッド
    • MidiEvent ElementAt(int index)
      指定したインデックスのイベントを返します。
       
    • MidiEvent Find(Predicate<MidiEvent> action)
      条件を満たす最初のイベントを返します。
       
    • void ForEach(Action<MidiEvent> action)
      トラック中の全てのデータに対し、指定した動作を実行します。
       
    • void ForEach<T>(Action<T> action)
      指定した型の全てのデータに対し、指定した動作を実行します。
       
    • List<MidiEvent> GetData(Func<MidiEvent, bool> predicate)
      指定した条件を満たすデータの一覧を返します。
       
    • List<MidiEvent> GetData()
      全てのデータの一覧を返します。
       
    • List<T> GetData<T>()
      指定した型のデータの一覧を返します。
       
    • List<T> GetData<T>(Func<T, bool> predicate)
      指定した型のデータのうち、条件を満たすデータの一覧を返します。
       
    • List<MidiEvent> GetTickData(int startTick, int endTick)
      指定した時刻の間にあるデータの一覧を返します。
       
    • List<T> GetTickData<T>(int startTick, int endTick)
      指定した型のデータのうち、指定した時刻の間にあるデータの一覧を返します。
       
    • void Insert(MidiEvent data)
      データを追加します。
       
    • void InsertRange(List<MidiEvent> items)
      データを追加します。
       
    • void Remove(MidiEvent data)
      データを削除します。
       
    • void RemoveRange(List<MidiEvent> items)
      データを削除します。
       
    • void RemoveRange<T>(List<T> items)
      データを削除します。
       
    • void SetChannel(byte? channel)
      トラックの MIDI チャンネルを変更します。
  • 拡張メソッド
    • byte? DetectChannel()
    • string GetTitle(bool firstTrack)
    • void SetTitle(string title, bool firstTrack)
    • MidiTrack ToElementalTrack()
      NoteEvent クラスなど、複数のメッセージを結合して作られたイベントを展開します。
  • プロパティ
    • Channel
    • Count
    • TickLength

ControlEvent クラス

NextMidi > NextMidi.DataElement > ControlEvent

概要

ControlEvent クラスは、MIDI コントロールチェンジを表します。

  • コンストラクタ
    • ControlEvent()
    • ControlEvent(byte number)
    • ControlEvent(byte number, byte value)
  • メソッド
    • byte[] ToNativeEvent()
      MIDI イベントを byte 配列に変換します。
  • プロパティ
    • Channel
      MIDI チャンネルを取得または設定します。
       
    • Number
      コントロールナンバーを取得または設定します。
       
    • Tick
      MIDI メッセージの送信時刻を取得または設定します。
       
    • Value
      コントロールチェンジの値を取得または設定します。

使い方

次の例では、エクスプレッションメッセージを作成し、MIDI データ列を取得します。

var control = new ControlEvent(ControlNumber.Expression, 64);
byte[] message = control.ToNativeEvent();

MidiInPort クラス

NextMidi > NextMidi.MidiPort > NextMidi.MidiPort.Input > MidiInPort

概要

MidiInPort クラスは、MIDI 出力ポートを操作するための簡潔なインターフェイスを提供します。

  • コンストラクタ
    • MidiInPort(string name)
      MIDI ポート名を指定して MIDI 入力ポートを作成します。
       
    • MidiInPort(int index)
      MIDI ポート番号を指定して MIDI 入力ポートを作成します。
       
    • MidiInPort(string name, IMidiEventFactory factory)
      MIDI ポート名とカスタムイベントファクトリを指定して MIDI 入力ポートを作成します。
       
    • MidiInPort(int index, IMidiEventFactory factory)
      MIDI ポート番号とカスタムイベントファクトリを指定して MIDI 入力ポートを作成します。
  • メソッド
    • void Close()
    • void Open()
  • プロパティ
    • IsOpen
    • Name
  • プロパティ (static)
    • PortCount
      MIDI 入力ポートの数を取得します。
  • イベント
    • Received

MidiInApi クラス

NextMidi > NextMidi.MidiPort > NextMidi.MidiPort.Input > NextMidi.MidiPort.Input.Core > MidiInApi

概要

MidiInApi クラスは、MIDI 入力 API に対するマーシャリングを提供します。

  • メソッド (static)
    • uint midiInGetNumDevs()
    • MMResult midiInGetDevCapsA(uint uDeviceID, ref MidiInCapsA lpMidiInCaps, uint cbMidiInCaps)
    • MMResult midiInOpen(ref IntPtr lphMidiIn, uint uDeviceID, Delegate dwCallback, uint dwCallbackInstance, MidiPortOpenFlag dwFlags)
    • MMResult midiInClose(IntPtr hMidiIn)
    • MMResult midiInStart(IntPtr hMidiIn)
    • MMResult midiInStop(IntPtr hMidiIn)
    • MMResult midiInReset(IntPtr hMidiIn)
    • MMResult midiInPrepareHeader(IntPtr hMidiIn, ref MidiHdr lpMidiInHdr, uint uSize)
    • MMResult midiInUnprepareHeader(IntPtr hMidiIn, ref MidiHdr lpMidiInHdr, uint uSize)
    • MMResult midiInAddBuffer(IntPtr hMidiIn, ref MidiHdr lpMidiInHdr, uint uSize)

MidiWriter クラス

NextMidi > NextMidi.Filing > NextMidi.Filing.Midi > MidiWriter

概要

MidiWriter クラスは、MIDI ファイルを書き込むための簡潔なインターフェイスを提供します。

  • コンストラクタ
    • MidiWriter(Stream input)
  • メソッド
    • void Close()
    • void WriteFile(MidiData midiData)
  • メソッド (static)
    • void WriteTo(string fileName, MidiData midiData)
      MIDI データを指定したファイルに書き込みます。

TempoMap クラス

NextMidi > NextMidi.Data > NextMidi.Data.Score > TempoMap

概要

TempoMap クラスは、MIDI の Tick 時刻と実時間との相互変換を提供します。

  • コンストラクタ
    • TempoMap(MidiData midiData)
  • メソッド
    • int GetTempo(int tick)
      指定した時刻のテンポを取得します。
       
    • int ToMilliSeconds(int tick)
      Tick 値をミリ秒に換算します。
       
    • int ToTick(int msec)
      ミリ秒を Tick 値に換算します。
       
    • TimeSpan ToTime(int tick)
      Tick 値を時刻に換算します。

NextMidi.MidiPort.Output.Core 名前空間

NextMidi > NextMidi.MidiPort > NextMidi.MidiPort.Output > NextMidi.MidiPort.Output.Core

概要

NextMidi.MidiPort.Output.Core 名前空間には、MIDI 出力ポートを操作するための柔軟かつ低レベルな実装が含まれています。

  • クラス

MidiOutApi クラス

NextMidi > NextMidi.MidiPort > NextMidi.MidiPort.Output > NextMidi.MidiPort.Output.Core > MidiOutApi

概要

MidiOutApi クラスは、MIDI 出力 API に対するマーシャリングを提供します。

  • メソッド (static)
    • MMResult midiOutClose(IntPtr hMidiOut)
    • MMResult midiOutGetDevCapsA(uint uDeviceID, ref MidiOutCapsA pMidiOutCaps, uint cbMidiOutCaps)
    • uint midiOutGetNumDevs()
    • MMResult midiOutLongMsg(IntPtr hMidiOut, ref MidiHdr lpMidiOutHdr, uint uSize)
    • MMResult midiOutOpen(ref IntPtr lphMidiOut, uint uDeviceID, Delegate dwCallback, uint dwInstance, MidiPortOpenFlag dwFlags)
    • MMResult midiOutPrepareHeader(IntPtr hMidiOut, ref MidiHdr lpMidiOutHdr, uint uSize)
    • MMResult midiOutShortMsg(IntPtr hMidiOut, uint dwMsg)
    • MMResult midiOutUnprepareHeader(IntPtr hMidiOut, ref MidiHdr lpMidiOutHdr, uint uSize)

NextMidi.MidiPort.Output 名前空間

NextMidi > NextMidi.MidiPort > NextMidi.MidiPort.Output

概要

NextMidi.MidiPort.Output 名前空間には、MIDI 出力ポートを操作するための
実装が含まれています。