ToDo: For What is That

From Audacity Wiki
Jump to: navigation, search
Automation Progress: "What is That?" Audacity Manual page


  • Initial work
    • Done.png Initial experiments with javascript tools.
      • Likely to use canvas.
      • Repainting canvas completely looks to be fast enough that we don't need to be smarter.
    • Done.png Proposal page set up with some mock ups.
    • Done.png Design concept for annotation interaction properly worked out.
  • Coding
    • Done.png Png images captured for the very very basics.
    • Done.png Image and manual-contents iframe positioned and sized.
    • Done.png Sub areas (e.g. support annotation of buttons within toolbars, sliders within TCP)
    • Done.png Drawing of menu bar menus.
    • Done.png Refine menu bar clicking/highlighting.
    • Done.png Basic linkage of regions to html.
    • Done.png Linkage alternatives, e.g. 'Track Menu' has two targets.
    • This affects tooltips. We have two tooltips with the same 'key', but they are matched up correctly.
  • Capture local copies of wiki/manual html for right hand side-strip.
    • Done.png Construct new top-level html side-strip content.
    • Done.png Convert 20 Sample html pages to format for side-strip
    • Done.png Convert remaining html pages to format for side-strip
    • Done.png Convert 303.css to narrow format
    • Done.png Regenerate with a modern capture of the manual, including the Extra menu pages.
  • Spec file creation
    • Done.png Python script for html file conversion for side-strip (using beautiful soup approach)
    • Done.png Python script for spec file creation (initial work is semi automated, semi by hand) By hand, but helped by automation.
    • Done.png Entry in spec file for Menubar. Added by hand, not automatic.
    • Done.png Toolbar/Buttons Areas/Subareas Spec File
    • Done.png TrackPanel Areas/Subareas Spec File
    • Done.png Menus Spec File
  • Spec files.
    • Done.png Spec file containing the Audacity menu information.
    • Done.png Spec files for annotation locations. Compute annotation locations.
    • Done.png Spec file for main toolbar areas.
    • Done.png Spec file for sub areas.
    • Done.png Spec file for image cache.
    • Done.png Auto generate caption list from spec file.
    • Done.png Compute slide location from area location. Add slide anchor names.
  • Implement annotation arrows
    • Done.png Basics.
    • Done.png On faded panel.
    • Done.png Smarter 'best' arrows. (compute edges to join).
  • Hosting

Snag List

  • Done.png Reset does not work when in a menu item.
  • Done.png Workaround whole-site caching issue. used a version number in the path
  • Done.png Workaround CORS wiki caching issue. used a timestamp in the to-wiki request
  • Done.png Menu image maps have approximate hotspots, the right width, but location can be out slightly.
  • Done.png Toolbar and menu image maps require clicking around to generate them, prior to capture.
  • Done.png Toolbar image maps may link to the 'wrong' item where two items like 'Cut' have the same name. (one cut is for audio, one is for labels).

Optional Extras

  • Export for manual.
    • Done.png Choose for-manual or for-WIT version of annotations.
    • The menu layout changes between the two. The manual needs a more compressed format.
    • Done.png Export Current image
    • This works for toolbars, menus and the all-in-one numbered front page.
    • Done.png Export Complete Annotation imagemap
    • Done.png Export Complete Menu imagemap
    • Done.png Export Complete Keyboard reference
    • Done.png Export Complete Automation reference
  • Dynamic loader
  • Done.png Developer's version - jumps into code behind the feature.
    • This is using a list of Doxygen SHAS to get to the doxygen documentation of functions in the menus.
    • Many further extensions are possible to better support developers learning about Audacity.
  • Done.png Experiment with what-is-that for Audacity architecture.
  • Done.png Styling with new website theme.
  • Content
    • ToDo.png Audacity preferences panels.
    • ToDo.png All 3 regions in the status bar.
    • Done.png (optional) Numbers on the main screen.
    • ToDo.png Drawing of track menu and other context menus.
    • More image maps
      • A cleverer version of the code would also make switching between these images more natural.
      • ToDo.png An image map that shows clips.
      • ToDo.png Image map for MIDI.
      • ToDo.png Image map for Time Tracks.
      • ToDo.png Image map for Spectrogram, with spectral selection toolbar.
      • ToDo.png Image map showing SHIFT + Transport toolbar
  • Done.png Separately show general URLs and Doxygen URL.
  • Done.png Export files as zip (using zip.js) Support multiple (local) file downloads. It's as fast and more convenient.
  • Done.png Reset button. (Can also click on title bar instead).


  • ToDo.png Pull manual pages directly from the wiki, rather than rely on a previously wiki2html converted copy as the base.
    • Smarter CSS that handles both wide and narrow screens.
  • ToDo.png (Optional) Push generated pages to the wiki, especially the tables like Automation and Shortcuts.
  • Done.png Auto-walk the menu and toolbar image maps, to generate the hit regions correctly.
  • ToDo.png Zoom-In images, where a click may take you into a new diagram with more detail.
    • It is possible, and would be nice for this to be animated.
    • This could also allow us to have toolbars closer to the edge, and still annotate them on both sides.
  • Implement effects (transitions)
    • ToDo.png Implement highlight boxes.
    • ToDo.png Implement smooth scroll-to behaviour.
    • ToDo.png Implement annotation fades.
    • ToDo.png Implement transition effect for full-page help.
  • Annotation system flexibility
    • ToDo.png Fine tuning of annotation choices via wiki data.
    • ToDo.png Annotations to side, not just above and below.
    • ToDo.png Annotations in a circle around.
    • ToDo.png Developer mode for more easily creating the annotations.
    • ToDo.png Annotations measure and centre text.
  • Greater flexibility in the menu generation
    • ToDo.png Compact format for long-menus like effects.
    • Done.png Auto-detect menu being hidden, and reposition it. Ensure menu is drawn even if partly hidden.
    • ToDo.png Merge the menu system and the annotation label system by making both more flexible.
    • ToDo.png Different styles of menu, such as sunburst
  • User menu feature
    • ToDo.png User can rearrange the menu using click, drag and textbox editing, and then download a spec file that states the new order.
  • ToDo.png Shaped regions, not just rectangles.
    • I'd like to do this with a colour-by-numbers approach as it makes producing complex diagrams much easier.
  • Reverse linkings
    • ToDo.png Clicking in the scroller updates what is selected in the image.
    • ToDo.png Image (e.g. of menus) removed from the scroller page.


Merger of static-wiki with WIT

All the image map diagrams in wiki could become dynamic WIT style image maps. Rather than have a WIT copy of the manual and separately an online static copy, they could be one and the same.

Developer's Version (content)

The manual image map succeeds because there is plenty of content in wiki to support it. You're drilling down not just into names, but into explanations of features. The architectural diagram is sparser. We should look at building up the developer section of the wiki, writing design topics in the wiki for each component of the system. Then we use WIT to provide navigation and a link direct into the doxygenated code.