From ea51aa1819a5109ad4095b63a22e4d84749e4a4a Mon Sep 17 00:00:00 2001 From: Nathan Whitehead Date: Thu, 25 Apr 2024 10:50:03 -0600 Subject: [PATCH 1/3] Update readme, split out contributors page, add contributors. --- CONTRIBUTORS | 20 ++++++++++++++++++++ README.md | 26 ++++++++++++-------------- 2 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 CONTRIBUTORS diff --git a/CONTRIBUTORS b/CONTRIBUTORS new file mode 100644 index 0000000..c6be3f6 --- /dev/null +++ b/CONTRIBUTORS @@ -0,0 +1,20 @@ +## Contributors + +Original code by Nathan Whitehead `nwhitehe@gmail.com`. + +Contributions: +* Christian Clauss +* Bart Spaans +* Christian Romberg +* Bill Peterson +* Christopher Nguyen +* Matthew D. Scholefield +* Mathieu (matael) Gaborit +* Thomas Oster +* Adam Roberts +* Aditya Shankar +* Dude112113 +* Kevin Zakka + +You are invited to contribute to this project. Please feel free to open an issue +or create a pull request on GitHub. diff --git a/README.md b/README.md index 9604046..7584b67 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # pyFluidSynth -Python bindings for FluidSynth +_Python bindings for FluidSynth_ This module contains python bindings for FluidSynth. FluidSynth is a software synthesizer for generating music. It works like a MIDI @@ -12,7 +12,7 @@ chunks of audio data and output the data to the soundcard yourself. FluidSynth works on all major platforms, so pyFluidSynth should also. -## REQUIREMENTS +## Requirements FluidSynth 2.0.0 (or later version) (earlier versions are not supported. While they probably work, some features will be unavailble) @@ -25,13 +25,13 @@ NumPy 1.0 or later (for some features) http://numpy.org/ -## DOWNLOAD +## Download Download the latest version from GitHub here: https://github.com/nwhitehead/pyfluidsynth/archive/master.zip -## INSTALLATION +## Installation pyFluidSynth is packaged as Python source using distutils. To install, run the following command as root: @@ -44,7 +44,7 @@ For more information and options about using distutils, read: https://docs.python.org/2/distutils/ -## EXAMPLE +## Example Here is a program that plays a chord for a second. @@ -97,7 +97,7 @@ noteoff(track, midinum) ``` -## MANAGING AUDIO +## Managing Audio You can also manage audio IO yourself and just use FluidSynth to calculate the samples for the music. You might do this, for example, @@ -169,7 +169,7 @@ print('Starting playback') strm.write(samps) ``` -## USING THE SEQUENCER +## Using the Sequencer You can create a sequencer as follows: ```python @@ -222,7 +222,7 @@ Note that event and seq are low-level objects, not actual python objects. You can find a complete example (inspired by [this one from the fluidsynth library](http://www.fluidsynth.org/api/index.html#Sequencer)) in the test folder. -## BUGS AND LIMITATIONS +## Bugs and Limitations Not all functions in FluidSynth are bound. @@ -230,15 +230,13 @@ Not much error checking, FluidSynth will segfault/crash if you call the functions incorrectly sometimes. -## AUTHORS +## Authors -Original code by Nathan Whitehead ``. -Contributions by Bart Spaans `` and Christian Romberg ``. +This project was originally coded by Nathan Whitehead `nwhitehe@gmail.com` but is the work of many. See [CONTRIBUTORS](./CONTRIBUTORS). - -## LICENSE +## License Released under the LGPL v2.1 or any later version (this is the same as FluidSynth). -Copyright 2008--2015, Nathan Whitehead +Copyright 2008--2024, Nathan Whitehead and contributors. From 0d2f9b24c5759ee89cfd72075633ec6e093d8662 Mon Sep 17 00:00:00 2001 From: Nathan Whitehead Date: Thu, 25 Apr 2024 10:51:48 -0600 Subject: [PATCH 2/3] Add md extension for contributors page. --- CONTRIBUTORS => CONTRIBUTORS.md | 0 README.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename CONTRIBUTORS => CONTRIBUTORS.md (100%) diff --git a/CONTRIBUTORS b/CONTRIBUTORS.md similarity index 100% rename from CONTRIBUTORS rename to CONTRIBUTORS.md diff --git a/README.md b/README.md index 7584b67..0b4f0bf 100644 --- a/README.md +++ b/README.md @@ -232,7 +232,7 @@ the functions incorrectly sometimes. ## Authors -This project was originally coded by Nathan Whitehead `nwhitehe@gmail.com` but is the work of many. See [CONTRIBUTORS](./CONTRIBUTORS). +This project was originally coded by Nathan Whitehead `nwhitehe@gmail.com` but is the work of many. See [CONTRIBUTORS](./CONTRIBUTORS.md). ## License From e09c9be9c53d9ef9e619b57188bd3631136ac41a Mon Sep 17 00:00:00 2001 From: Nathan Whitehead Date: Thu, 25 Apr 2024 11:27:15 -0600 Subject: [PATCH 3/3] Update readme. --- README.md | 51 ++++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 0b4f0bf..2b3e0a3 100644 --- a/README.md +++ b/README.md @@ -2,46 +2,43 @@ _Python bindings for FluidSynth_ -This module contains python bindings for FluidSynth. FluidSynth is a -software synthesizer for generating music. It works like a MIDI -synthesizer. You load patches, set parameters, then send NOTEON and -NOTEOFF events to play notes. Instruments are defined in SoundFonts, -generally files with the extension SF2. FluidSynth can either be used -to play audio itself, or you can call a function that returns -chunks of audio data and output the data to the soundcard yourself. +This package contains python bindings for FluidSynth. FluidSynth is a software +synthesizer for generating music. It works like a MIDI synthesizer. You load +patches, set parameters, then send NOTEON and NOTEOFF events to play notes. +Instruments are defined in SoundFonts, generally files with the extension SF2. +FluidSynth can either be used to play audio itself, or you can call a function +that returns chunks of audio data and output the data to the soundcard yourself. FluidSynth works on all major platforms, so pyFluidSynth should also. ## Requirements -FluidSynth 2.0.0 (or later version) -(earlier versions are not supported. While they probably work, some features will be unavailble) -http://www.fluidsynth.org/ -* Windows/Android Binaries: https://github.com/FluidSynth/fluidsynth/releases -* MacOS/Linux Distributions: https://github.com/FluidSynth/fluidsynth/wiki/Download#distributions -* Building from Source: https://github.com/FluidSynth/fluidsynth/wiki/BuildingWithCMake +[FluidSynth](http://www.fluidsynth.org/) (2.0.0 or later) +* [Windows/Android FluidSynth Releases](https://github.com/FluidSynth/fluidsynth/releases) +* [MacOS/Linux Distributions](https://github.com/FluidSynth/fluidsynth/wiki/Download#distributions) +* [Building from Source](https://github.com/FluidSynth/fluidsynth/wiki/BuildingWithCMake) -NumPy 1.0 or later (for some features) -http://numpy.org/ +(optional) [NumPy](http://numpy.org/) 1.0 or later for some features +NOTE: If you don't need all the features of FluidSynth you may be interested in +[tinysoundfont-pybind](https://github.com/nwhitehead/tinysoundfont-pybind) which +is a self-contained Python package that includes +[TinySoundFont](https://github.com/schellingb/TinySoundFont) for SoundFont +playback and is permissively licensed. -## Download +## Installation -Download the latest version from GitHub here: -https://github.com/nwhitehead/pyfluidsynth/archive/master.zip +To use the latest official release: + pip install pyfluidsynth -## Installation -pyFluidSynth is packaged as Python source using distutils. To install, -run the following command as root: +## Pre-release Versions -``` -python setup.py install -``` +To use pre-release versions of this package, clone this repository, go to the +repository directory, then do: -For more information and options about using distutils, read: -https://docs.python.org/2/distutils/ + pip install . ## Example @@ -232,7 +229,7 @@ the functions incorrectly sometimes. ## Authors -This project was originally coded by Nathan Whitehead `nwhitehe@gmail.com` but is the work of many. See [CONTRIBUTORS](./CONTRIBUTORS.md). +This project was originally created by Nathan Whitehead `nwhitehe@gmail.com` but is the work of many. See [CONTRIBUTORS](./CONTRIBUTORS.md). ## License