-
Notifications
You must be signed in to change notification settings - Fork 278
March 2017: Maximilian Roadmap
- factor out core code to be included in "main" and "ofx" repositories.
- remove any binary files from the repository (🔵 adding today)
- Is it possible to merge the "fish police" branch (🔴 No)
- Using cmake would expedite inclusion in other libraries (eg Rapid-Mix, 🔴 No)
- Apparently there is some code on gitorious with a less permissive license. Can we merge that, or include it as a submodule?
- Integrate biquad into maxi functions? (🔵 adding today)
- What is the name of this library?
- Why are there two versions on CodeCircle?
- Adjust Emscripten compile to set Modularize=1.
- Add date/version output to MaxiLib
- Integrate audio input into maxi functions.
- Is it possible to have the C++ and JS versions share a code base?
- Maxilib issues from gitlab
- combine into a single object
- remove inconsistent implementation (eg. set methods for adsr but not others, trigger and release methods)
- attack, decay and release times as seconds not coefficients or milliseconds
- use camel casing like the other objects
- This has bothered me for years. Please can we call it either maxiPitchTime or maxiShiftStretch ? Please ?
- These feel like they should be static functions not methods
- Camel casing for consistency
- Currently uses milliseconds where all other objects are using seconds
- Can’t access the length of the sample (returns undefined)
- Can’t access the current playback position
- I suggest copying maxiPitchStretch nomenclature setPosition, getPosition, getNormalisedPosition, getNumSamples
- Why load the sample from the audio context ? Is there a way to avoid this
- Strange behaviour when loading samples in both JS and C++
- Playback rate is affected by start and end points - this is pretty counterintuitive
- No start and end positions for playOnce
- .setSample - does this work ? does it take the file address ?
- Stereo samples - make clear in dcoumentation
- Reverse rates don't work properly. Plays correctly then produces a load of noise. Probably some minor logic with the counter
- No consistency of methods between these three objects.
.play .setSample
.getNormalisedPosition .getPosition .play .play2 - ??? .setPosition .setSample
.getNormalisedPosition .getPosition .play .setLoopEnd .setLoopStart .setPosition .setSample
Can we have a grainPlayer that takes the following arguments
- trigger
- grainDur
- rate
- pos
I always end up reconstructing this from the maxiGrain object which is annoying.
Ideally I would love an inheritable player class where I could write my own playback functions processing the sample with other maxiLib objects as well.
Is there any way around the vector double issue ? Really weird that pan goes from 0 to 1 not -1 to 1
The biquad filters don’t seem to work - let’s have Butterworth LPF, HPF and BPF
We have .mtof now let’s have
.ftom .atodb .dbtoa
Line Xline AttackRelease AttackSustainRelease OnePole
The name is there but it’s undefined
Could we write a wrapper class for maxiLib. How much overhead is in an extra function call ? This way users can easily read the source code / use the console to discern functions ? Ideally maxiLib would be organised into readable wrapper code and stripped down sound engine.
Consider adjusting the volume ! Use more variables and improve comments to make it clear what the arguments are Lots of variants on sequencing - why not use clock all the way through ?
- Counting 2 has an error
- Poor code formatting in Counting 3
- Counting 4 - improve readability
- Envelope - implicitly adds a property called trigger to myEnvelope - very confusing
- Filter Example - horrible code formatting for conditional / could we start with a more straightforward filter before this version
- FiltersSVF - doesn’t appear to do much
- Advanced filters - this isn’t really an example as none of these filters are included in maxiLIb
- Monosynth - yet another variation on sequencing
- Polysynth - displayed code is incomplete (it works fine on chrome)
- Replicant - still has cout in it !
- Compressor not sure why the commented out code is there
- Additive Synth - incorrectly labelled. Should be one of the earlier examples
- Analysis - it might be useful to have a simple canvas drawing wrapper as an addon / part of maxiLib ?
- Granular Synthesis - not what I think of when I hear the term. The comments are confusing. There aren’t enough comments and the output is pretty boring.
- Sample Example - surely goes ahead of grains and drumMachine. Why the sine player
- improve on the current API docs
- how about a processing style reference page ?