Differenze tra le versioni di "Alsa e Gambas: Accodamento di eventi"

Da Gambas-it.org - Wikipedia.
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
ALSA, per processare uno o più eventi, ha bisogno che sia creata una ''coda'' di eventi temporizzati. Come sappiamo, la temporizzazione degli eventi avviene mediante l'assegnazione per ciascun evento di una marcatura temporale: il ''Timestamp''. Una coda di eventi riceverà messaggi di temporizzazione, con i quali cercherà di adattare l'invio degli eventi Midi a questa temporizzazione.
+
#REDIRECT [[ALSA_e_Gambas_-_L'accodamento_degli_eventi]]
<BR>L'evento, temporizzato con il proprio valore ''timestamp'', viene innanzitutto inserito nella coda di priorità, ed indirizzato al proprio client di destinazione subito o successivamente a seconda di quanto stabilito dal ''timestamp''.
 
<P>Per creare una coda bisognerà utilizzare la funzione di ALSA: ''int snd_seq_alloc_queue(snd_seq_t * seq)''. Se la funzione ritorna un valore minore di zero, riporterà un errore. Questa funzione, come ormai ben sappiamo, andrà richiamata in Gambas con la consueta voce ''Extern''. Tenendo condo delle dichiarazioni assunte nel nostro codice nei capitoli iniziali di questa guida, scriveremo:
 
 
 
PRIVATE Extern snd_seq_alloc_queue(seq as pointer) As Integer
 
 
'''Public''' Sub alsa_open(myname As string)
 
 
......
 
err = snd_seq_alloc_queue(handle as pointer)
 
printerr("Creazione della coda", err)
 
IF err < 0 then error.Raise("Errore nella creazione di una coda")
 
outqueue = err
 

Versione attuale delle 17:34, 12 gen 2022