head 1.5; access; symbols pkgsrc-2019Q3:1.4.0.60 pkgsrc-2019Q3-base:1.4 pkgsrc-2019Q2:1.4.0.58 pkgsrc-2019Q2-base:1.4 pkgsrc-2019Q1:1.4.0.56 pkgsrc-2019Q1-base:1.4 pkgsrc-2018Q4:1.4.0.54 pkgsrc-2018Q4-base:1.4 pkgsrc-2018Q3:1.4.0.52 pkgsrc-2018Q3-base:1.4 pkgsrc-2018Q2:1.4.0.50 pkgsrc-2018Q2-base:1.4 pkgsrc-2018Q1:1.4.0.48 pkgsrc-2018Q1-base:1.4 pkgsrc-2017Q4:1.4.0.46 pkgsrc-2017Q4-base:1.4 pkgsrc-2017Q3:1.4.0.44 pkgsrc-2017Q3-base:1.4 pkgsrc-2017Q2:1.4.0.40 pkgsrc-2017Q2-base:1.4 pkgsrc-2017Q1:1.4.0.38 pkgsrc-2017Q1-base:1.4 pkgsrc-2016Q4:1.4.0.36 pkgsrc-2016Q4-base:1.4 pkgsrc-2016Q3:1.4.0.34 pkgsrc-2016Q3-base:1.4 pkgsrc-2016Q2:1.4.0.32 pkgsrc-2016Q2-base:1.4 pkgsrc-2016Q1:1.4.0.30 pkgsrc-2016Q1-base:1.4 pkgsrc-2015Q4:1.4.0.28 pkgsrc-2015Q4-base:1.4 pkgsrc-2015Q3:1.4.0.26 pkgsrc-2015Q3-base:1.4 pkgsrc-2015Q2:1.4.0.24 pkgsrc-2015Q2-base:1.4 pkgsrc-2015Q1:1.4.0.22 pkgsrc-2015Q1-base:1.4 pkgsrc-2014Q4:1.4.0.20 pkgsrc-2014Q4-base:1.4 pkgsrc-2014Q3:1.4.0.18 pkgsrc-2014Q3-base:1.4 pkgsrc-2014Q2:1.4.0.16 pkgsrc-2014Q2-base:1.4 pkgsrc-2014Q1:1.4.0.14 pkgsrc-2014Q1-base:1.4 pkgsrc-2013Q4:1.4.0.12 pkgsrc-2013Q4-base:1.4 pkgsrc-2013Q3:1.4.0.10 pkgsrc-2013Q3-base:1.4 pkgsrc-2013Q2:1.4.0.8 pkgsrc-2013Q2-base:1.4 pkgsrc-2013Q1:1.4.0.6 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.4.0.4 pkgsrc-2012Q4-base:1.4 pkgsrc-2012Q3:1.4.0.2 pkgsrc-2012Q3-base:1.4 pkgsrc-2012Q2:1.3.0.4 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.2 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.2.0.38 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.36 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.34 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.32 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.30 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.28 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.26 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.24 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.22 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.20 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.18 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.16 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.14 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.12 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.10 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.8 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.6 pkgsrc-2008Q1:1.2.0.4 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.2 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.1.1.1.0.20 pkgsrc-2007Q3-base:1.1.1.1 pkgsrc-2007Q2:1.1.1.1.0.18 pkgsrc-2007Q2-base:1.1.1.1 pkgsrc-2007Q1:1.1.1.1.0.16 pkgsrc-2007Q1-base:1.1.1.1 pkgsrc-2006Q4:1.1.1.1.0.14 pkgsrc-2006Q4-base:1.1.1.1 pkgsrc-2006Q3:1.1.1.1.0.12 pkgsrc-2006Q3-base:1.1.1.1 pkgsrc-2006Q2:1.1.1.1.0.10 pkgsrc-2006Q2-base:1.1.1.1 pkgsrc-2006Q1:1.1.1.1.0.8 pkgsrc-2006Q1-base:1.1.1.1 pkgsrc-2005Q4:1.1.1.1.0.6 pkgsrc-2005Q4-base:1.1.1.1 pkgsrc-2005Q3:1.1.1.1.0.4 pkgsrc-2005Q3-base:1.1.1.1 pkgsrc-2005Q2:1.1.1.1.0.2 pkgsrc-2005Q2-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.5 date 2019.10.06.17.29.33; author nia; state dead; branches; next 1.4; commitid qBM8IDFJB1gDzPFB; 1.4 date 2012.08.24.06.35.20; author marino; state Exp; branches; next 1.3; 1.3 date 2012.01.28.13.15.32; author wiz; state Exp; branches; next 1.2; 1.2 date 2007.12.16.15.18.29; author adam; state Exp; branches; next 1.1; 1.1 date 2005.04.25.13.53.37; author adam; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.04.25.13.53.37; author adam; state Exp; branches; next ; desc @@ 1.5 log @fluidsynth: Update to 2.0.7 Switched to github for upstream, build system now uses cmake. Changes in major release 2.0.0: New Features implement polyphonic key pressure (#185, thanks to @@mawe42) add API for manipulating default modulators (#265, #164, #71, thanks to @@mawe42) add midi.autoconnect setting for automatically connecting fluidsynth with available MIDI Input ports (currently only for alsa_seq thanks to @@tomcucinotta) add seek support to midi-player (#261, thanks to @@loki666) add support for text and lyrics midi events (#111) add support for 24 bit sample soundfonts (#301, #329) consider "important midi channels" during overflow calculation synth.overflow.important-channels (#294, thanks to @@mawe42) add a custom default modulator for MIDI CC8 to support proper stereo balance (#317, thanks to @@mawe42) add support for an additional custom high-pass filter (#331, thanks to @@mawe42) incorporate JJC's polymono patch (#306, #236, #158) add basic channel support implement MIDI modes Omni On, Omni Off, Poly, Mono implement portamento control implement legato control implement breath control add support soundfont loading from memory (#241) add a profiling command interface (#345, thanks to @@jjceresa) add support on demand sample loading (#366, thanks to @@mawe42) add reverb and chorus settings (#49) allow using the midi router to manipulate midi files when playing from command line fluid_synth_process() received a new proper implementation synth.effects-groups allows to render effects of all MIDI channels to separate audio channels General CMake 3.1.0 or later is required for building consider channel pressure, key pressure and pitch wheel for lower attenuation boundary calculation (#163, thanks to @@mawe42) complete rewrite of the LADSPA subsystem (#227, #235, thanks to @@mawe42) complete rewrite of the Soundfont Loader API (#334, #309) avoid reverb amplitude growing exponentially (#279, thanks to @@jjceresa) removed deprecated autotools build system a minimal build of fluidsynth without requiring pkg-config is supported remove deprecated LADCCA support use unique device names for the audio.portaudio.device setting (#284, thanks to @@jjceresa) documentation of the settings moved to http://www.fluidsynth.org/api/fluidsettings.xml adjust MIDI Pan and Balance calculations as outlined by MIDI Recommended Practice (RP-036) (#317, thanks to @@mawe42) make network support compile-time optional (#307, thanks to @@carlo-bramini) speed up calculation of chorus modulation waveforms for devices without FPU (#321, thanks to @@carlo-bramini) cleanup internal audio rendering and mixing engine (#197) reduce memory consumption of loaded soundfonts (#370, thanks to @@mawe42) @ text @$NetBSD: patch-aa,v 1.4 2012/08/24 06:35:20 marino Exp $ --- src/drivers/fluid_oss.c.orig 2012-08-16 04:01:13.000000000 +0000 +++ src/drivers/fluid_oss.c @@@@ -42,10 +42,16 @@@@ #include #include +#ifdef __NetBSD__ +#define DEVOSSMIDI "/dev/rmidi0" +#else +#define DEVOSSMIDI "/dev/midi" +#endif + #define BUFFER_LENGTH 512 // Build issue on some systems (OSS 4.0)? -#ifdef SNDCTL_DSP_CHANNELS +#if defined (SNDCTL_DSP_CHANNELS) && !defined (SOUND_PCM_WRITE_CHANNELS) #define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS #endif @@@@ -101,7 +107,7 @@@@ static void fluid_oss_midi_run(void* d); void fluid_oss_audio_driver_settings(fluid_settings_t* settings) { - fluid_settings_register_str(settings, "audio.oss.device", "/dev/dsp", 0, NULL, NULL); + fluid_settings_register_str(settings, "audio.oss.device", DEVOSSAUDIO, 0, NULL, NULL); } /* @@@@ -164,7 +170,7 @@@@ new_fluid_oss_audio_driver(fluid_setting } if (!fluid_settings_dupstr(settings, "audio.oss.device", &devname) || !devname) { /* ++ alloc device name */ - devname = FLUID_STRDUP ("/dev/dsp"); + devname = FLUID_STRDUP (DEVOSSAUDIO); if (devname == NULL) { FLUID_LOG(FLUID_ERR, "Out of memory"); @@@@ -278,7 +284,7 @@@@ new_fluid_oss_audio_driver2(fluid_settin if (!fluid_settings_dupstr(settings, "audio.oss.device", &devname) || !devname) { - devname = FLUID_STRDUP ("/dev/dsp"); + devname = FLUID_STRDUP (DEVOSSAUDIO); if (!devname) { @@@@ -503,7 +509,7 @@@@ fluid_oss_audio_run2(void* d) void fluid_oss_midi_driver_settings(fluid_settings_t* settings) { - fluid_settings_register_str(settings, "midi.oss.device", "/dev/midi", 0, NULL, NULL); + fluid_settings_register_str(settings, "midi.oss.device", DEVOSSMIDI, 0, NULL, NULL); } /* @@@@ -546,7 +552,7 @@@@ new_fluid_oss_midi_driver(fluid_settings fluid_settings_dupstr(settings, "midi.oss.device", &device); /* ++ alloc device name */ if (device == NULL) { - device = FLUID_STRDUP ("/dev/midi"); + device = FLUID_STRDUP (DEVOSSMIDI); if (!device) { @ 1.4 log @audio/fluidsynth: Fix DragonFly regression with v1.1.6 Fluidsynth was redefining a properly-defined macro to null based on an apparently flawed assumption. Add a condition to check if the macro is defined before redefining. This modified patch may fix more than just DragonFly. @ text @d1 1 a1 1 $NetBSD$ @ 1.3 log @Update to 1.1.5. pkgsrc: Not switched to cmake, no libaudiofile dependency. 1.1.5: * Autotools build resulted in the wrong version number for libfluidsynth.so (reported by plcl, Takashi Iwai) * One symbol was dropped from libfluidsynth.so - this symbol was not part of the public API though. (reported by Alessio Treglia) * Windows 64 bit: Wrong prototype declaration for MIDI (reported by Graham Goode) * JACK: Using jack_free instead of free when needed. Note that this might require a later version of JACK than previously. (reported by Graham Goode) * Update Free Software Foundation address (reported by ogetbilo) 1.1.4: * Several improvements and fixes to the CMake build system, especially for Mac OS X * Several bug fixes to the engine, notably quite a few which could cause FluidSynth to sound bad in some cases. * API additions, that make it possible to * load MIDI files from memory * to inspect/modify MIDI events as they are being played from a MIDI file * to change channels between melodic and drum mode * and to silence all notes in one command. * Improvements to the CoreAudio driver 1.1.3: * Compilation with LADSPA enabled was broken in 1.1.2 - fixed (plcl, diwic) * Multichannel output broken when double precision was used - fixed (plcl, diwic) * Doxygen settings (plcl) * Mac OS X build system fixes (plcl, Benjamin Reed, Jean-Franc,ois Mertens) * Fix build problem with scummvm (Alexander Hansen, Ebrahim Mayat) * Optimize by not starting unused threads with multicore rendering (diwic) * Window handle creation/destruction in Windows dll version (Andy Fillebrown) * Race condition in alsa_seq / alsa_raw drivers caused them not to quit (diwic) 1.1.2: Big changes: * New CMake build system [plcl] * Winbuild and Macbuild directories dropped * Autotools build system is deprecated, but is still working * Rewriting of thread safety [diwic] * Two new settings control the thread safety mode. The default is to be backwards compatible. Smaller changes: * Voice overflow settings [diwic] * Possible to update polyphony, up to 65536 (and beyond initial setting) [diwic] * Possible to update sample rate (jack driver updates sample rate correctly) [diwic] * MIDI Bank Select handling fixed [plcl] * Source files moved into different subdirectories [diwic] * Can use RealTimeKit (on Linux) to get real-time priority [diwic] * Shell commands for pitch bend and pitch bend range [monk] * PulseAudio driver: specify media role, and allow pulseaudio to adjust latency [diwic] * Bug fixes [diwic, plcl, KO Myung hun, Felix Krause, laurent, nshepperd] 1.1.1: Bug fixes * Recommit fix for voice stealing algorithm (David Henningsson) * Update deltatime on midi file load, ticket #59 (David Henningsson and Josh Green, reported by Hans Petter Selasky) * Build fix on OS X 10.4 (David Fang and Ebrahim Mayat) * Fixed most asynchronous assignment/query regressions affecting QSynth (chorus, reverb, polyphony, MIDI CCs and presets) (Josh Green, reports and testing by Rui Nuno Capela) * Reverted queuing of chorus and reverb assignments which fixes real-time performance issues when changing values (Josh Green) * Fixed issue with audio thread changes affecting CoreAudio on OS X (Josh Green, reported by Ebrahim Mayat) * Improved SMP safety with CC MIDI controls, polyphony, modulators and synth gain (Josh Green) * Fixed crash bugs in fluid_timer functions (Josh Green) * Reverted char * -> const char * changes to function prototypes (Josh Green, reported by Rui Nuno Capela) * Fixed TCP server build issue where WITHOUT_SERVER was still being set on win32 (Josh Green) * Fixed crash when Jack driver was re-created (Josh Green) * Fixed unknown macro warning in FluidSynth man page (David Henningsson) Misc * Return queue process is now a thread instead of a timer and more responsive (Josh Green) * Added missing dist files in doc/ (Josh Green) * Updated README-OSX (Ebrahim Mayat) 1.1.0: Features and improvements * Extensive work on making FluidSynth more thread safe, resulting in better stability. * Audio file rendering for MIDI to audio file conversion, faster than realtime (#15). * Optional libsndfile support for file rendering in different audio file formats (wav, flac, ogg vorbis, etc) (#30). * Audio and MIDI are synchronized for MIDI file playback. * Server can be specified for Jack audio and MIDI drivers. * Jack audio and MIDI is now synchronized (when same Jack server used). * MIDI file playback is now timed correctly, even with large audio buffer sizes. * Fixed issue with missing percussion in MIDI files caused by very short notes, using synth.min-note-length setting (#1). * Improved support for MIDI tuning standard, including SYSEX support and realtime tuning activation. * Multi-core support for utilizing multiple CPUs for synthesis or increasing speed of file rendering. * Voices for a note-on event are started synchronously (#46). * TCP/IP shell server support for windows (#20). * Improved settings output (-o help) (alphabetically sorted and string options listed). * Audio driver (-a) and MIDI driver (-m) options now accept "help" and list available options (#41). * Added audio.realtime-prio and midi.realtime-prio for controlling realtime scheduling of some audio and MIDI drivers. * Default priority levels of audio and MIDI threads set to 60 and 50 respectively. * All yes/no string boolean settings converted to integer toggle settings (with backwards compatibility). * glib is now a required dependency. * Updated README-OSX * Added "voice_count" shell command for getting current number of active voices. New command line options * -F, --fast-render=[file] * -T, --audio-file-type * -O, --audio-file-format * -E, --audio-file-endian New or changed parameters * Audio file output settings: audio.file.endian, audio.file.format, audio.file.name, audio.file.type, audio.sample-format * Realtime scheduling settings: audio.realtime-prio, midi.realtime-prio * Jack settings: audio.jack.server and midi.jack.server * Other settings: player.reset-synth, player.timing-source, synth.cpu-cores (experimental), synth.min-note-length Bug fixes and minor changes * Fixed enabling of high priority scheduling in many audio drivers. * Fixed bank selection logic * Build fixes for mingw and VC++ builds on Windows * Fix default values (after MIDI reset) to be more consistent with MIDI spec (#29). * Removed VintageDreamsWaves?-v2.sf2 since it wasn't under a free license. * Solaris build fix (#52) * Implemented fluid_player_set_loop (#33) * Fixed scaletune error (#26) * Fixed synth reset between songs (#31) * Fixed pitch bend error in Windows MIDI driver (#54) * Skip remaining track data in MIDI file after EOT (#53) * Bug fix in MIDI router where mutex was left locked with MIDI system reset message. * Help command now shows list of topics instead of General help. * Fixed non-blocking in alsa_raw, alsa_seq and OSS MIDI drivers. * Fixed segfault on config file load (#45). @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.2 2007/12/16 15:18:29 adam Exp $ d3 1 a3 1 --- src/drivers/fluid_oss.c.orig 2011-09-04 07:38:58.000000000 +0000 d5 1 a5 1 @@@@ -42,6 +42,12 @@@@ d18 5 @ 1.2 log @Changes 1.0.8: * Bug fixes @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- src/fluid_oss.c.orig 2007-09-19 08:10:57.000000000 +0200 +++ src/fluid_oss.c @@@@ -43,6 +43,12 @@@@ d17 2 a18 2 /* SCHED_FIFO priorities for OSS threads (see pthread_attr_setschedparam) */ @@@@ -103,7 +109,7 @@@@ static void* fluid_oss_midi_run(void* d) d27 1 a27 37 @@@@ -122,8 +128,10 @@@@ new_fluid_oss_audio_driver(fluid_setting int format; pthread_attr_t attr; int err; +#if !defined(__NetBSD__) int sched = SCHED_FIFO; struct sched_param priority; +#endif dev = FLUID_NEW(fluid_oss_audio_driver_t); if (dev == NULL) { @@@@ -168,7 +176,7 @@@@ new_fluid_oss_audio_driver(fluid_setting } if (!fluid_settings_getstr(settings, "audio.oss.device", &devname)) { - devname = "/dev/dsp"; + devname = DEVOSSAUDIO; } if (stat(devname, &devstat) == -1) { @@@@ -229,6 +237,13 @@@@ new_fluid_oss_audio_driver(fluid_setting goto error_recovery; } +#ifdef __NetBSD__ + err = pthread_create(&dev->thread, &attr, fluid_oss_audio_run, (void*) dev); + if (err) { + FLUID_LOG(FLUID_ERR, "Couldn't create audio thread"); + goto error_recovery; + } +#else /* the pthread_create man page explains that pthread_attr_setschedpolicy returns an error if the user is not permitted the set SCHED_FIFO. it seems however that no error is @@@@ -264,6 +279,7 @@@@ new_fluid_oss_audio_driver(fluid_setting } break; a28 1 +#endif /* __NetBSD__ */ d30 3 a32 1 return (fluid_audio_driver_t*) dev; d34 3 a36 8 @@@@ -285,8 +301,10 @@@@ new_fluid_oss_audio_driver2(fluid_settin int format; pthread_attr_t attr; int err; +#if !defined(__NetBSD__) int sched = SCHED_FIFO; struct sched_param priority; +#endif a37 3 dev = FLUID_NEW(fluid_oss_audio_driver_t); if (dev == NULL) { @@@@ -311,7 +329,7 @@@@ new_fluid_oss_audio_driver2(fluid_settin d39 3 d43 3 a45 29 if (!fluid_settings_getstr(settings, "audio.oss.device", &devname)) { - devname = "/dev/dsp"; + devname = DEVOSSAUDIO; } if (stat(devname, &devstat) == -1) { FLUID_LOG(FLUID_ERR, "Device <%s> does not exists", devname); @@@@ -380,6 +398,13 @@@@ new_fluid_oss_audio_driver2(fluid_settin goto error_recovery; } +#ifdef __NetBSD__ + err = pthread_create(&dev->thread, &attr, fluid_oss_audio_run2, (void*) dev); + if (err) { + FLUID_LOG(FLUID_ERR, "Couldn't create audio2 thread"); + goto error_recovery; + } +#else /* the pthread_create man page explains that pthread_attr_setschedpolicy returns an error if the user is not permitted the set SCHED_FIFO. it seems however that no error is @@@@ -415,6 +440,7 @@@@ new_fluid_oss_audio_driver2(fluid_settin } break; } +#endif /* __NetBSD__ */ return (fluid_audio_driver_t*) dev; @@@@ -642,7 +668,7 @@@@ fluid_oss_audio_run2(void* d) d54 2 a55 9 @@@@ -655,8 +681,10 @@@@ new_fluid_oss_midi_driver(fluid_settings int err; fluid_oss_midi_driver_t* dev; pthread_attr_t attr; +#if !defined __NetBSD__ int sched = SCHED_FIFO; struct sched_param priority; +#endif char* device; a56 4 /* not much use doing anything */ @@@@ -687,7 +715,7 @@@@ new_fluid_oss_midi_driver(fluid_settings /* get the device name. if none is specified, use the default device. */ fluid_settings_getstr(settings, "midi.oss.device", &device); d58 2 a59 26 - device = "/dev/midi"; + device = DEVOSSMIDI; } /* open the default hardware device. only use midi in. */ @@@@ -704,6 +732,14 @@@@ new_fluid_oss_midi_driver(fluid_settings FLUID_LOG(FLUID_ERR, "Couldn't initialize midi thread attributes"); goto error_recovery; } + +#ifdef __NetBSD__ + err = pthread_create(&dev->thread, &attr, fluid_oss_midi_run, (void*) dev); + if (err) { + FLUID_LOG(FLUID_ERR, "Couldn't create midi thread"); + goto error_recovery; + } +#else /* use fifo scheduling. if it fails, use default scheduling. */ while (1) { err = pthread_attr_setschedpolicy(&attr, sched); @@@@ -735,6 +771,7 @@@@ new_fluid_oss_midi_driver(fluid_settings } break; } +#endif /* __NetBSD__ */ return (fluid_midi_driver_t*) dev; d61 2 a62 1 error_recovery: @ 1.1 log @Initial revision @ text @d3 1 a3 1 --- src/fluid_oss.c.orig Wed Mar 3 03:02:28 2004 d88 1 a88 1 FLUID_LOG(FLUID_ERR, "Device <%s> does not exists", devname); d111 1 a111 1 @@@@ -644,7 +670,7 @@@@ fluid_oss_audio_run2(void* d) d120 1 a120 1 @@@@ -657,8 +683,10 @@@@ new_fluid_oss_midi_driver(fluid_settings d129 1 a129 1 d131 1 a131 1 @@@@ -689,7 +717,7 @@@@ new_fluid_oss_midi_driver(fluid_settings d140 1 a140 1 @@@@ -706,6 +734,14 @@@@ new_fluid_oss_midi_driver(fluid_settings d155 1 a155 1 @@@@ -737,6 +773,7 @@@@ new_fluid_oss_midi_driver(fluid_settings d158 1 a158 1 } @ 1.1.1.1 log @FluidSynth is a real-time software synthesiser based on the SoundFont 2 spec @ text @@