Pianola demo
-
I am planning to make demos using series of javascript calls to automate action in a web dialog as well as the results of its callbacks on a Sketchup model. The function calls are OK and, as input is very small, typing is via action on a screen keypad. But I am wondering about showing the cursor and making the clicks realistic - with a pianola you can see the keys move but with a software application ... ?
Know of anything pre-made for this? Thanks.
-
Well I have made an attempt and it seems quite useful. The nameset application it demonstrates in part is not sufficiently finished so, ironically I have had to capture a video of the [pianola type demo] action. (I excluded the SU display which it manipulates as the avi file became too big.)
My initial thoughts include:
It is a bit like learning to drive in a car which has dual controls. You are in the real thing but the action is not fully under your control.
The pace is dictated by the viewer, and, in my example, the viewer can take over and just use the demo as a starter (aide-memoire).
There is no external software or websites to rely on and the display resolution and object sizes are real.
If there were just one demo plug in, it could link to many demos in a subdirectory.
The routines are modular, and if made as in the code box there is no need to worry about changing the sequence. (But I need to change the way the cursor coords are worked).
The only fake things in my example are the cursor and input but I think a bit more work on these will make them visually credible. I know most of the Sketchup commands can be given via the Ruby API but I wonder about the importance of dropdown menus (they could be listed in the web dialog).
The file sizes in this example: guide.js - 5kb; guideMovement001.avi - 19522 kb.
//routine arrays gd = [[1,"Movement"]]; gd.push([[5,rows],[3,2],["n210",5,"nold"],"Clicking to navigate and activate"]); //gd.push([[3,2],[2,0],["n210",5,"nold"],"Clicking again to invoke action"]); gd.push([[2,0],[3,-1],["n85",6,"nold"],"Moving down the trail"]); gd.push([[3,2],[3,1],["n156",7,"nold"],"Component is also selected in Sketchup"]); gd.push([[3,1],[4,4],["Type",0,"dold"],["Setting name triplet; type set on import"]]); gd.push([[4,4],[4,1],["Genus",0,"dold"],["but not genus name"]]); gd.push([[4,1],[5,0],["Input",1,"dold"],["opening input box"]]); gd.push([[5,0],[5,0],["Inp",1,"dold","Wood"],["Inputting name"]]); gd.push([[5,0],[5,0],["Confirm",1,"dold","Wood"],["Clicking ← to add name to nset and word store"]]); gd.push([[5,1],[3,-3],["n86",7,"nold"],["Inspecting names for other gable"]]); gd.push([[3,-3],[4,0],["Genus",0,"dold"],["Opening options"]]); gd.push([[4,0],[5,0],["Wood",1,"dold"],["Clicking name from word store"]]); gd.push([[5,0],[5,0],["Confirm",1,"dold"],["Clicking ← to add stored unique name to nset"]]); gd.push([[5,0],[4,-3],["Menu",0,"dold"],["Opening device menu"]]); gd.push([[4,-3],[5,-3],["m3",0,"mold"],["Opening Graphic device menu"]]); gd.push([[5,-3],[5,0],["m31",1,"mold"],["Opening Import device"]]); gd.push([[4,1],[6,0],["Finish"],["Close "+gd[0][1] + " guide"]]); config.guide = gd;
-
And
... it can be quick and easy to edit/customise in an open source environment.
... it could have audio commentary.
Advertisement