Ui state persistence

From Buzztrax

Jump to: navigation, search

One task that can be easily implemented is remembering the UI state. Before we need to discuss though which are programm global settings and which properties should be kept with the song. One alternative to storing them with the song would be to store them on the users machine per song (cache dir). This avoids hassle e.g. with non-matching resolutions on different machines. We could also store this then automatically without marking the song as dirty. Another variant would be to store these items in a per user lists (user would need to be a unique key).

  • main window: size, position, maximized and full-screen state
    • settings (/apps/buzztrax/window/{x-pos,y-pos,width,height})
    • song (only if it makes sense to have multiple songs open and we want to arrange them in a certain way)
    • GnomeSession (see [GnomeClient] and [session management])
  • active tab (machine view, pattern view, ...)
    • song (/buzztrax/setup/properties)
  • open machine windows: state, size, position, presets shown/hidden
    • song (/buzztrax/setup/machines/<machine>/properties)
  • open wire analysis windows: state, size, position, fft-settings
    • song (/buzztrax/setup/wires/<wire>/properties)
  • machine view: zoom and scrolling position<s>
    • <s>song (/buzztrax/setup/properties)
  • pattern view: active machine, active pattern, cursor pos
    • song: (/buzztrax/setup/properties)
  • pattern view: base-octave
    • song (/buzztrax/setup/machines/<machine>/properties)
  • sequence-view: cursor in sequence, step-filter,positions-format
    • song (/buzztrax/sequence/properties/)
  • sequence-view: split pane
    • song (/buzztrax/sequence/properties/)
  • wavetable-view: split-panes
    • song (/buzztrax/wavetable/properties/)
  • global/machine windows:
    • interaction controller assignments
      • song (/buzztrax/setup/machines/<machine>/interaction-controllers/...)
    • collapsed sections
      • song (/buzztrax/setup/machines/<machine>/???)
Support Us

Collaboration

GStreamer Logo
Become a Friend of GNOME
Linux Sound Logo
MediaWiki
Valgrind
GNU Library Public Licence
GNU Free Documentation License 1.2