Comments (3)
This is a good idea! It'd definitely make the instrument map feature more flexible and useful. I'll see about implementing it soon, thanks!
from cl-patterns.
Hmm, actually, thinking further, it seems like there might not even be any need to keep this specific to MIDI backends; it could probably be even more useful if implemented as a generalized event processing mechanism run as the last step of pattern processing, before events are sent to the clock. I'm thinking there could be a global list like *event-processing-functions*
or similar, containing functions that are applied to the events yielded by patterns. The list could default to (list 'convert-midi-mapped-instruments-to-midi-parameters)
for convenience, so that users don't have to manually implement MIDI instrument mapping themselves.
from cl-patterns.
With commit 49f8dba I added instrument-mapping
to map :instrument
s to arbitrary event parameters, and *post-pattern-output-processors*
to process pattern outputs with arbitrary functions.
I'm planning on reworking backends in the future as well so that each enabled backend can have its own list of processor functions that will run on all events the backend receives too.
from cl-patterns.
Related Issues (20)
- Set default quant to 1
- pnary doesn't work with prest HOT 1
- stretch doesn't work HOT 2
- The lock in ipstream-stream is made a non-recursive, but is used as recursive
- Changing arguments interactively HOT 12
- Add 12-tone matrix generator HOT 16
- :tempo key HOT 1
- Plazy fails with repeats=1 HOT 1
- Some systems failed to build for Quicklisp dist HOT 1
- Some systems failed to build for Quicklisp dist HOT 2
- Instantaneous tempo changes HOT 3
- Saving output to file HOT 2
- Using print representation of symbols HOT 5
- Can't change tempo of running clock loop HOT 2
- None of the examples in the supercollider example work for me HOT 4
- Some systems failed to build for Quicklisp dist
- Can't build without xrandr HOT 3
- Some systems failed to build for Quicklisp dist HOT 4
- Special Key 'Set' is not implemented yet. Is this still true? HOT 3
- The function CL-PATTERNS::STRING-SPLIT is undefined. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cl-patterns.