MFP -- Music For Programmers Release 0.05, "Mighty Fine Patching" I'm pleased to announce a new version of MFP, containing many new features, fixes and improvements. This is still a very early release that is missing a lot of expected functionality, but it's a significant step forward from 0.04 in every way and I thought it might be of interest to the wider community. A summary of changes is below. Please see the GitHub issue tracker for complete details: http://github.com/bgribble/mfp This version is still source-code-only, but the new build system should make it a bit easier for those who would like to try it. Significant changes since release v0.04 ---------------------------------------- * MFP patches can be saved as LV2 plugins that can be live-edited while loaded in a host (see doc/README.lv2) * New build system using 'waf' for one-line build and install (see doc/README.build) * Support for user patches with dynamic creation of inlets/outlets and other objects at instantiation time (with examples) using the "@clonescope" method * Lazy evaluation of expressions using a leading "," syntactic sugar is available in message boxes (i.e. the message "datetime.now()" is a constant, but ",datetime.now()" is evaluated each time the message is emitted) * More sample patches, including a basic tutorial covering app interaction, "hello, world", and patterns for things like iteration, conditionals, etc * Improvements to stability and error handling * Many other bugfixes and improvements. The complete list of 60+ tickets closed since the 0.04 release is in the 0.05 milestone: http://github.com/bgribble/mfp/issues?q=milestone%3A%22mfp+0.05%22+is%3Aclosed About MFP ---------------------------------------- MFP is an environment for visually composing computer programs, with an emphasis on music and real-time audio synthesis and analysis. It's very much inspired by Miller Puckette's Pure Data (pd) and Max/MSP, with a bit of LabView and TouchOSC for good measure. It is targeted at musicians, recording engineers, and software developers who like the "patching" dataflow metaphor for coding up audio synthesis, processing, and analysis. MFP is a completely new code base, written in Python and C, with a Clutter UI. It has been under development by a solo developer (me!), as a spare-time project for several years. Compared to Pure Data, its nearest relative, MFP is superficially pretty similar but differs in a few key ways: * MFP uses Python data natively. Any literal data entered in the UI is parsed by the Python evaluator, and any Python value is a legitimate "message" on the dataflow network * MFP provides fairly raw access to Python constructs if desired. For example, the built-in Python console allows live coding of Python functions as patch elements at runtime. * Name resolution and namespacing are addressed more robustly, with explicit support for lexical scoping * The UI is largely keyboard-driven, with a modal input system that feels a bit like vim. The graphical presentation is a single-window style with layers rather than multiple windows. * There is fairly deep integration of Open Sound Control (OSC), with every patch element having an OSC address and the ability to learn any other desired address. * MFP has just a fraction of the builtin and addon functionality provided by PD. It's not up to being a replacement except in very limited cases! The code and issue tracker are hosted on GitHub: https://github.com/bgribble/mfp You can find the LAC-2013 paper and accompanying screenshots, some sample patches, and a few other bits of documentation in the doc directory of the GitHub repo. The README files at the top level of the source tree contain dependency, build, and getting-started information. Thanks, Bill Gribble <grib@xxxxxxxxxxxxxxx> _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user