@d’Composer @CuteFox @Sparvnätter
- ! ! ! Check for 'TODO:' in files
- Pattern instances can have a negative
beat_start
but should not
- Try to use
APP->event->heldKeys
-> https://vcvrack.com/docs-v2/structrack_1_1widget_1_1EventState#aa6bf4a0628b3cabdffc769419d47f649 -> https://github.com/VCVRack/Rack/blob/8c6f41b778b4bf8860b89b36d5503fd37924077f/src/window/Window.cpp#L229
- New pattern already filled and un-editable
- Crash on adding pattern / synth -> Crash from ArrayExt when freing previous ptr while it should not It should be NULL but can't find why it's not.
- Note effects not saved !
- Mod will recording as CV ?
- CV Fx
- Note effect 'Mxy' set synth CV channel x to y (0v to 10v) OR
- Note effect 'Mxx' set synth CV channel 0 to x (0v to 9.9v) OR
- Both ? 'Mxx' & 'mxy'
-
Midi input
- Midi input set velocity
- Midi polyphonic input
-
Information / Help display (bottom left)
- Pattern mode: Active column / cell / note effect information
- Timeline mode: Current time & total time (in beats)
-
Shortcuts
- Transpose shortcut (ctrl + arrows = semitone ; maj + arrows = octave)
- Use num pad to enter numbers
- Play / pause shortcuts
-
Slew limiter to panning & velocity in synth module (avoid click)
-
Synth module needs CV output to be connected even with mapping
-
Polyphonic rotation rotate to find next available channel (if possible)
-
Pattern instance selection + edition
-
Auto-scroll playing timeline
-
! ! ! Selection + multiple edition ! ! !
-
? ? ? FX controlling pattern length ? ? ?
-
Glide allowing effects ? -> Useful to have chance or random note / octave
-
What happens to overriden notes / voices when synth is used with many notes ?
-
Tuning
- Multiple tuning - switch between them (via CV ?)
- Tuning view
-
User enhancements
- Shortcuts
- Shift row up / down (insert / remove line)
- Remove instance with Del (consume Del key)
- Use arrows to move in timeline view
- Line selection (MAJ key)
- Change note stop shortcut ('.' ?)
- Help in context menu (shortcuts, effects, etc)
- Ctrl-Z
- JSON saving format (more stable)
- Crash on file/revert when song playing
- Crash on startup
- Crash with chance effect
- Module to control playhead
- Shortcuts
-
PATTERN EDITOR SHORTCUTS
- Select multiple cells
- Move cell / selection up / down
- Copy cell / selection
- Cut cell / selection
- Paste cell / selection
-
MODULE Tracker
- BACKEND
- PLAY
- Play song
- Play pattern solo
- Play pattern
- Play matrix
- TIMELINE
- PATTERN
- SWING
- NOTE
- Mode gate
- Mode trigger
- Mode drum
- Note new (run new note)
- Note keep (keep active note)
- Note stop (stop active note)
- Note glide (glide note, vel, pan)
- Glide pitch
- Glide velocity + panning
- Glide effects (chance, note, etc)
- Pitch temperament scale
- Pitch base offset (from 440hz)
- CV
- Mode CV
- Mode Gate
- Mode BPM
- Mode tuning ?
- CV set (set cv point)
- CV value
- CV curve
- CV keep (continue interpolation)
- FX Column (effects active on entire column, from context menu)
- LIVE
- Play live (with caps lock, write in any case)
- Record live (with play and caps lock on)
- Move cursor (when record is on)
- Record notes
- Single column
- Multiple columns
- Record delays
- Record MPE (with effects)
- External midi keyboard
- Select keyboard (from context menu)
- Play keyboard
- PLAY
- FRONTEND
- Buttons
- Play
- Play song
- Play pattern
- Pause
- Stop
- View
- View pattern
- View timeline
- View matrix
- View tuning
- Pattern view modes
- View velocity
- View panning
- View delay
- View glide
- View effects
- Pattern values
- Change octave
- Change line jump
- Play
- Display
- Screen mode (Tracker + Timeline + Matrix + Tuning)
- Screen Tracker
- View modes (amp + pan + ...)
- Layer tracker (text only)
- Layer visual (CV)
- Mode CV
- Mode BPM
- Mode Gate
- Interpolation
- Delay
- Curve
- Layer user (cursor + beat cursor)
- Interaction
- Keyboard
- Edit pattern
- Jump line
- Left click (cursor)
- Right click
- Edit pattern
- Edit column
- Edit column effects
- Keyboard
- Screen Timeline
- Lines
- Columns
- Add instance
- Del instance
- Select instance
- Move instance
- Resize instance (fix negative
beat_start
)
- Screen Matrix
- Screen Tuning
- Default tuning
- User tuning
- Clean ui
- Context menu general
- Frame rate (audio, audio / 2, audio / 4, ...)
- Base pitch (default: 440)
- Tuning
- Presets temperament (equal, just, ...)
- Presets scales (major, minor, modes, ...)
- Presets EDO (2edo, 3edo, ..., 11edo)
- Manual
- Cent
- Ratio
- Edo
- Context menu specific
- Synth
- Synth channel count
- Synth mode (gate | trigger | drum)
- Pattern
- Pattern length
- Pattern lpb
- Pattern note column count
- Pattern CV column count
- Pattern color
- Column
- Mute
- Note
- Effect count
- CV
- Mode
- Synth
- Index
- Synth
- Display Side
- Screen Side Synths (Tracker)
- Draw synths
- Select synth
- Edit Synth
- Basics (name + color)
- Synth mode & channel count
- Add synth
- Del synth
- Move synth (move & replace in patterns)
- Scroll
- Screen Side Patterns (Timeline)
- Draw patterns
- Select pattern
- Double click : open pattern tracker
- Edit pattern
- Basics (name + color)
- Pattern specs (length, lpb, etc.)
- Add pattern
- Del pattern (remove instances)
- Move pattern (move & replace in instances)
- Duplicate pattern
- Scroll
- Screen Side Synths (Tracker)
- Buttons
- SAVE
- Save data
- Load data
- Load template on empty
- HISTORY (UNDO / REDO)
- ActionNote (replace note cell by another)
- ActionCV (replace cv cell by another)
- ActionSongResize (resize song)
- ActionPatternResize (resize pattern length or notes or cv. Can contain multiple removed ActionNote & ActionCV)
- ActionPatternColumn (change pattern column)
- ActionSynth (change synth)
- ActionSynthOut (change synth output module)
- BACKEND
-
MODULE TrackerSynth / TrackerDrum
- FRONTEND
- Context menu
- CV mode range
- CV mode mapping
- Context menu
- BACKEND
- CV
- CV mode range (min / max sliders)
- CV mode mapping
- CV
- FRONTEND
-
MODULE TrackerClock (mult & div clock)
- Mode fixed (Restart on loop)
- Mode Loop (Keep going on loop)
-
MODULE TrackerPhase (mult & div synced LFO)
- Mode fixed (Restart on loop)
- Mode Loop (Keep going on loop)
-
MODULE TrackerQuant (quantizer with Tracker pitch & temperament)
- Mode note nearest (input searched into scale table)
- Mode index (input used to index scale table)
- Mode index down
- Mode index up
- Mode index round
-
MODULE TrackerState (Playing gate & trigger)
- State outputs
- Play gate
- Play trigger
- Stop trigger
- Play + Stop trigger
- Visualizer display
- Synth voices note (Y axis)
- Synth voices velocity (width or alpha)
- Synth voices panning (X axis)
- Synth voices color
- State outputs
- Axx Amplitude random (xx: noise amplitude) Multiply base amplitude by noise (noise can only make it lower)
- Pxx Pan random (xx: pan amplitude) Add noise to base panning (bipolar noise)
- pxx Pitch (micro) random (xx: pitch amplitude)
- txx Tuning (micro) fixed (xx: pitch amplitude up to 1 semitone) xx = 0 : Note n xx = 99 : Note n + 1 Transition from 0 to 99 depends on temperament table Microtonal + MPE
- Dxx Delay random (xx: delay amplitude)
- Oxy Octave random (x: mode y: amplitude) x = 0 : -+ offset x = 1 : + offset x = 2 : - offset
- Mxy Note random semitone (x: semitone tone 1st offset y: 2nd offset) Peek random note between [base note], [base + x] and [base + y] x & y being semitone offset Can be cumulable
- Vxy Vibrato (x: speed y: amplitude)
- Txy Tremolo (x: speed y: amplitude)
- Cxx Chance keep (xx: chance) Keep previous running note on if chance does not occur
- cxx Chance stop (xx: chance) Stop previous running note even if chance does not occur
- Rxx Ratchet / Retrigger (xx: retrigger interval) ? (x: amp fade y: interval) x<5 : decrease | x>5 : increase | x=5 : static y represents the interval between retriggers