Differenze tra le versioni di "Alsa e Gambas: Ricezione con un programma esterno di supporto"

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