Autore Topic: remotare applicazione linux (via midi?)  (Letto 514 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
remotare applicazione linux (via midi?)
« il: 18 Settembre 2014, 00:17:35 »
Ciao ragazzi.
E' da molto che non ci si sente ma purtroppo sto' veramente sovraccarico di ***** ed il tempo dedicato allo sviluppo e' stato poo :D

L'ultima sfida e' stata quella di creare una regia video a costo 0 (ovviamente) e di qualita' broadcast (strano eh?), che possa essere gestita anche da persone con esperienza informatica e/o video di livello zero.

La scelta e' ricaduta su pc con debian7, 3 schede firewire di recupero, un paio di telecamere mini-dv rotte (che non registrano su nastro ma inviano il video sul connettore DV) e lo stupendo software DVSwitch (aliot e' il repository).

Pero' il pc NON deve essere nella sala della radio perche' senno' c'e' rumore e non c'e' neanche lo spazio per mettere pc/monitor/mouse e tastiera.
Soluzione: mettre il pc nella stanza a fianco e passare un device remoto per controllare il mixer.

Inizialmente pensavo ad un mousepad usb ma mi sono accorto che gambas non ha la possibilita' di gestire facilmente questi devices.
Informandomi un po' mi sono accorto che dvswitch puo' essere remotato via messaggi OSC (http://www.gareus.org/wiki/dvmctrl) ovvero via messaggi midi.

Volendo iniziare a "sprovarsi" un po' c'e' in giro quelche esempio/codice di gestione creazione ricezione di messaggi OSC/midi con gambas?

Vuott? .... posso sezionare i tuoi programs?

... ora vado a dormire e nel frattempo auguro a tutti bona notte :D

ciao,

Federico
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: remotare applicazione linux (via midi?)
« Risposta #1 il: 18 Settembre 2014, 11:55:25 »
Poiché la comunicazione avverrebbe fra due pc, credo che con il Midi sarebbe possibile solo attraverso l'uso di un'interfaccia Midi, scrivendo e leggendo così i dati per mezzo del file-device che ALSA creerebbe con la connessione di questa interfaccia con i pc.
Che San Midi ti protegga !


Un'altra soluzione, forse, potrebbe essere l'uso del sistema di Message Bus: D-Bus. Qui, però, Milio è un esperto indiscusso: lui potrebbe aiutarti.
Io qui lascio semplicemente solo qualche collegamento:
http://www.gambas-it.org/smf/index.php?topic=2753.msg29171#msg29171  (qui ci sono anche due sorgenti di Milio esemplificativi !)
http://www.gambas-it.org/smf/index.php?topic=2375.0


Comunque, sarebbe interessante se tu facessi uno studio sul trasferimento dei messaggi via OSC, ......poi anche scrivendo magari una pagina esplicativa nella nostra WIKI.  (Seeee...domani !)
« 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 allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: remotare applicazione linux (via midi?)
« Risposta #2 il: 20 Settembre 2014, 01:18:16 »
Grazie vuott.
dbus sarebbe la soluzione ... ma dovrei implementare un demone in ascolto in dswitch ... oppure nel generatore di messaggi OSC.
proverò a capire come inviare i messaggi OSC dalla mia applicazione di controllo.
Interfacciare i joystick e joypad (avevo scritto mousepad .. che fesso) con gambas è ancora dura eh?
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: remotare applicazione linux (via midi?)
« Risposta #3 il: 20 Settembre 2014, 01:33:07 »
Interfacciare i joystick e joypad (avevo scritto mousepad .. che fesso) con gambas è ancora dura eh?

....basterebbe studiarci sopra ! 
« 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 vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
« Ultima modifica: 20 Maggio 2021, 17:37:20 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 allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: remotare applicazione linux (via midi?)
« Risposta #5 il: 24 Novembre 2014, 18:35:53 »
nel primo esempio di codice e nell'ultimo post (che penso usi lo stesso codice), ottengo sempre un type mismatch (wanted integer got string instead) in questa riga:

Read #jsdev, stamp, 4 ' 4 bytes

.....

suppongo che la lettura di "file" sia un po' cambiata da gambas2 a gambas3 .....
« Ultima modifica: 24 Novembre 2014, 18:44:39 da allegfede »
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: remotare applicazione linux (via midi?)
« Risposta #6 il: 25 Novembre 2014, 01:01:54 »
nel primo esempio di codice e nell'ultimo post (che penso usi lo stesso codice), ottengo sempre un type mismatch (wanted integer got string instead) in questa riga:

Read #jsdev, stamp, 4 ' 4 bytes

In Gambas 3, se imponi il numero di byte da leggere, è inteso che attendi un valore di tipo Stringa.

La vecchia modalità è rimasta sostanzialmente nel metodo .Read() dei vettori, che consente di impostare appunto quanti valori del tipo contenuto dal vettore vuoi leggere.
Esempio:
Codice: gambas [Seleziona]

Public Sub Main()

  Dim fl As File
  Dim ii As Integer[]

   fl = Open "/percorso/del/file/da/leggere"   ' In questo caso non serve l'istruzione "For Read"

   With ii = New Integer[](4)
' Dunque leggiamo 4 integer (...ossia 16 byte !) dal file a partire dal primo byte:
     .Read(fl, 0, 4)
' Mostriamo (scriviamo) tutto quanto letto nello standard output:
     .Write(File.Out, 0, ii.count)
   End With

   fl.Close

End

« Ultima modifica: 25 Novembre 2014, 01:45:21 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. »