maximecb / noisecraft

Browser-based visual programming language and platform for sound synthesis.
https://noisecraft.app
GNU General Public License v2.0
1.07k stars 61 forks source link

Touch Input Support #107

Open giiutfff opened 1 year ago

giiutfff commented 1 year ago

Some CSS suggestions:

Prevent swipe down refreshing when scrolling (and replaces overscroll-behavior-x)

body {overscroll-behavior: none;}

Stop scrolling, so selecting nodes is possible. Need a button(select/move) to toggle this.

#editor_div {touch-action: none;}

Moving nodes:

div.node {touch-action: none;}

Other problems with touch input:

Turning knobs doesn't release focus correctly. Nodes can be created when Create Node dialog is closed. Undo, Redo etc are not available.

Also, why I can't make rests(silence) in monoseq? And how do I make chords?

maximecb commented 1 year ago

I'm open to the CSS changes if you open a PR but we would need to make sure that they don't impact desktop/laptop functionality.

Turning knobs doesn't release focus correctly.

Seems fixable but I don't have time to investigate the cause. Open to accepting PRs.

Undo, Redo etc are not available.

There are a number of keyboard shortcuts for various things. To fully support touch, there would probably need to be a side-menu with clickable icons.

Also, why I can't make rests(silence) in monoseq? And how do I make chords?

Shouldn't be a problem creating rests, just turn the note off. For chords, it's a monophonic sequencer, but you can use multiple oscillators.