Autore Topic: Passaggio di dati numerici fra due programmi (non musicali) tramite Alsa  (Letto 689 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Riprendo qui un mio precedente intervento in altra discussione:
http://www.gambas-it.org/smf/index.php?topic=2072.msg24286#msg24286

riconfermando che uno dei modi possibili per effettuare il passaggio di dati fra due o più programmi Gambas è quello di servirsi del sistema Alsa.
Alsa, essendo un sistema con funzioni universali, può dunque permettere anche lo scambio di dati fra programmi scritti in linguaggi diversi (ad esempio fra un programma scritto in C ed un programma scritto in Gambas).

La strategia è quella, per esempio, di servirsi della procedura per l'invio e la ricezione fra i "Client" di Alsa dei dati Midi. L'uso di detta strategia per l'invio nel nostro caso di dati generici è possibile in quanto Alsa accetta valori numerici. Va sottolineato che potranno essere inviati tramite Alsa soltanto valori di tipo numerico. Poiché, però, è possibile ovviamente l'invio di una quantità indefinita di eventi, contenenti nostri valori numerici, e poiché questi, come è noto, una volta ricevuti possono essere trasformati in caratteri secondo il protocollo ASCII con la funzione chr( ), sarà possibile al termine dell'intera procedura ottenere indirettamente anche delle stringhe di caratteri.

Come ho accennato nel mio intevento, sopra indicato, ho fatto delle prove che hanno avuto il risultato positivo che - tra l'altro - mi aspettavo. Vorrei condividere con voi questo esperimento allegando qui due semplicissimi programmini, chiamati: Programma_1 e Programma_2.
Scopo del test è quello appunto di provare la trasmissione di dati fa due applicativi Gambas tramite la loro connessione, in qualità di Client, ad Alsa. L'esperimento consiste nell'inviare da parte del Programma_1 il valore numerico: 9999 all'altro programma Gambas, Programma_2, il quale poi lo sommerà ad un'unità e lo rispedirà al Programma_1, che a sua volta mostrerà il nuovo valore sul proprio form in una TextLabel.
Ricordare di lanciare prima il Programma_1, e solo dopo lanciare il Programma_2, assicurandosi che non siano stati già comunque lanciati altri applicativi Client di Alsa (Softsynth, Sequencer, programmi audio, etc).

Questo argomento è più dettagliatamente trattato nella nostra WIKI:
http://www.gambas-it.org/wiki/index.php?title=Usare_ALSA_per_far_comunicare_due_o_pi%C3%B9_programmi_Gambas
« Ultima modifica: 24 Giugno 2016, 09:42:40 da Gianluigi »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
A questo punto mi aspettavo di vedere una rappresentazione di San Midi che illumina con la sua luce il discepolo Vuott, intento a far dialogare due eretici tramite alsa....

 :ok:
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Infatti... forse non ha trovato il santino adatto...  :rotfl:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
A questo punto mi aspettavo di vedere una rappresentazione di San Midi che illumina con la sua luce il discepolo Vuott
 :ok:

Potete ammirare una rarissima immagine di San Midi, tratta dal codice medioevale chiamato "Codex midianus", che raffigura il Santo nell'atto di insegnare i principi del protocollo Midi a due discepoli, uno dei quali è Vuott.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
 :ok:
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
 ;D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Ad ogni modo, segnalo - per chi vuole fare una prova circa l'argomento principale - anche questi due applicativi. In questo caso sono programmi musicali per la gestione Midi, ma che effettuano appunto fra loro molteplici scambi di dati mediante il sistema Alsa:
http://www.gambas-it.org/smf/index.php?topic=2237.0
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »