Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - genex2000

Pagine: [1]
1
Programmazione / Re:Gambas3 e MIDI Sysex con Fluidsynth
« il: 25 Agosto 2017, 17:44:56 »
...amico mio...perdiamo solo tempo......Fluidsynth processa solo Sysex di tipo MIDI Tuning Standard..... :'( :'(....
..dalla 1.1.0....
Citazione
SYSEX support (MIDI Tuning Standard only at the moment).

 >:(

Devo trovare un altra strada.....

2
Programmazione / Re:Gambas3 e MIDI Sysex con Fluidsynth
« il: 24 Agosto 2017, 21:55:48 »
 :rotfl:  ....questa di San Midi Benedetto è forte....

Cmq, ecco il codice ( premetto....array di string o bytes non cambia nulla)

Private sysex As String[] = [&H7F, &H7F, &H04, &H01, 0, 0] 
' è un banalissimo Master Volume settato a 0 ( almeno dovrebbe)
preso da qui :
https://github.com/ahlstromcj/midicvt/blob/master/contrib/sysex-format.txt

...
e nella Sub relativa...
 Dim d As Integer
 d = fluid_synth_sysex(synth, VarPtr(sysex), sysex.Length, Null, 0, 0, 1)

d mi ritorna FLUID_OK  (0) ma non succede niente....

Mi sa che oltre a San Midi serve anche San Remo......LOL

3
Programmazione / Re:Gambas3 e MIDI Sysex con Fluidsynth
« il: 24 Agosto 2017, 18:14:00 »
E' quello che sto facendo....ci sto sbattendo la testa come al solito in tutto quello che faccio...io vengo dal mondo VB.NET (e ci sono ancora...)
Il bello è che come int di ritorno mi da FLUID_OK cioè come se il sysex se lo prendesse, ma anche con i più elementari (tipo MASTER VOLUME) non va.
Ma che forse (da quello che ho letton in giro) Fluidsynth da sysex accetta solo MIDI tuning sysex ?
O che sia una questione di Device ID errato (dovrebbe essere &H7D come non commercial device ID) ?

Cmq c'è anche un'altra strada da percorrere.....tutta da esplorare...dal wiki libfluidsynth

Citazione
Creating a Real-time MIDI Driver
FluidSynth can process real-time MIDI events received from hardware MIDI ports or other applications. To do so, the client must create a MIDI input driver. It is a very similar process to the creation of the audio driver: you initialize some properties in a settings instance and call the new_fluid_midi_driver() function providing a callback function that will be invoked when a MIDI event is received. ..
:-\

Farotti sapere...... :D



4
Programmazione / Re:Gambas3 e MIDI Sysex con Fluidsynth
« il: 24 Agosto 2017, 15:35:47 »
Citazione
Torno su questa tua perplessità.

Innanzitutto la domanda è:
tu sai - al di là dei dati che dovrai passare - come passare i dati (il "pacchetto" sysex) attraverso quel 2° parametro ?
Voglio dire: "quale" risorsa di Gambas utilizzare e soprattutto "come" ?

Si, la chiamata è questa:
Private Extern fluid_synth_sysex(synth As Pointer, data As Pointer, len As Integer, response As Pointer, response_len As Pointer, handled As Pointer, dryrun As Integer) As Integer

response e response_len non sono significativi al momento
mentre data è il puntatore ad un array di integer e len è la lunghezza del  pacchetto sysex.
Per handled e dryrun non mi è tanto chiaro quali valori passare.
Poi, per il sysex secondo te come primo byte devo mettere o no &H7F come realtime sysex ? Boh
 Per il volume ho risolto, c'è il Midi CC &H07

Citazione
Riguardo al "pacchetto" un esempio è nella pagina che ti ho segnalato:
http://midi.teragonaudio.com/tech/midispec/mastrvol.htm
alla quale aggiungerei quest'altra anche:
https://www.midi.org/specifications/item/table-4-universal-system-exclusive-messages

Delle 7 parti, costituenti il Messaggio sysex, la 4° e la 5° individuano il messaggio di Master Volume. La 6° parte, composta a sua volta da due byte, definisce i valori specifici del Master Volume.
In particolare, di questi due byte (16 bit) possono essere utilizzati, ai fini della definizione del valore del Master Volume, soltanto 14 bit. Pertanto l'ambitus dei valori assegnabili al messaggio sysex di Master Volume va da un minimo di zero (0x0000) ad un massimo di 16383 (0x3FFF).

Ricorda che la guida alla funzione " fluid_synth_sysex( ) " dice che " (not including 0xF0 and 0xF7) " ...devi omettere nel "pacchetto" il byte di inizio e quello di fine del messaggio di sysex.
Ovviamente. Ma è la struttura del pacchetto che non mi è ancora chiara.....

Citazione
Ho trovato queste pagine:
https://stackoverflow.com/questions/26394515/how-to-create-midi-sysex-master-volume-message-from-volume-level
https://www.midi.org/forum/668-change-midi-keyboard-master-volume-programmatically
http://www.recordingblogs.com/sa/Wiki/topic/MIDI-Master-Volume-message
https://www.karma-lab.com/forum/showthread.php?t=15608
http://www.casiomusicforums.com/index.php?/topic/6156-has-anyone-got-master-volume-controlled-by-midi/
http://www.bandtrax.com.au/sysex.htm
https://github.com/ahlstromcj/midicvt/blob/master/contrib/sysex-format.txt
http://forums.rolandclan.com/viewtopic.php?f=54&t=47933#p274653
...per tutti questi links devo chiedere il divorzio a mia moglie visto che sono ancora in vacanza....LOL ... cmq con calma me li guardo tutti


5
Programmazione / Re:Gambas3 e MIDI Sysex con Fluidsynth
« il: 23 Agosto 2017, 13:58:33 »
 ;D grande vuott...
Citazione
.SAN MIDI ? LOL
Cmq, per il mute/unmute di una singola traccia come ti dicevo, ho risolto in parte e per adesso va bene così.

Citazione

E' San Midi che ti manda !   
Sempre sia benedetto il Suo nome !
 sanmidi

LOL....


Citazione
Se vorrai, potrai inserire il suo codice sorgente nella Sezione "Progetti degli Utenti" qui del forum.
Io ne ho fatto uno tempo fa con le funzioni esterne di ALSA. Non so se hai avuto modo di vederlo.
Hai, inoltre, visto le pagine dedicate al rapporto Gambas e Midi della nostra wiki ?
http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Gestione_dei_dati_MIDI_e_dei_file_.mid

Sicuramente lo scarico e me lo guardo appena posso.

Citazione
Ma... invece tu vorresti silenziare tutti i canali e non solo uno ?
 

No, solo uno o + canali.
Cmq dove sono un po bloccato è sui sysex, non mi è chiara la sintassi e cosa passare.
Se devo inserire nel pacchetto del sysex anche la funzione realtime &H7F e quale parametro passare


Citazione
[size=0px]mi sembrano particolarmente rilevanti ai tuoi fini il secondo ed il terzo parametro.[/size][size=0px]Il secondo parametro è un Puntatore ad un'area riservata di memoria, nella quale tu hai scritto tutti i valori nel messaggio sysex, esclusi il primo F0 e quello di fine F7.Il terzo parametro più semplicemente indica con un Intero la quantità di dati sysex passati mediante il 2° parametro.
[/size]
Citazione

il terzo parametro dovrebbe essere un puntatore all'array di integer


Cmq per gli sviluppi, Ti (vi) tengo aggiornati

 :ok:

6
Programmazione / Re:Gambas3 e MIDI Sysex con Fluidsynth
« il: 22 Agosto 2017, 22:59:54 »
Beh, Senatore...la "mosca bianca" lo considero come un complimento....LOL e comunque mi ha sempre intrigato la gestione MIDI.
Ti ringrazio per il link fornitomi e (rete permettendo visto che sono in vacanza al mare)  a titolo informativo, la prima parte (ovvero la gestione del volume/mute/unmute) l'ho risolta con il CC 07 ovvero
:
Private Extern fluid_synth_cc(synth As Pointer, chan As Integer, ctrl As Integer, ival As Integer) As Integer

dove :synth è l'handler
ctr = &H07
chan è il canale-1
e iVal il valore da impostare

l'unica cosa che potrebbe accadere è che da flusso MIDI si ha una modifica del parametro Volume per quel determinato canale, quindi il CC diviene di fatto "inutile".

Per il sysex relativo al traspose, sono un po imballato....cmq mi vedo tutti link che mi hai postato....e farò sapere.

Poi se interessa a qualcuno, appena pronto , stavo lavorando ad un midi player con Gambas..
Nel frattempo Ti ringrazio e ringrazio anche chi solo semplicemente ha letto il mio post.
Genex

7
Programmazione / Gambas3 e MIDI Sysex con Fluidsynth
« il: 22 Agosto 2017, 14:48:57 »
Salve a tutti,
sto lavorando con libfluidsynth e Gambas e la cosa funziona piuttosto bene, avrei solo un problema :
qualcuno conosce i messaggi MIDI Sysex per il volume/mute/unmute di un canale e il sysex per il traspose ?
Nella documentazione di libfluidsynth c'è la chiamata alla funzione per l'invio dei sysex, ma non è molto chiaro quali sono gestiti e come inviarli.
Qualcuno che ha già utilizzato libfluidsynt  + gambas3 + sysex può darmi una dritta ?
Grazie a tutti
Genex

Pagine: [1]