v0.2.1 (2025-08-08)
- Added support for treating generator expressions in place of patterns
- Initial support for MPE
- Expanded
MidiInputDevicewith support for capturing aftertouch and polytouch events - Added
globalsevent type, to schedule changes to a global variable - Added new scalar patterns:
PFloor,PCeil,PRoundToMultiple - Added
PKeyScalepattern, to extract a Scale from a Key - Added
Globals.enable_interprocess_sync(), to synchronise global variables between multiple notebooks or Python processes on the same computer - Fixed bug in quantization with Ableton Link Clock
- Refactor of Event handling, modularising handler logic for different event types
- Utils: Added
clip(),frequency_to_midi_note()
v0.2.0 (2024-11-10)
- Globals: Added support for synchronising Globals state between isobar processes via
enable_interprocess_sync() - Added syntactical sugar around
PDictgetattr/setattr, so that a track'sparamsproperty can be modified by (e.g.)track.params.cutoff = 200(requiresrpyc) - Added
PKeyScaleclass, which returns theScalecorresponding to an inputKey - Added new
Automationclass for continuous parameter control - Added new
Instrumentclass for concise scheduling of multi-modal events Timeline: Added support for specifying aclock_sourceby name: eithermidi,internalorlinkTimeline: Addedstartconstructor argument to immediately start the timeline
v0.1.4 (2024-08-11)
- Added support for LFOs for continuous parameter modulation, and
PLFOpattern class - Added
Track.nudge()to nudge a track back/forward in time - Added
FluidSynthOutputDeviceto interact with FluidSynth sound fonts - Added initial support for monome devices
- Added
scale_exp_lin
v0.1.3 (2024-07-01)
- Added support for Ableton Link clock sync (thanks to Raphaël Forment for providing LinkPython-extern)
- Added shorthand syntax for more concise pattern expressions
- Added new pattern classes:
PMIDIControl: provides access to MIDI control change valuesPSaw: sawtooth waveformPMidiSemitonesToFrequencyRatio: map an interval in semitones to a frequency ratio
- Added
Pattern.poll()for debugging pattern issues - Auto-generated pattern library documentation (thanks to Giacomo Loparco)
- Improvements to type hinting, inline documentation and examples (thanks to Giacomo Loparco and Greg White)
- Added event callbacks to Timeline and Track, to trigger a user-specified function when an event occurs
- Fixed bugs in
KeyandScalehandlers (thanks to Piotr Sakowski)
v0.1.2 (2023-05-28)
- Added
SignalFlowOutputDeviceandCVOutputDevice - Added
NetworkClockSender/NetworkClockReceiver, andNetworkGlobalsSender/NetworkGlobalsReceiver - Added new stochastic patterns:
PCoin,PRandomImpulseSequence,PRandomExponential,PMetropolis
v0.1.1 (2020-10-07)
Major overhaul and refactor.
- Unified and improved class names
- Added unit test suite and CI testing
- Added mkdocs documentation
- Added support for Control events with interpolation
- Added custom Exception classes
- Added examples covering MIDI I/O, MIDI files, live coding in iPython
- Added new Pattern classes:
PSample,PEqual,PNotEqual,PGreaterThan,PGreaterThanOrEqual,PLessThan,PLessThanOrEqual,PInterpolate,PReverse,PExplorer,PSequenceAction,PNearestNoteInKey,PFilterByKey,PMidiNoteToFrequency
v0.0.1 (2019-10-03)
Initial PyPi release.