fluidInfo — Retrieves program information from currently loaded soundfont.
Plugin opcode in fluidOpcodes. This opcode is part of the plugin repository and has to be installed separately. The plugin repository can be found here: https://github.com/csound/plugins
Iterates through the current soundfont for program information. Information is passed to a string array.
SPrograms[] -- String array of program information
ienginenum -- engine number assigned from fluidEngine
Here is an example of the fluidInfo opcode. It uses the file fluidInfo.csd and sf_GMbank.sf2.
Example 343. Example of the fluidInfo opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out and realtime midi in </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 giengine fluidEngine isfnum fluidLoad "sf_GMbank.sf2", giengine, 1 instr 1 iCnt init 0 SSoundFontPrograms[] fluidInfo giengine iNumberOfPrograms lenarray SSoundFontPrograms until iCnt>=iNumberOfPrograms do printf_i "%s\n", 1, SSoundFontPrograms[iCnt] iCnt = iCnt+1 od endin </CsInstruments> <CsScore> i1 0 1 </CsScore> </CsoundSynthesizer>
More information on soundfonts is in the Floss Manuals: https://flossmanual.csound.com/midi/reading-midi-files
For other information on soundfonts look in the Wikipedia: http://en.wikipedia.org/wiki/Soundfont