handeyeco / deluge-shortcuts Goto Github PK
View Code? Open in Web Editor NEWSynthstrom Deluge: website with a searchable list of shortcuts
Home Page: https://handeyeco.github.io/deluge-shortcuts/
License: Other
Synthstrom Deluge: website with a searchable list of shortcuts
Home Page: https://handeyeco.github.io/deluge-shortcuts/
License: Other
It would help developers if we could generate a cross-reference table. This would be a list of each button and knob and would show all the combinations it participates in.
Something like:
X (Everything thaat uses the X knob)
Tempo (everything that uses the Tempo knob)
press (everything that involves pressing something)
(and with permutations):
press (X) hold(SHIFT)
etc.
Talking with the people on the Deluge Discord, there's an interest in creating a standard for the syntax that describes user interactions. The goals:
This is basically what I've done on this site. For instance:
{
title: "Cycle default scales",
command: "hold(SHIFT) press(SCALE)",
views: ["synth", "midi", "cv"],
}
Another solution was proposed on the Discord:
{
"features": [
{
"name": "In-Key layout",
"description": "Play notes only in scale",
"keywords": ["keyboard", "performance"],
"video": "https://youtube.com/video/kQmqdpUeciY"
}
],
"ux": [
{
"name": "Scroll through layouts",
"context": "keyboard_screen",
"actions": [
{
"name": "Scroll negatively",
"modifier": {
"button": "SCALE",
"type": "hold"
},
"actionKey": "SelectionScrollLeft"
}
]
}
]
}
The manual takes somewhat of a middle ground:
Notes on the screenshot:
+
sign indicates a comboI think wook's suggestion makes sense, although I might suggest something like:
const feature = {
name: "Load sample (Silent)",
description: "Load a sample into a kit of synth silently",
views: [Views.Synth, Views.Kit],
note: "Scroll to sample and press select. Also, Shift + Browse grid shortcut on an existing row to open browser.",
steps: [
{
substeps: [
{
action: Actions.Hold,
control: Controls.Shift,
},
{
action: Actions.Hold,
control: Controls.Audition,
}
{
action: Actions.Press,
control: Controls.Load,
}
]
},
{
action: Actions.Turn,
control: Controls.Select,
},
{
action: Actions.Press,
control: Controls.Select,
},
]
}
So I guess:
enum Action { HOLD, PRESS, TURN, TURN_LEFT } // ...etc
enum Control { SELECT, SHIFT, AUDITION, X, Y } // ...etc
enum View { SONG, KIT, MIDI, CV, SYNTH, CLIP } // ...etc
type Step = {
action: Action,
control: Control,
note?: string,
}
type Combo = {
substeps: Array<Step>,
note?: string,
}
type Feature = {
name: string,
views: Array<View>,
steps: Array<Step | Combo>,
description?: string,
note?: string
}
I'm a little worried about the added complexity, but I think as long as combos can't contain combos it should be fine.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.