Skip to content

2.0: First step

Félix David requested to merge Tilix4/stax:2.0-clean into 2.0

Checklist

Please check if your MR fulfills the following requirements:

  • Unit tests have been added, if needed
  • Documentation have been updated, if needed
  • Build was run locally and any changes were pushed
  • Lint has passed locally without error
  • Package.py have been updated, if needed
  • CHANGELOG.md have been updated, if needed
  • Version numer has been tagged, if needed

Merge request type

Please check the type of change your MR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

Breaking change?

  • Yes
  • No

Summary

This is the base refactor to 2.0. Not including some features planned for 2.0 roadmap.
Some bugs are remaining and it is not ready to be used in production.
The code is meant to be reviewed and merged in the 2.0 branch to review the code of upcoming features and bugfixes more properly.

Description of change

Features

  • Stax notes and status cache is in OpenReviewIO format.
  • Merge Note and Player modes -> 'Main' workspace.
    • Drawing directly in viewer as vectorial and editable.
    • Possibility to export the current frame in an external image editor.
    • While not published, a reply to a text note is editable.
  • All python dependencies are installed in stax config's directory.
  • Session system
    • Load any timeline with filebrowser.
    • Session saved automatically after 5 minutes.
  • Callbacks
    • Uses optional callbacks instead of a linker.
    • Overriding any Blender or Stax class from callbacks script by running the register() function.
  • Review can be disabled by setting 'review_enabled' to False in OTIO timeline's version track.
    • Publish session ignores review disabled sequences.
    • The UI changes and notifies the user.

Changes

  • scene.tasks renamed as scene.tracks.
  • track.remove() renamed as track.delete() and now move above sequences down when a track is deleted.
  • linker renamed as callback.
    • If no callback script don't load the first one by default.
  • Custom Callbacks classes have to inherit from Callbacks class
  • The playback/render frame rate is set by adding a 'frame_rate' metadata to the OTIO Timeline.
  • Source media copy to Stax' cache is optional and False by default. Has to be set in the user configuration.
  • Read/Write_user_config() refactored for being more consistent and used only when necessary.
  • The UI has been totally cleaned of Blender remaining UI.

How to test it

Re-install the application template.

Review

Edited by Félix David

Merge request reports