From bd5c83f0284efb00c713b475ef4d202e4573f188 Mon Sep 17 00:00:00 2001 From: Element Green Date: Tue, 26 Aug 2003 00:06:49 +0000 Subject: [PATCH] Updates to doc/ building and a new RPM spec file. --- fluidsynth/ChangeLog | 16 ++++++ fluidsynth/Makefile.am | 3 +- fluidsynth/TODO | 55 +++++-------------- fluidsynth/configure.ac | 3 +- fluidsynth/doc/Doxyfile | 4 +- fluidsynth/doc/Makefile.am | 27 +++++++++- fluidsynth/doc/fluidsynth.1 | 2 +- fluidsynth/fluidsynth.spec.in | 76 +++++++++++++++++++++++++++ fluidsynth/include/fluidsynth/synth.h | 5 +- 9 files changed, 140 insertions(+), 51 deletions(-) create mode 100644 fluidsynth/fluidsynth.spec.in diff --git a/fluidsynth/ChangeLog b/fluidsynth/ChangeLog index 3e19b72b..11fc37ea 100644 --- a/fluidsynth/ChangeLog +++ b/fluidsynth/ChangeLog @@ -1,3 +1,19 @@ +2003-08-25 Josh Green + + Release version 1.0.3 + + * doc/fluidsynth.1: Applied typo patch from Eric Van Buggenhaut. + * TODO: Restructuring TODO file (removing old stuff). + * doc/Doxyfile: Disabled Tex doxygen generation and changed + OUTPUT_DIRECTORY to api/. + * doc/Makefile.am: Added an update-docs target and related for updating + developer doc and doxygen reference HTML. Also added update-docs to + dist-hook for updating before distribution packaging. + * include/fluidsynth/synth.h: Some fixes to doxygen documentation. + * fluidsynth.spec.in: New RPM spec file which is generated at configure + time. + * Makefile.am: Added fluidsynth.spec(.in) to EXTRA_DIST. + 2003-08-19 Josh Green * src/fluid_alsa.c: Added some calls to snd_strerror() to print out diff --git a/fluidsynth/Makefile.am b/fluidsynth/Makefile.am index f463def3..f2b4ff66 100644 --- a/fluidsynth/Makefile.am +++ b/fluidsynth/Makefile.am @@ -1,7 +1,8 @@ ## Process this file with automake to produce Makefile.in SUBDIRS = src doc include macbuild sf2 winbuild -EXTRA_DIST = TODO acinclude.m4 fluidsynth.pc.in autogen.sh +EXTRA_DIST = TODO acinclude.m4 autogen.sh fluidsynth.pc.in fluidsynth.spec.in \ + fluidsynth.spec DISTCLEANFILES = fluidsynth.pc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = fluidsynth.pc diff --git a/fluidsynth/TODO b/fluidsynth/TODO index 7b1241c0..109be76a 100644 --- a/fluidsynth/TODO +++ b/fluidsynth/TODO @@ -1,40 +1,28 @@ +This file needs some re-structuring. Please remove anything that has +already been done. - Josh Green 2003-08-25 -IIWU Synth Final (0.3?): --------------------------------------------- - -DSP +Synthesis related +----------------- - problems with chorus (test on VintageDreamWaves + LoveVigilants.mid) -- Check changes w.r.t. noise floor in iiwu_voice +- Compatibility with SB Live vol attenuation (Live doesn't follow specs?) +- Filter should stay on for a voice once it has been activated +- Improve voice stealing algorithm (soft and hard limits?) +- soft clipping, compressor, limitor, or automatic gain control -Misc -- Make Vintage Dreams the default soundfont -- segfault with 'iiwusynth -i -n ~/projects/iiwusynth-perso/sf2/VintageDreamsWaves-v2.sf2 ~/cap-mts' -- Add compilation date Drivers -- Add flag to dsound driver to not use LOCHWARE -- Update PortAudio and Midishare driver +------- +- ASIO driver +- DirectSound3D driver +- OMS on macintosh +- load drivers, plugins, and soundfont loaders from shared libraries -Documentation -- User manual (DocBook?) - -Testing: -- test SSE & long long -- Test sequencer -- test on AMD processors -- test existing midi controllers -- comparison tests with sblive -- test audio drivers (dsound, oss, alsa, audioport (win,mac,linux), sndman) -- test midi drivers (alsa, alsa_seq, oss, winmidi, midishare (win,mac,linux)) Fluid 1.0: -------------------------------------------- -- move to LGPL -- web site -- name change to Fluid - deb and rpm package - Mac and Windows binaries - Xtra binaries @@ -76,15 +64,11 @@ Unsorted - include readline in project - additional aux buses - rewrite midi file using new sequencer -- load drivers, plugins, and soundfont loaders from shared libraries - direct access to audio buffer - soft clipping, compressor, limitor, or automatic gain control - register shell commands dynamically, no dependancy on iiwu_synth object - load wave files (ramsfont) -- ASIO driver -- DirectSound3D driver - write a Max external -- java bindings OLD STUFF, NEEDS TO BE FILTERED ------------------ @@ -102,30 +86,17 @@ Design - Audio out (driver status, time, errors) - Debug message () - CPU, memory usage -- better synth settings: iiwu_synth_attr or iiwu_synth_params - o allow for optimization settings - no key to filter modulator - sample truncation, linear interpolation, 8 point interpolation, ... - hardware acceleration - o polyphony, buffer and queue size, ... - load, reload, replace, and print info about soundfonts the way creative does it -Drivers -------- -- OMS on macintosh -- DirectSound 3D - DSP --- -- soft clipping, compressor, limitor, or automatic gain control - improved float to int conversion - 96kHz/24bits Control ------- - handle all continuous controllers -- more testing on voice stealing algorithm - handles RPN and NRPN messages - OpenSoundControl diff --git a/fluidsynth/configure.ac b/fluidsynth/configure.ac index ab37f8da..454468db 100644 --- a/fluidsynth/configure.ac +++ b/fluidsynth/configure.ac @@ -6,7 +6,7 @@ AC_INIT(src/fluidsynth.c) FLUIDSYNTH_VERSION_MAJOR=1 FLUIDSYNTH_VERSION_MINOR=0 -FLUIDSYNTH_VERSION_MICRO=2 +FLUIDSYNTH_VERSION_MICRO=3 FLUIDSYNTH_VERSION=$FLUIDSYNTH_VERSION_MAJOR.$FLUIDSYNTH_VERSION_MINOR.$FLUIDSYNTH_VERSION_MICRO AC_SUBST(FLUIDSYNTH_VERSION_MAJOR) @@ -318,6 +318,7 @@ AC_OUTPUT([ include/fluidsynth/Makefile include/fluidsynth/version.h fluidsynth.pc + fluidsynth.spec macbuild/Makefile sf2/Makefile winbuild/Makefile diff --git a/fluidsynth/doc/Doxyfile b/fluidsynth/doc/Doxyfile index 7b46eb05..ed02c477 100644 --- a/fluidsynth/doc/Doxyfile +++ b/fluidsynth/doc/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- PROJECT_NAME = libfluidsynth PROJECT_NUMBER = -OUTPUT_DIRECTORY = +OUTPUT_DIRECTORY = api OUTPUT_LANGUAGE = English EXTRACT_ALL = YES EXTRACT_PRIVATE = NO @@ -98,7 +98,7 @@ TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -GENERATE_LATEX = YES +GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex diff --git a/fluidsynth/doc/Makefile.am b/fluidsynth/doc/Makefile.am index e346b596..0409eef6 100644 --- a/fluidsynth/doc/Makefile.am +++ b/fluidsynth/doc/Makefile.am @@ -1,5 +1,28 @@ - # install the man pages and include in distribution man_MANS = fluidsynth.1 EXTRA_DIST = $(man_MANS) Doxyfile example.c example.sf2 fluidsynth.1 \ - fluidsynth-v10-devdoc.xml + fluidsynth-v10-devdoc.xml html api + +docbook_docs = fluidsynth-v10-devdoc.xml + +DOCBOOK_STYLESHEET ?= http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl + +# Run "make update-docs" to update developer doc and doxygen reference +update-docs: html/index.html doxygen + +# The new XML DocBook way: +html/index.html: $(docbook_docs) + -rm -rf html + $(mkinstalldirs) html + xsltproc -o html/ --catalogs $(DOCBOOK_STYLESHEET) $< + +doc-clean: + -rm -rf html + +maintainer-clean-local: doc-clean + +doxygen: Doxyfile + doxygen Doxyfile + +# Update docs for distribution +dist-hook: update-docs diff --git a/fluidsynth/doc/fluidsynth.1 b/fluidsynth/doc/fluidsynth.1 index 258f78c6..7f6d06b1 100644 --- a/fluidsynth/doc/fluidsynth.1 +++ b/fluidsynth/doc/fluidsynth.1 @@ -50,7 +50,7 @@ discussed below. fluidsynth can also be used to play a list of MIDI files. Simply run fluidsynth with the SoundFont and the list of MIDI files to play. In this case you might not want to open the MIDI device to read external -events. Use the -n option for to deactivate MIDI input. If you also +events. Use the -n option to deactivate MIDI input. If you also want to deactivate the use of the shell, start fluidsynth with the -i option: 'fluidsynth -ni soundfont.sf2 midifile1.mid midifile2.mid'. .PP diff --git a/fluidsynth/fluidsynth.spec.in b/fluidsynth/fluidsynth.spec.in new file mode 100644 index 00000000..afb7ab55 --- /dev/null +++ b/fluidsynth/fluidsynth.spec.in @@ -0,0 +1,76 @@ + +%define name @PACKAGE@ +%define version @VERSION@ +%define release 1 +%define prefix /usr + +Summary: A real-time software synthesizer based on SoundFont 2 specifications. +Name: %{name} +Version: %{version} +Release: %{release} +Prefix: %{prefix} +Copyright: LGPL +Group: Sound +Source: http://savannah.nongnu.org/download/fluid/stable.pkg/%{version}/fluidsynth-%{version}.tar.gz +URL: http://www.fluidsynth.org/ +BuildRoot: /var/tmp/%{name}-%{version} + +%description +FluidSynth is a real-time software synthesizer based on the SoundFont +2 specifications. FluidSynth can read MIDI events from MIDI input +devices and render them to audio devices using SoundFont files to +define the instrument sounds. It can also play MIDI files and supports +real time effect control via SoundFont modulators and MIDI +controls. FluidSynth can be interfaced to other programs in different +ways, including linking as a shared library. + +%package devel +Summary: Libraries and includes to build FluidSynth into other applications +Group: Development/Libraries + +%description devel +FluidSynth is a real-time software synthesizer based on the SoundFont +2 specifications. FluidSynth can read MIDI events from MIDI input +devices and render them to audio devices using SoundFont files to +define the instrument sounds. It can also play MIDI files and supports +real time effect control via SoundFont modulators and MIDI +controls. FluidSynth can be interfaced to other programs in different +ways, including linking as a shared library. + +This package contains libraries and includes for building applications +with FluidSynth support. + +%prep +%setup + +%build +./configure --prefix=%{prefix} +make + +%install +if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi +mkdir -p $RPM_BUILD_ROOT +make prefix=$RPM_BUILD_ROOT%{prefix} install + +%clean +if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi + +%files +%defattr(-,root,root) +%doc AUTHORS COPYING ChangeLog NEWS README TODO +%{prefix}/bin/fluidsynth +%{prefix}/lib/libfluidsynth.so* +%{prefix}/man/man1/* + +%files devel +%defattr(-,root,root) +%doc doc/example.c doc/example.sf2 doc/api doc/html/* +%{prefix}/lib/libfluidsynth.a +%{prefix}/lib/libfluidsynth.la +%{prefix}/lib/pkgconfig/fluidsynth.pc +%{prefix}/include/fluidsynth.h +%{prefix}/include/fluidsynth + +%changelog +* Mon Aug 25 2003 Josh Green +- Created initial fluidsynth.spec.in diff --git a/fluidsynth/include/fluidsynth/synth.h b/fluidsynth/include/fluidsynth/synth.h index 8812748d..fda54ff6 100644 --- a/fluidsynth/include/fluidsynth/synth.h +++ b/fluidsynth/include/fluidsynth/synth.h @@ -181,6 +181,7 @@ FLUIDSYNTH_API int fluid_synth_sfreload(fluid_synth_t* synth, unsigned int id); \param synth The synthesizer object \param id The id of the SoundFont + \param reset_presets If TRUE then presets will be reset for all channels \returns 0 if no error, -1 otherwise */ FLUIDSYNTH_API int fluid_synth_sfunload(fluid_synth_t* synth, unsigned int id, int reset_presets); @@ -189,7 +190,7 @@ FLUIDSYNTH_API int fluid_synth_sfunload(fluid_synth_t* synth, unsigned int id, i the SoundFont stack. \param synth The synthesizer object - \param sfont The SounfFont + \param sfont The SoundFont \returns The ID of the loaded SoundFont, or -1 in case of error */ FLUIDSYNTH_API int fluid_synth_add_sfont(fluid_synth_t* synth, fluid_sfont_t* sfont); @@ -442,7 +443,7 @@ int fluid_synth_create_octave_tuning(fluid_synth_t* synth, int tuning_bank, int \param tuning_bank The tuning bank number [0-127] \param tuning_prog The tuning program number [0-127] \param len The length of the keys and pitch arrays - \param pitch The array of keys values. + \param keys The array of keys values. \param pitch The array of pitch values. \param apply Flag to indicate whether to changes should be applied in real-time. */