User:James/AU14TrackPanelDemo

From Audacity Wiki
Jump to: navigation, search

Some notes on the TrackPanel plug-in developed by James, and shown at AU14.

The new TrackPanel is likely to be an optional plug-in for Audacity for some considerable time, as we make decisions as to how to fully migrate over to using it. It will be positioned as a loop-editor to start with. It will edit audio data in memory, and have a limit of about 15 mins (300Mb Stereo 32bit float at CD rate, 44.1KHz). It will use an edit list rather than baking in the changes, and will simply complain and ask you to save, if you stack too many effects up for Audacity to keep up. That's not the longer term plan, but allows us to postpone some coding.


Likely Progression

(Revised in view of current release plans for 2.0.6 onwards)

  • First Released Version: Provides only the multiscroller, used (a) for theming of Audacity itself and (b) as an optional alternative to a menu for when the menus are very long. Track panel and block editor not released at this stage. Rearrangement of the menu tree can be done using a text editor and YAML file format.
  • Second Released Version: 'An optional preview for the adventurous'. Works on 15 mins of stereo audio, in memory. Slightly clunky transfer-to-and-from Audacity project window (e.g. select a range and copy to clipboard, or save to a wav file and load from that). Main advantages are (a) in fine tuning loops, with fluid zoom in/out and ability to set the loop region as you listen to it. (b) cut and paste without clicks, as Audacity heals all the blends. This is particularly useful when cleaning audio. The plug-in must be enabled in preferences to use it. It is mainly for use by early adopters.
  • Third released version: 15 minute audio limit removed. Undo/Redo supported. Full complement of real time effects available. Customisation of menus and display. Main remaining limitations are the fixed sample rate (44.1KHz) and absence of spectrogram.

I will likely be working intensively on the block editor from November 2014. The block editor is central to user customisation of the interface, i.e. menus, number of rulers, arrangement and functionality of buttons including simple scripts attached to buttons, whether we overlay information or have separate tracks, which tracks are grouped and mixed together, tracks derived from other tracks, pre-configured effects where some values are already set. It is also the basis for the music editor, as you will drag musical notation from a palette and click it together. It is also central to programmatic use, as scripts can be viewed both as blocks and as text.


Projects

  • Proposal Unitary Project : Intention is to add load/save of Wav files, using additional streams within Wav for things like labels. Eventually will work by extending a file with new data and cached changes being added on the end - i.e. a unitary project format, that also happens to be playable as a Wav file (one that has extra baggage in it at the end, and raw recording at the start).


Menus


GUI

  • Proposal Improvement of Meter Toolbar UI : Default meter is most of the width of the screen. Metering becomes active the first time you click play or record. This is when we first ask portaudio to open the device. Staying open prevents a click each time we start/stop playback or record, and it also means we're metering even when not recording. It's also good for Linux/Jack users, as it means the port stays visible when we aren't playing or recording audio. Clipping is shown in the recording rather than elaborate embellishments to the meter.
  • Proposal Improvement of Transport Toolbar: No 'armed' state at all. Recording and playback continues from wherever the cursor is.
  • Proposal Vertical Scale GUI Improvements : Plug in doesn't have the vertical ruler. Instead you will select a region and ask for stats. It will then give peak, rms, and other info. The existing vertical ruler is using space for very little value, as there are no horizontal rules to match the waveform up with the scale.
  • Proposal Cursor Behaviour Improvements : The cursor is already significantly different. There is a play cursor and a record cursor and a cursor in a label. The general idea is to think in terms of 'multiple cursors' and 'multiple selections' as this proves very powerful in text editing - see for example Sublime text editor. When you play a mix, this is really a shortcut for placing several play cursors and starting them all.
  • Proposal New Logo :
  • Proposal New Skins : Theming already much improved.
  • Proposal Preferences Reorganisation : The new preferences system uses a multi-scroller, and that solves the problems of space constraints. The preferences are organised in terms of the plug-ins that provide the preferences.
  • Proposal Smart Help : Preferences already (now) have help text interleaved with the groups of related parameters. The info button will provide extended tool-tip information when down. So there will be short tool tips with each item to hover over, and longer tooltips (if you want) in the info panel.
  • Proposal Smoother Playback Scrolling : Already set up for smooth scrolling. The main to-do is to adjust the ruler for oscilloscope display mode, as done simply we get the wagon-wheel-effect (wagon wheel goes in reverse). The solution is almost certainly to use the scale to measure (only) and have a counter at a fixed position that gives the time.
  • Proposal Space Savers : Many space savers already. The tracks support track groups and overlays, so we can put labels on the same track as the wave, and (still to-do) at a click separate the overlaid tracks. Showing overlaid waveforms on the same track, slightly offset, is likely to give better results for clarity and space saving than the proposal.
  • Proposal TrackPanel Evolution : Well, this is the TrackPanel Evolution.
  • Proposal Woozle's Interface Tweaks : Zooming is very much changed/improved with the draggable zoom-ruler. Many of the details here are about right click and key assignments and so are preferences. The new interface uses Multi-tool mode only.


Effects, Generators and Analyzers


Usability


Tools

  • Proposal Audio Diff : Yes, but far future. Multiscrollers have it in mind.
  • Proposal Beat Finder : Yes but far future. Will be connected to Audio-Diff.
  • Proposal Source Separation : Already have colour coding of waveform. Plan to add filter bank as a poor man's version. Also sound segmentation (studio vs phone) to prove the sound separation interface.


DC offset


Language Learning


Unclassifed