Autore Topic: Impossibile riaprire un file-device dopo averlo chiuso  (Letto 3170 volte)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Impossibile riaprire un file-device dopo averlo chiuso
« Risposta #15 il: 23 Marzo 2012, 13:43:56 »
Potrebbe essere...

L'istruzione in questione è utilizzata per la sola lettura del buffer in modalità binaria.
A prescindere da questo, e a dire la verità, non sò se c'è qualcosa che si incasina con la presenza di un timer. E' probabile che all'interno delle funzioni di Gambas, qualcosa funzioni utilizzando metodi articolati che vanno ad accavallarsi con le strutture dei timer. La cosa è alquanto strana ma, ripeto, non sono andato a spulciare nel codice sorgente, per cui tutto quello che dico potrebbe non essere valido.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Impossibile riaprire un file-device dopo averlo chiuso
« Risposta #16 il: 23 Marzo 2012, 13:54:41 »
Potrebbe essere...

L'istruzione in questione è utilizzata per la sola lettura del buffer in modalità binaria.

Scusami, lasciando perdere la curiosità di Timer, ed anzi al Timer in sé (poiché non ho alcuna intenzione di usare l'oggetto Timer), ma la prima parte della tua risposta era riferita al presunto problema della sollevazione dell'evento con Watch ? (mi riferisco alla parte del test senza Timer, ovviamente).
« 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 alcresio

  • Grande Gambero
  • ***
  • Post: 100
    • Mostra profilo
Re: Impossibile riaprire un file-device dopo averlo chiuso
« Risposta #17 il: 26 Marzo 2012, 00:38:01 »
non sono esperto di midi e di musica in generale, ma per monitorare un flusso  di dati con una pipe, potresti lanciare un exec  tail -f  tuo_stream | > pippo.tmp, poi con process_read potrai intercettare lo stream diretto alla pipe e farne cosa vuoi (in sola lettura, se ci devi scrivere dentro allora passo)
ora è tardi, se non mi sono spiegato bene porta pazienza... se hai bisogno, appena ho un briciolo di tempo ti faccio un sample... bye!

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Impossibile riaprire un file-device dopo averlo chiuso
« Risposta #18 il: 26 Marzo 2012, 01:14:42 »
non sono esperto di midi e di musica in generale, ma per monitorare un flusso  di dati con una pipe, potresti lanciare
Ti ringrazio, alcresio, per il tuo intervento.
Qui, però, il problema non è tanto nella ricezione dei dati, poiché - aggiungendo anche il tuo suggerimento - le modalità sono davvero molte. Del resto il problema della pipe si è posto in maniera aggiuntiva ed incidentale.
La questione irrisolta :-\ è quella di cui al titolo di questa discussione aperta. E' probabile un problema con Watch ! E se è così, non è da escludersi che la cosa vada oltre il file-device dei dispositivi esterni Midi, e che l'emergere di tale questione possa valere anche per altri file-device.
« Ultima modifica: 26 Marzo 2012, 01:27:04 da 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 alcresio

  • Grande Gambero
  • ***
  • Post: 100
    • Mostra profilo
Re: Impossibile riaprire un file-device dopo averlo chiuso
« Risposta #19 il: 27 Marzo 2012, 02:18:58 »
non sono esperto di midi e di musica in generale, ma per monitorare un flusso  di dati con una pipe, potresti lanciare
Ti ringrazio, alcresio, per il tuo intervento.
Qui, però, il problema non è tanto nella ricezione dei dati, poiché - aggiungendo anche il tuo suggerimento - le modalità sono davvero molte. Del resto il problema della pipe si è posto in maniera aggiuntiva ed incidentale.
La questione irrisolta :-\ è quella di cui al titolo di questa discussione aperta. E' probabile un problema con Watch ! E se è così, non è da escludersi che la cosa vada oltre il file-device dei dispositivi esterni Midi, e che l'emergere di tale questione possa valere anche per altri file-device.

Potresti allegare la porzione di codice che ti da il problema così che possa provarla e vedere di trovare una soluzione?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Impossibile riaprire un file-device dopo averlo chiuso
« Risposta #20 il: 27 Marzo 2012, 05:14:09 »
Potresti allegare la porzione di codice che ti da il problema così che possa provarla e vedere di trovare una soluzione?
Ti ringrazio per il tuo intervento.

Per quanto riguarda il codice, puoi facilmente copiare quello che ho scritto nel primo messaggio sopra, all'inizio.

Poi devi solo fare due cose:
1) Inserire un ToggleButton sul form;
2) cambiare la riga:  fd = Open "/dev/file-device_da_aprire" For Read Watch   con quest'altra:
Codice: gambas [Seleziona]

fd = OPEN "/dev/snd/midiC2D0" For Read Watch


Per testare il codice, però, ovviamente dovrai avere a disposizione un dispositivo Midi esterno (ad esempio una tastiera con uscita Midi). Ricorda di collegare la tastiera Midi dopo aver avviato il sistema operativo, e prima di lanciare il codice.
« Ultima modifica: 27 Marzo 2012, 05:16:00 da 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. »