Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 2.12 KB

README.md

File metadata and controls

51 lines (37 loc) · 2.12 KB

xen

an implementation on De Casteljau's algorithm, capable of sending MIDI (trigger), OSC to target client/server eg.SuperCollider (OSC only works in repl mode), NOTE: xen is backend-agnostic, Intentionally used for live performance. thus, no built-in audio engine is implemented.

Run

git clone https://github.com/karnpapon/xen.git
cd xen
npm install
npm run start

# in order to send OSC
# open new terminal tab.
cd bridge  
npm install
node index.js

Keybinding

  • play/pause: spacebar
  • add new point: cmd + left click
  • add point group: Shift + n = spawn new point group.
  • remove point: right click at target point (make sure group is selected).
  • trigger first/last line t, since cubic bezier calculated by four points. by nature the distance between point is basically a straight line. thus moving point cannot avoid colliding with first line(start) and last line(end). use this option to avoid trigger first/last line.
  • switch between point group: tab, selected group will be highlighted in BLUE color rgb(0,0,255)
  • toggle control-line: c = only current selected group, Shift + C = toggle all group.
  • toggle L-Point: l = toggle even recursived points (collision in RED), Shift + L = toggle all points.
  • toggle R-point: r = toggle odd recursive points (collision in BLUE), Shift + R = toggle all points.

File/Folder

  • /src: main xen's sourcecode.
  • /tool: for test sending msg(osc).
  • /bridge: for receiving msg(osc) from browser and forward to target server.

IO

  • midi.
  • osc: Sends OSC message, NOTE run node bridge/index.js first. in order to send OSC out to host.

Resources