wiki:Design

Version 3 (modified by Frédéric, 16 years ago) ( diff )

--

TOC

Papywizard v2 internal design

This is a draft document.

Framework

The idea is to entirely build Papywizard as a framework, where different parts are just plugins, so new features can be added by users, at least to prototype them. It is also better for upgrading only a few parts of the code.

Engines

The core of Papywizard will be build arround engines, which will be hard-coded. Main engines are:

  • pano engines
    • mosaic engine
    • preset engine
  • timelapse engine

Engines can use other engines (ex: a timelapse pano).

Plugins

Engines will use some plugins to be able to achieve their purpose. These plugins will be splitted in categories:

  • axis control - axis can be manual
  • camera shutter triggering - through hardware, tethered
  • hardware communication - transport and protocol
  • timer/intervalometer - or is it timelapse?
  • display - shooting area, text area, custom
  • GPS
  • data storage - file, database, server...
  • analysis - picture control for automatic bracketing

A plugin should be able to :

  • register itself in the framework according to its interface
  • add GUI features (display, preferences...)
  • be dynamically enabled/disabled
  • check if dependent plugins are available

Services

Services are low-level features, like logging, persistence, configuration...

Note: See TracWiki for help on using the wiki.