Closed handeyeco closed 5 months ago
Link to the discussion: https://discord.com/channels/608916579421257728/1181642842075058251/1186390844006207709
Seems like a pretty perfect fit for JSON Schema.
would be thrilled to see these icons i made for the discord used in some way on the shortcut site and/or in the documentation in some way. i'd be open to adding/iterating them where needed.
@PaulFreund Since the proposal is a tweak on your suggestion, I'm going to hold on starting until I get a thumbs up from you; that way I don't go down the wrong path.
Hey :) Looks good I think! I propose we go with it and adapt if we see it's necessary during creation. Thank you for the great initiative!
@PaulFreund I've updated the shortcut site with the new syntax.
Now it puts a "+" sign between steps for combos and generates more human-readable text.
It might not be the prettiest, but it works. Now I just need the new commands from the community firmware and I can add a switch between that and the official firmware.
I agree with @PaulFreund start and the it can be iterated on. I started a Woovebox guide that uses a very simple notation standard it can be found here for interest https://docs.google.com/spreadsheets/d/1WmLYNVm-X8n1uwVZDU6j74C1CA56JChZIGH7ORkVmQA/edit#gid=1072776752
In short the notation for a Deluge task might look something like:
Task: Load synth to track in a kit clip Workflow:
The Woovebox also has contexts like the Deluge (although it is better at maintaining cross context shortcut consistency than the Deluge). So for the above workflow I would describe the context as:
Mode: Song Page: Kit X
- Have a syntax that's … human maintainable
imo that would rather suggest to use YAML as format for human input.
For the sake of avoiding confusion I might replace the SELECT
action with something else depending on what you mean. Perhaps ENTER
and HIGHLIGHT
or similar.
As someone who has written a lot of it over the last 20 years, I would say please not YAML. From my research it seems that configuration languages are all generally pretty trash for one reason or another. KDL is probably the only one that is both nice and well supported. But JSON continues to be "good enough" for most things and enjoys ubiquity, however, so I would stick with that.
As noticed in the PR where I'm working on the Performance View documentation, there are actually 4 different PRESS
values distinct from HOLD
.
I'm not totally sure how to distinguish them, but I think it's important to be able to do so.
QUICK_TAP
/ SLOW_TAP
? (performance)SHORT_PRESS
/ LONG_PRESS
(standard)I'm not using the Deluge much these days, so I'm going to bail on this issue. Y'all are welcome to adapt the work I've already done if it'll work for your needs!
Please describe the problem:
Hey yo 👋 We were talking on the Discord about making a standard for describing shortcuts/actions. The idea is that we'd have this description (likely as JSON) that could be used to auto generate documentation - something like JSDoc. I made something that roughly does this on my deluge-shortcuts site, but it'd be nice if we worked together to make a standard so the community as a whole could benefit.
Anyway, people on the Discord told me to file this so we can converse.
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:
The deluge-shortcuts site
This is basically what I've done on the deluge-shortcuts site. For instance:
Discord proposal
Another solution was proposed on the Discord:
The manual
The manual takes somewhat of a middle ground:
Notes on the screenshot:
+
sign indicates a comboWhat is the expected behavior?
My proposal
I think wook's suggestion makes sense, although I might suggest something like:
So I guess:
I'm a little worried about the added complexity, but I think as long as combos can't contain combos it should be fine.
Steps
Is there a relevant Pull request?
No response
What hardware did you reproduce it with?
OLED
What firmware did you reproduce it with?
Release 1.0/Amadeus
What is the firmware name:
No response
If possible provide the steps to reproduce the issue and upload additional media:
No response