Da Gambas-it.org - Wikipedia.
|
|
(37 versioni intermedie di uno stesso utente non sono mostrate) |
Riga 1: |
Riga 1: |
− | Procederemo, ora, a mostrare un secondo metodo, che fa uso di una ''pipe'' da un programma esterno, scritto in linguaggio C, con il quale evitare ogni possibile evidente latenza. Questa soluzione è allo stato attuale l'unico modo corretto di inserire nel ''message loop'' i messaggi Midi che ci interessano.
| + | #REDIRECT [[Alsa_e_Gambas:_Ricezione_dei_dati_Midi_con_un_programma_esterno_di_supporto]] |
− | <BR>Tale soluzione si rende necessaria, poiché con ALSA il meccanismo usato solitamente è di controllare gli eventi dal ''device'' Midi nel ''Main Message Loop'', basato sulle funzioni ''poll()'' e ''select()''. ALSA, però, non viene letto come se fosse un ''file'', e quindi uno ''stream'' di Gambas non è in grado di sollevare un evento, tipo ''stream_Read()'', usando la funzione ''poll()'' che in breve ci dice se c'è qualche dato da leggere. I descrittori dei file, dunque, sono ottenuti da ALSA, e successivamente viene utilizzata la chiamata alla funzione ''poll()'' per vedere se c'è quealcosa da leggere: più precisamente si chiede al sistema di controllare tutti i ''file descriptors''.
| |
− | <P>Ad ogni modo, purtroppo, tale procedura non è possibile integrarla nell'''event loop'' di Gambas.</p>
| |
− | | |
− | | |
− | < '''Pagina in costruzione''' >
| |
Versione attuale delle 17:45, 11 gen 2022