Bagikan melalui


Struktur MIDIEVENT (mmeapi.h)

Struktur MIDIEVENT menjelaskan peristiwa MIDI dalam buffer stream.

Sintaks

typedef struct midievent_tag {
  DWORD dwDeltaTime;
  DWORD dwStreamID;
  DWORD dwEvent;
  DWORD dwParms[1];
} MIDIEVENT;

Anggota

dwDeltaTime

Waktu, di MIDI berdetik, antara peristiwa sebelumnya dan peristiwa saat ini. Panjang tanda centang ditentukan oleh format waktu dan mungkin tempo yang terkait dengan aliran. (Definisi identik dengan spesifikasi untuk tanda centang dalam file MIDI standar.)

dwStreamID

Dipesan; harus nol.

dwEvent

Kode peristiwa dan parameter atau panjang peristiwa. Untuk mengurai informasi ini, gunakan makro MEVT_EVENTTYPE dan MEVT_EVENTPARM . Lihat Keterangan.

dwParms[1]

Jika dwEvent menentukan MEVT_F_LONG dan panjang buffer, anggota ini berisi parameter untuk peristiwa tersebut. Data parameter ini harus diisi dengan nol sehingga jumlah integral nilai DWORD disimpan. Misalnya, jika data peristiwa panjangnya lima byte, tiga byte pad harus mengikuti data dengan total delapan byte. Dalam hal ini, dwEvent 24 bit rendah akan berisi nilai 5.

Jika dwEvent menentukan MEVT_F_SHORT, jangan gunakan anggota ini di buffer aliran.

Keterangan

Byte tinggi dwEvent berisi bendera dan kode peristiwa. Bendera MEVT_F_LONG atau MEVT_F_SHORT harus ditentukan. Bendera MEVT_F_CALLBACK bersifat opsional. Tabel berikut ini menjelaskan bendera ini.

Bendera Makna
MEVT_F_CALLBACK Sistem menghasilkan panggilan balik ketika peristiwa akan dieksekusi.
MEVT_F_LONG Acara ini adalah peristiwa panjang. DwEvent 24 bit rendah berisi panjang parameter peristiwa yang disertakan dalam dwParms.
MEVT_F_SHORT Acara ini adalah peristiwa singkat. Parameter peristiwa terkandung dalam dwEvent 24 bit rendah.
 

Sisa byte tinggi berisi salah satu kode peristiwa berikut:

Kode Peristiwa Makna
MEVT_COMMENT Peristiwa panjang. Data peristiwa akan diabaikan. Kejadian ini dimaksudkan untuk menyimpan informasi komentar tentang aliran yang mungkin berguna untuk menulis program atau pengurut jika data aliran akan disimpan dalam file dalam format aliran. Dalam buffer data ini, byte nol mengidentifikasi kelas komentar dan byte berikutnya berisi data komentar.
MEVT_LONGMSG Peristiwa panjang. Data peristiwa dikirimkan verbatim. Data peristiwa diasumsikan sebagai data eksklusif sistem; artinya, status berjalan akan dibersihkan ketika peristiwa dijalankan dan menjalankan status dari peristiwa sebelumnya tidak akan diterapkan ke peristiwa saluran apa pun dalam data peristiwa. Menggunakan kejadian ini untuk mengirim sekelompok pesan saluran secara bersamaan tidak disarankan; satu set peristiwa MEVT_SHORTMSG dengan waktu delta nol harus digunakan sebagai gantinya.
MEVT_NOP Peristiwa singkat. Kejadian ini adalah tempat penampung; itu tidak melakukan apa-apa. 24 bit rendah diabaikan. Kejadian ini masih akan menghasilkan panggilan balik jika MEVT_F_CALLBACK diatur dalam dwEvent.
MEVT_SHORTMSG Peristiwa singkat. Data dalam dwEvent 24 bit rendah adalah pesan singkat MIDI. (Untuk deskripsi tentang bagaimana pesan singkat dikemas ke dalam nilai DWORD, lihat fungsi midiOutShortMsg.)
MEVT_TEMPO Peristiwa singkat. Data dalam dwEvent 24 bit rendah berisi tempo baru untuk peristiwa berikut. Tempo ditentukan dalam format yang sama seperti untuk tempo ubah meta-event dalam file MIDI — yaitu, dalam mikro detik per catatan kuartal. (Kejadian ini tidak akan berpengaruh jika format waktu yang ditentukan untuk aliran adalah waktu SMPTE.)
MEVT_VERSION Peristiwa panjang. Data peristiwa harus berisi struktur MIDISTRMBUFFVER.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header mmeapi.h (termasuk Windows.h)

Lihat juga

MEVT_EVENTPARM

MEVT_EVENTTYPE

Struktur MIDI

MIDISTRMBUFFVER

Antarmuka Digital Instrumen Musik (MIDI)

midiOutShortMsg