Differenze tra le versioni di "Alsa e Gambas: L'evento Eco"

Da Gambas-it.org - Wikipedia.
(Nuova pagina: Nella progettazione del nostro sequencer può risultare utile verificare il punto di esecuzione dell'applicativo, come ad esempio conoscere quando il programma sta eseguendo degli even...)
 
 
(22 versioni intermedie di 8 utenti non mostrate)
Riga 1: Riga 1:
Nella progettazione del nostro sequencer può risultare utile verificare il punto di esecuzione dell'applicativo, come ad esempio conoscere quando il programma sta eseguendo degli eventi Midi. Per sapere ciò che in quel momento sta facendo il nostro client-sequencer, dobbiamo inviare un particolare tipo di evento: l'''Eco''.
+
#REDIRECT [[ALSA_e_Gambas_-_Inviarsi_una_Eco~_nel_futuro]]
<BR>Il sequencer riceve l'evento ''eco'' anch'esso temporizzato, e ce lo restituirà nel momento stabilito dal proprio ''timestamp''. Quando il programma ci ritorna l'''eco'', che noi abbiamo precedentemente inviato, siamo in grado di individuare il punto del processo in cui si trova il sequencer.
 
 
 
====Scrittura in Gambas====
 
 
 
Poiché l'''Eco'' è un evento come qualsiasi altro, e tale è definito e riconosciuto da ALSA, in Gambas lo invieremo utilizzando le medesime modalità (''Memory Stream'' oppure ''Strutture'') che noi conosciamo per inviare un qualsiasi tipo di evento. Avremo solo l'accortezza di indicare il sequencer stesso come destinatario dell'evento ''Eco''.
 
<P>Dunque, tenendo conto del modello di codice riportato agli inizi della nostra guida, scriveremo così:</p>
 
 
 
 
Const SND_SEQ_EVENT_ECHO = 50
 
 
'''Public''' Sub invioEco(timestamp As Integer)
 
 
prepareev(SND_SEQ_EVENT_ECHO, timestamp)
 
 
Seek #pStream, 16
 
  WRITE #pStream, 254 as Byte    <Font Color= #006400> ' ''Identificativo del destinatario.''</font>
 
 
  WRITE #pStream, 253 as Byte    <Font Color= #006400> ' ''Porta del destinatario.''</font>
 
 
'''End'''
 
 
 
L'evento ''Eco'' verrà, poi, intercettato come qualsiasi altro evento con le funzioni che già conosciamo per ricevere gli eventi Midi.
 

Versione attuale delle 17:39, 12 gen 2022