From O|D Wiki
- 1 Issues
- 2 Feature Requests
- 2.1 In Progress
- 2.2 Definitely
- 2.2.1 Middle Layer
- 2.2.2 Custom Units
- 2.2.3 Unit Parameters
- 2.2.4 UI enhancements
- 2.2.5 Scopes
- 2.2.6 Firmware updating
- 2.2.7 Presets
- 2.2.8 Slicing
- 2.2.9 File browser
- 2.2.10 Looping
- 2.2.11 Sampling
- 2.2.12 Mixer(s)
- 2.2.13 Clocking and Timing
- 2.2.14 EQ3
- 2.2.15 Delay(s)
- 2.2.16 Oscillators
- 2.2.17 Utilities
- 2.2.18 Filters
- 2.2.19 Lookup Table (LUT)
- 2.2.20 Wavetables
- 2.2.21 Unit templates
- 2.2.22 Settings
- 2.2.23 Command and Event Bus
- 2.3 Eventually
Reported but not confirmed crashes
- Crash when quicksaving a CPU-heavy (or memory-heavy?) patch (50+ units).
- None at the moment
- 6-track Recorder > Save Recording dialog in 6-track recorder does not show files when saving a single track.
- Slicing View > Not possible to revert slice edits.
- Any Player with shift > bugs in shift parameter, only works in slicing mode
- Crash when opening quicksaves and patch contains 50+ units.
- Grain Stretch > grain rendering is not respecting slice boundaries.
- After X hours, sample playback glitches (reported but not confirmed on my end yet but seems to be power supply related).
- Discontinuous playback when playing unit shares buffer with another recording unit (play/record head leapfrog bug).
- Sample Player wave display sometimes does not reflect newly recorded content of a shared buffer. (see Forum: Question about looper/recorders and sample players with shared buffers)
- Input resampling algorithm has aliasing artifacts.
- Standardize zoom buttons everywhere.
- scope traces draw outside of border
- frequency display on gate/trig parameters sporadically shows incorrect value
- short triggers do not show up on the bicolor LEDs (frame rate aliasing)
- Mono subchains of stereo chains do not show signals on scope if 2nd channel is selected.
_,'| _.-''``-...___..--';) /_ \'. __..-' , ,--...--''' <\ .`--''' ` /' in-progress `-';' ; ; ; __...--'' ___...--_..' .;.' (,__....----''' (,..--''
- hold mode
- command bus
- cherry-picking from list below
_ | \ | | | | |\ | | /, ~\ / / X `-.....-------./ / ~-. ~ ~ | definitely \ / | \ /_ ___\ / | /\ ~~~~~ \ | | | \ || | | |\ \ || ) (_/ (_/ ((_/
- View cycling assumes only two views. Allow for more.
- Promote/demote controls on embedded units to the parent custom unit.
- Hide controls that are used for implementation only. Differentiation between UI and implementation.
- user bookmarking of specific values for quick selection of often used values (via shift+encoder)
- parameter recall via stack semantics (push and pop)
- combine L/R faders and use channel select buttons to determine L vs R vs LR
- AIFF support
- remap Gx and INx when loading a chain preset into a different channel
- Clearly display buffer/sample assignment in units that have them.
- Tween GUI animations against wall clock instead of frame clock
- Give me a list of everything that is connected to source X!
- Add note display to any unit with a V/oct + f0 controls.
- Custom/MultiBand > The sub-display is empty for the bands/patch.
- Setting > Auto-purge unused saved samples from pool when running out of sample memory.
- Put back unit re-init command.
- tuning info
- adjustable time and amplitude scales
- implement restore points (copies of files that were changed by the firmware update)
- add scripts to be executed before and after the installation
- shareable packaging
- projects that contain quicksaves and paramsets.
- Slicing View > Slice on Loudness.
- Sample Slicer > No way to remove loop points without deleting slice.
- Global slicing vs local slicing.
- many slice files for one audio file
- many audio files for one slice file
- learn function for slice selection
- support for WAV cue chunks (see thread)
- JSON/XML formatted files
- ops: rename, delete, move
- package preset for sharing
- layering looper (see thread)
- variable speed recording
- pedal Looper > double loop length
- speed control
- more monitoring options
- half speed
- loop volume level
- option to begin overdubbing immediately after first record pass.
- Clocked Players > allow use of derived clock for sync.
- Playlist Player (or add list to Card Player)
- enhance Card Player to support negative speeds
- Ping-Pong on gate Hi
- Better support for clickless playback of shared buffers that are being recorded.
- next slice trigger
- more slice types (bounce, jump, random)
- sampled instrument player (i.e. keymapped ADSR samples, sfz files)
- drum kit player (i.e. multiple one-shots in parallel)
- Offer to purge unused samples when sample memory is full. (see thread)
- end of slice trigger (see thread)
- end of slice fade
- play to end of sample even in sliced mode (see thread)
- add/remove channels
- specialize mixer into 3 types: insertion, layering, song (see forum post)
Clocking and Timing
- snap and recall tempo for Tap Tempo
- graphical representation: corrected bode plot
- freeze/reverse via gate input
- more waveforms
- sinc-based pulse-trains
- Grid Quantizer > add ceiling and nearest rounding modes.
- Envelope Follower > add output gain
- Envelope Follower > Option to disable rectification.
- Scrub-a-Dub > A turntable simulator that outputs a speed value given base speed, force (of finger), motion (of finger)
- Exponential VCA
- VCA+Envelope quick combo
- more peaks (or specialized formant filter?)
- add resonant band pass
- Exact Convolution > Add "Edit Sample" to menu.
- Approximate Convolution
Lookup Table (LUT)
- load/save as WAV
- basically looper optimized for very short loops with pitch/loudness normalization
- user sets start and stop points in a source sample
- (user-assisted) pitch normalization of each wavetable/loop
- (user-assisted) loudness normalization of each wavetable/loop
- morph between multiple wavetables/loops
- phase modulation
- offset modulation
- user saves the state of a unit as a special preset that will be used whenever instantiating the unit
- button bounce time
- default delay max time
- default fade time
- flash message time
- zoom step for wave displays
- common default parameter values (mixer gain, VCA level, etc.)
Command and Event Bus
- command messages broadcast or sent to specific units
- example of command response: clear buffer to all loopers
- example of event generation: End-of-Cycle
- command generation unit that will emit a set of commands when a trigger is received
- events are efficient (i.e. frame-rate) triggers?
|\ _,,,---,,_ /,`.-'`' -. ;-;;,_ |,4- ) )-,_..;\ ( `'-' eventually '---''(_/--' `-'\_)
- slow random source
- simple step sequencer
- digital waveguide synthesis (wind and string models)
- (experimental) data-driven multitap delay: real-time onset detectors feed clock and feedback amount
- (experimental) non-linear oscillator (driven oscillations)
- (experimental) automatic loop/wavetable clustering