-
Notifications
You must be signed in to change notification settings - Fork 2
Support visual learning of button sequences with mini-diagrams #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
* Adds a "Map" column to first table in the document * Adds several 32 pixel tall illustrations highlighting the buttons needed to activate a feature * Derived from a layered illustration, included. using Affinity Designer.
* 32 px looked too small on web browser through github, which is the target renderer
* Markdown tables automatically resize any images within the bounds of a table cell, and this boundary is determined in part by the header label's length. So I am increasing the length of the header label with a longer word than the prior "Map": "Overview"
* Also add line-breaks to long descriptions in tables * Add "Tip" labels to some sentences in tables
* Was missing a table
* Add table for Extra Processing * Indent extra processing * Add tip for Line In Through with Extra Processing * Update spacing formatting of some button sequences
|
It looks good but I'm not sure that I can maintain this for long term. |
|
I think Photoshop is not convenient enough for long term maintenance. |
Very glad to hear you say that this looks good. I want to help understand Qun myself, and the images help me. ? Please would you share that file here in the PR discussion thread (drag & drop in a comment), for my reference? Thank you for the "white boarder lines" refinement idea. Yes I agree, "cost" of maintaining this is concerning ... more time, mistakes, etc. Qun is fun after learning it, and this extra manual documentation would be extra tedium. I do think it would never become fun, making images, after any amount of time.
I am and I will start working on PNG output. And I will update here as it develops. ? What is the idea for GIF (animated)? Is it, e.g. "S+B1 then S+B2" => two-frame GIF? My steps for script:
|
|
I think it's simple enough to draw everything programmatically then we can remove Photoshop dependency. |
|
File
I received it. The colors and design look fresh, thank you!
ZIP files are supported. They are not "unrolled" for inline preview in a discussion thread :(. So first compress it to share a PSD. Progress I am happy with the Python progress. Thank you for encouraging a programmatic approach. The script now generates a single image from a PSD and a layer list of strings:
Next, I plan to support normal button names: use "B1" instead of "B1 - 1" as above. Then to generate multiple small images. And finally to insert image links into the Markdown file. Soon. 👀 The free & open source app Krita can edit PSDs. It is a paint app with layers. Commercial apps are not needed, Adobe Photoshop nor Affinity Designer. Draw Everything Programmatically
I understand. Krita is also an app dependency, and dependencies give incompatibility + bugs. And geometric drawing can be done in Python. So I could define a JSON, e.g define "B1" and "B2" with: [
{"control":"B1","name":"1","shapes":
[{"shape":"rect","bounds":[238,120,268,180],"color":"0x000000"},{"shape":"rect","bounds":[242,124,264,176],"color":"0xff0000"}]},
{"control":"B2","name":"2","shapes":
[{"shape":"rect","bounds":[278,120,308,180],"color":"0x000000"},{"shape":"rect","bounds":[282,124,304,176],"color":"0xff0000"}]}
...
].. and then parse & execute in Python with Pillow https://note.nkmk.me/en/python-pillow-imagedraw/. I plan to explore this as an optimization later, after prototyping the full script. I have a working image renderer now. And I can improve the app-dependency issue later. |
|
I agree more strongly with you @raspy135 about removing the PSD file from the script toolchain. I tested alternatives this morning, and found problem after problem. So I will support JSON file + Pillow before I release the script. I will move the PR to "DRAFT" status, and continue working. Details, for reference only - not important I tested various apps:
|
* Needs "Button" as first column, moved columns for two tables about Looper
* Move generated images to first column, remove 'Overview' column
|
I created a Python script to generate all the images. Input a Qun README.md and output is images: https://github.com/nrichards/psd-in-md Next: Next I plan to:
Cool It's cool to see the images appear in the output folder - when I run the script, it takes 5 minutes to generate 70 images. This should be faster with flat-images, in the future. Python's Markdown libraries reformat tables. The table columns are widened to fit the text, in the Markdown text file, by the libraries. Currently the tables are compact, and easier to edit, IMO. Since that would be a big and probably painful change, I will
|
* Fixes a buggy image, too * https://github.com/nrichards/psd-in-md
…into button-images
|
@raspy135 I have not explored GIFs and I am open to ideas. I did finish everything else. It has been fun learning and programming. Q: What do you think about the format of the README now? https://github.com/nrichards/Qun-mk2/blob/1b2180217875421f0bde1a11e891b6bf07058621/README.md Unsure E.g. What I have here is (1). I wanted to minimize the changes. However, I am unsure if this layout - [ button names + button image ] is difficult? I feel like (2) looks prettier. I will ask the group on Discord what other ideas to try.
Ideas - Flexible tags - may be fun
|
* Pattern chaining says to press [1-8] , [1-8] and that is ambiguous for the Regex. Adding "then" makes it work. Just using "," is ambiguous for [1-3,7,8] unfortunately.
|
I'm happy with what this gives, and will reopen the PR for review now. FYI @raspy135 - for your consideration. |
|
Thank you for all your effort. |
It is my pleasure. Please let me know if does not feel manageable. Here are the Python scripts: https://github.com/nrichards/mdpicgen The demo clones Qun-mk2, and mdpicgen, prepares dependencies, then CD's into mdpicgen, and runs to make gifs then markdown: python3 . --md-file ../Qun-mk2/README.md --gif --image-out-dir ../Qun-mk2/manual_images/but imageset
python3 . --md-file ../Qun-mk2/README.md --md-out-file ../out.md --gif --image-out-dir manual_images/butI am happy to walk through this |

This PR introduces small animated reference images alongside many text commands for the Qun control surface:
manual_images/butfolder (https://github.com/nrichards/Qun-mk2/tree/button-images/manual_images/but).It uses a new tool
mdpicgen, created to automate both creating these images from sets of PNGs, and updating theREADME.md.Additional changes
Usage
Set up
CLONE: Clone https://github.com/nrichards/mdpicgen -- generates images and writes updated Markdown.
Update Qun README.md, for new button commands
WRITE: For tables with headers
"Button | ... ""SHIFT + MODE PLAY | Dump the current preset ...."<br>after the button sequence"SHIFT + MODE PLAY<br>| Dump the current preset ...."GENERATE: Then generate the images + an updated Markdown file:
COPY:
README-merge_me.md-- DIFF, and use Markdown preview tool.manual_images/but.README-merge_me.mdover theREADME.md.Customize it
--image-heightparam.Motivation
Qun offers several features through single-/multiple-button presses. Qun is a small device. The README documentation helps identify features by using text to declare the button commands to access these features, e.g. "SHIFT + LOOPER PLAY + B[1-3] or B[7-8]".
Visual thinkers like me can be challenged to learn button press sequence when presented as text. I find it challenging to translate the button sequence text into a mental visual or haptic experience while I simultaneously read and think about the functional description.
I find that when I have an image to look at, I can learn more effectively -- I can look at the description and then at the combination of buttons .. and I mentally feel my hand shape which is needed to execute the Qun command. I can repeat this thinking moment to teach myself more quickly and comfortably than when I also am visualizing text which declares a set of commands.
Limitation
"Button"header"<br>"tags inside table column, after button textExamples
Diff -
mdpicgenupdates MarkdownNew table for Sequencer Live Recording
qun-seq-live-rec-buttons.mov
PDF shows "poster images" with full sequence
nrichards_Qun-mk2 at button-images.pdf