Jak na MIDI vstup ve VB express edition   otázka

VB.NET

Dobrý den, rád bych se naučil ve VB2008 Express Edition přijímat MIDI data. Zatím to nejlepší co jsem na toto téma našel je ukázkový projekt MIDI tester - http://www.btinternet.com/~jolinton/Joll...

Z tohoto kódu je výborně čitelné otevírání/zavírání MIDI portu a MIDI výstup, ale MIDI vstup pro mne zůstává Španělská ves. Příchozí MIDI událost (třeba zahraná nota na ext. klávesnici) vyvolá v hlavním formuláři událost. Konkrétně zobrazení čísla zahrané noty v textboxu. Nedaří se mně přijít na to jak celý proces funguje a ani z MSDN nejsem příliš moudrý. Pro MIDI výstup je srozumitelná API funkce midiOutShortMsg, ne tak pro MIDI vstup.

Dokázal by mně prosím někdo poradit jak tento proces MIDI příjmu funguje?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Upřesním či spíše změním a otočím svůj dotaz v prosbu. Příjem MIDI událostí je realizovaný zavedením Callback funkce a čím více se snažím porozumnět jak celá věc funguje tím víc je mně jasné, že pro začátečníka mého typu asi není jednoduché rady.

Proto bych se moc přimlouval v budoucnu za nějaký článek o Callback funkcích, o tom jak se realizují a jak fungují. A také o vysvětlení pojmu delegát. Ten je v této funkci použit a zřejmě souvisí s použitím callback funkce.

Pokud má někdo zkušenost se zpracováním dat z MIDI vstupu budu vděčný za jakékoliv nasměřování.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Kdysi jsem tohle řešil, ovšem příslušnou aplikačku nemůžu teď najít.

Callback spočívá v tom, že napíšete nějakou funkci a pak adresu té funkce předáte jako parametr jiné funkci (v tomto případě té APIně MidiInProc nebo jak se jmenuje) a ta v případě, že nastane nějaká událost (přijde signál z MIDI zařízení), provede callBack - zavolá tu funkci, kterou jste jí předal.

Jak dělat s MIDI je ukázáno třeba zde, stačí jen přeložit do VB.NET:

http://stackoverflow.com/questions/19911...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback