Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menyambungkan perangkat input MIDI langsung ke perangkat output MIDI sehingga ketika perangkat input menerima pesan MIM_DATA, sistem mengirim pesan dengan data peristiwa MIDI yang sama ke driver perangkat output. Untuk menyambungkan perangkat output MIDI ke perangkat input MIDI, gunakan fungsimidiConnect.
Untuk mencapai performa terbaik dengan beberapa output, aplikasi dapat memilih untuk menyediakan bentuk khusus driver output MIDI, yang disebut driver thru. Meskipun sistem hanya memungkinkan satu perangkat output MIDI untuk dihubungkan ke perangkat input MIDI, beberapa perangkat output MIDI dapat dihubungkan ke driver thru. Aplikasi pada sistem tersebut dapat menghubungkan perangkat input MIDI ke perangkat thru ini dan menghubungkan perangkat MIDI thru ke perangkat output MIDI sebanyak yang diperlukan. Untuk informasi selengkapnya tentang driver thru, lihat dokumentasi driver perangkat Windows.
Menggunakan Pesan untuk Mengelola Perekaman MIDI
Pesan berikut dapat dikirim ke jendela atau prosedur panggilan balik utas untuk mengelola perekaman MIDI.
Nilai | Arti |
---|---|
MM_MIM_CLOSE | Dikirim saat perangkat input MIDI ditutup dengan menggunakan fungsimidiInClose. |
MM_MIM_DATA | Dikirim saat pesan MIDI lengkap diterima. (Pesan ini digunakan untuk semua pesan MIDI kecuali pesan eksklusif sistem.) |
MM_MIM_ERROR | Dikirim ketika pesan MIDI tidak valid diterima. (Pesan ini digunakan untuk semua pesan MIDI kecuali pesan eksklusif sistem.) |
MM_MIM_LONGDATA | Dikirim ketika pesan eksklusif sistem MIDI lengkap diterima atau ketika buffer telah diisi dengan data eksklusif sistem. |
MM_MIM_LONGERROR | Dikirim ketika pesan eksklusif sistem MIDI tidak valid diterima. |
MM_MIM_MOREDATA | Dikirim ketika aplikasi tidak memproses pesan MIM_DATA cukup cepat untuk mengikuti driver perangkat input. |
MM_MIM_OPEN | Dikirim saat perangkat input MIDI dibuka dengan menggunakan fungsi midiInOpen. |
Parameter wParam dan parameter lParam dikaitkan dengan masing-masing pesan ini. Parameter wParam selalu menentukan handel perangkat MIDI terbuka. Parameter lParam tidak digunakan untuk pesan MM_MIM_CLOSE dan MM_MIM_OPEN.
Untuk pesan MM_MIM_LONGDATA, lpMidiHdr menentukan alamat strukturMIDIHDRyang mengidentifikasi buffer untuk pesan eksklusif sistem. Buffer mungkin tidak sepenuhnya terisi, karena ukuran pesan eksklusif sistem biasanya tidak diketahui sebelum direkam dan karena buffer yang ukuran totalnya dapat berisi pesan terbesar yang diharapkan harus dialokasikan. Untuk menentukan jumlah data valid yang ada di buffer, gunakan anggota dwBytesRecorded dari struktur MIDIHDR.
Menggunakan Fungsi Panggilan Balik untuk Mengelola Perekaman MIDI
Anda dapat menentukan fungsi panggilan balik Anda sendiri untuk mengelola perekaman untuk perangkat input MIDI. Fungsi panggilan balik didokumenkan sebagai MidiInProc.
Pesan berikut ini dapat dikirimkan ke parameter wMsg dari fungsi panggilan balik MidiInProc.
Nilai | Arti |
---|---|
MIM_CLOSE | Dikirim saat perangkat ditutup dengan menggunakan fungsimidiInClose. |
MIM_DATA | Dikirim saat pesan MIDI lengkap diterima (pesan ini digunakan untuk semua pesan MIDI kecuali pesan eksklusif sistem). |
MIM_ERROR | Dikirim ketika pesan MIDI yang tidak valid diterima (pesan ini digunakan untuk semua pesan MIDI kecuali pesan eksklusif sistem). |
MIM_LONGDATA | Dikirim ketika pesan eksklusif sistem MIDI lengkap diterima atau ketika buffer telah diisi dengan data eksklusif sistem. |
MIM_LONGERROR | Dikirim ketika pesan eksklusif sistem MIDI tidak valid diterima. |
MIM_MOREDATA | Dikirim ketika aplikasi tidak memproses pesan MIM_DATA dengan cukup cepat untuk menyamai kecepatan driver perangkat input. |
MIM_OPEN | Dikirim saat perangkat input MIDI dibuka dengan menggunakan fungsi midiInOpen. |
Pesan-pesan ini mirip dengan yang dikirim ke fungsi prosedur jendela, tetapi parameternya berbeda. Handle perangkat MIDI yang terbuka diteruskan sebagai parameter ke fungsi panggilan balik, bersama dengan doubleword data instans yang diteruskan dengan menggunakan midiInOpen.
Untuk pesan MIM_LONGDATA, lpMidiHdr menentukan alamat strukturMIDIHDRyang mengidentifikasi buffer untuk pesan eksklusif sistem. Buffer mungkin tidak sepenuhnya terisi. Untuk menentukan jumlah data valid yang ada di buffer, gunakan anggota dwBytesRecorded dari struktur MIDIHDR.
Setelah driver perangkat selesai dengan blok data, Anda dapat membersihkan dan membebaskan blok data.
Topik terkait