Comments (1)
I have actually. But not taking action on anything yet as I have to think the design through, let's use this issue to ponder the implementation:
What I'm thinking is that both BaseProcessor and BaseAudioEvent should implement a handleAutomation( int paramId, float value )-type function where paramId identifies which parameter to automate and value specifies the target value it should move to. Each class can override this method for their specific parameters and behaviour. I'm thinking value should be in the 0.f - 1.0f range - similar to the VST spec - where depending on the paramId this can be scaled to a value in the range appropriate to the parameter that is being automated.
A parameter change can be checked in by using a Sequencer function like:
int addAutomation( int bufferPosition, Automatable* target, int paramId, float value )
Where bufferPosition determines when in the current sequence the change occurs and target defines the object that will be automated. The return can be a token id for the automation (so it can be removed individually).
The Sequencer can then inform the engine when to execute said action.
This leaves me to ponder how to deal with gradual changes, we could specify a range of "automation start" to "automation end" and calculate all changes in between, but this would only work for linear transitions. In the VST spec, the VST host is responsible for sending the parameter change on every step of the transition, we could consider a similar approach (it means that the implementing application has the responsibility for registering all points within a transition, but it comes at the benefit that you can create arbitrary transition functions).
from mwengine.
Related Issues (20)
- Is it possible to remove effects after recorded the audio? HOT 7
- Bug with processingChain.removeProcessor(fx) HOT 2
- Error with processors HOT 2
- Is there possible to adjust the volume of latency or turn off those live voice feedback? HOT 7
- Issues with event.addToSequencer() while the sequencer is running HOT 5
- Noise While adding effects to input channel HOT 3
- App get crashed added the processor to the input channel during recording HOT 2
- App get crashed on some devices HOT 12
- Crash that seems to be about Events when no has been added/removed HOT 3
- while recording with SampleEvent and inputChannel recorded output get mismatched HOT 14
- Mic sound is very low in few devices HOT 5
- Thread issue maybe? HOT 10
- AudioRenderer.renderEvent Producing Noise HOT 6
- Is it possible to achieve stereo effect Using Single Input(mic)? HOT 2
- Is there any processor for noise reduction?
- Crashing when deleting events with the engine running HOT 1
- Is it possible to get hertz from the mic while recording? HOT 4
- volume issue with sample event HOT 2
- Multitrack audio recording HOT 1
- Remove events with sequencer playing HOT 17
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 mwengine.