Skip to content

Spunge/octothorpe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Octothorpe

Turn your APC40 into a step sequencer

TODO

Patterns

  • Pattern click activates / deactivates note with current velocity
  • While holding first note down, change note length by clicking a following note in the same key
  • row 0x32 -> change pattern length
  • row 0x30 -> change velocity level
  • row 0x31 -> change zoom level
  • bank select moves viewport in horizontally, also moving zoom indicator
  • bank select moves viewport vertically
  • Indicator shows in currently playing pattern
  • Indicator should draw on reposition
  • Indicator should draw on instrument / pattern selection
  • Use playable selector as indicator of base note / octave offset in octaves while scrolling, switching back to selected pattern after a while.
  • Notes in grid shouldn't be able to overlap, shorten previous note
  • Record notes of keyboard & drumpad
  • Update note grid in realtime on cycles with keyboard input
  • Make cue knob navigate notes view

Phrases

  • Render phrases
  • Toggle phrases
  • Handle changing pattern length in phrases by keeping pattern end around
  • Play notes in pattern for PlayedPatterns that are longer as pattern
  • Indicator shows progress in currently playing phrase
  • Phrases shouldn't be able to overlap, shorten previous phrase
  • Make phrases red instead of green

Instruments

  • track selection row switches between instuments
  • master switches between first & second group of 8 instuments
  • scene lauch row selects patterns in pattern view
  • scene lauch row selects phrases in phrase view
  • Copy playables by holding playable key & clicking other playable key
  • Shift + playable clears view of pattern / phrase

Sequences

  • Sequences are played
  • Pan, send A etc. show corresponding sequence
  • Queue sequence by shift clicking sequence button
  • Show active sequence by blinking sequence light in sequence grid
  • Queued sequence starts after sequence hits a common denominator for all playing phrases
  • row 0x32 -> instrument outputs yes/no
  • Make indicator lights light up for notes played by instrument
  • Queue sequence on shift click

Tempo

  • Fix tap tempo

Effect knobs

  • Send knobs input to output for channel of selected instrument
  • Keep knob state around and dispatch to controller when plugin parameters change
  • Record effect knobs into phrases

Improvements

  • Create one playable abstraction for pattern / phrase so we dont have to write zoom / length / etc. code twice
  • Don't check every note against the cycle
  • Don't send same note on message multiple times to controller when grid is zoomed out on large patterns
  • Save state to file

Idea / unsure about

Patterns / Phrases

  • We now have 5 phrases / patterns, 1 under every scene launch button, we could implement shift+up/down for scrolling through more of these
  • Fold pattern grid to notes in key / all notes
  • shift + row 0x31 -> move zoom viewport
  • Do smart stuff with the octave indicator, like 6 on/6 off on octave 0, 7on/5off on octave 1, 5on/7off on octave -1

Velocity

  • Add a way to change velocity of notes

About

Akai APC40 step sequencer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages