storyboarder icon indicating copy to clipboard operation
storyboarder copied to clipboard

Mutable boards

Open gordielachance opened this issue 6 years ago • 11 comments

Howdy ! Got the mutable boards working!

As there is a "new shot" input, we have now a "mute board" input for boards.

The muted boards

  • do not export
  • have a specific 'muted' class (thumbnails)
  • do not play when playing the timeline
  • are skipped when moving in the timeline with the arrows (you'll have to click it to edit/show it)
  • have a '(Muted)' notice next to their shot number

Fixes #1244 and #611.

First pull request here ! :)

gordielachance avatar Jun 22 '18 11:06 gordielachance

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jun 22 '18 11:06 CLAassistant

Thanks for the PR. I won't be able to do a full review until early next week. But it looks pretty straightforward.

We'll probably want to tweak the design around indicating what's muted, and the language used to describe muted boards and actions. For example, Boards -> Toggle mute Board vs. Boards -> Mute/Un-mute.

And maybe there's a better artist-facing term than "mute"? "Mute" sounds like it has something to do with a board's audio, which might be confusing?

Have you tested loading an older 1.6.x project, one without the muted property on its boards (i.e.: cover the cases where muted would be undefined)? Either handle undefined everywhere or ensure when first loaded that each board always has a boolean muted value.

audionerd avatar Jun 22 '18 15:06 audionerd

And maybe there's a better artist-facing term than "mute"?

First I read anti-facist :) But yes, maybe we can find something else.

I didn't try with a pre 1.6 file. I'm sure there still are some things to tweak, but anyway I think I almost got it here.

gordielachance avatar Jun 22 '18 19:06 gordielachance

Also, I think that the methods in the Exporter class should be more consistent. Eg. exportAnimatedGif has a boards parameter while exportImages doesn't have one and relies on the boards from boardData.boards. It would make sense that any of the Exporter class methods have the same arguments.

eg.

exportMethod(boardsSelection,boardData,exportOptions)

instead of things like

async exportFcp (boardData, projectFileAbsolutePath) {}

exportPDF (boardData, projectFileAbsolutePath, _paperSize, _paperOrientation, _rows, _cols, _spacing, _filepath) {}

exportImages (boardData, projectFileAbsolutePath, outputPath = null) {}

async exportAnimatedGif (boards, boardSize, destWidth, projectFileAbsolutePath, mark, boardData) {}

async exportVideo (scene, sceneFilePath, opts) {}

I'm saying this because currently, the muted boards are filtered sometimes BEFORE calling the export method (eg. for exportAnimatedGif) and sometimes WITHIN the exporter method. Seems confusing to me but I didn't want to change your structure without your feedback. I think that it should always be filtered before calling the exporter method.

gordielachance avatar Jun 24 '18 11:06 gordielachance

I think we could do this inline:

const filterNotMutedBoards = (boards) => {
  return boards.filter(function(board){ return !board.muted });
}

... would instead be:

const isBoardUnmuted = board => !board.muted
boardData.boards.filter(isBoardUnmuted)

... or, for exports:

const isBoardExportable = board => !board.muted
let exportableBoards = boardData.boards.filter(isBoardExportable)

I've got a few other issues ahead of this one but will try to circle back soon.

audionerd avatar Jun 27 '18 17:06 audionerd

Not interested ? :/

gordielachance avatar Aug 22 '18 13:08 gordielachance

And maybe there's a better artist-facing term than "mute"? "Mute" sounds like it has something to do >with a board's audio, which might be confusing?

I've seen the term "OMIT" used a lot in movie production for shots which wouldn't feature in the final cut. May be it could be applied to this case?

amedeux avatar Aug 28 '18 11:08 amedeux

Seems that you're right, @amedeux : https://www.quora.com/What-is-the-aim-of-using-omit-in-a-script Could be the word "ignore" or "skip" too. @audionerd what about this feature ? thanks !

gordielachance avatar Aug 28 '18 11:08 gordielachance

Hey @gordielachance We're still interested in this feature. It's still marked for V2 (e.g.: we want to include it as part of Storyboarder 2.0). We'd have to do some cleanup on this PR to be able to accept it. A few other issues have taken priority over it right now.

audionerd avatar Aug 28 '18 17:08 audionerd

Hey @gordielachance, sorry I'm late to the party. How about "stash", which is used in Blender to "mute" actions in the Action editor?

madjyc avatar Nov 19 '20 09:11 madjyc

"Disable" would be self-descriptive.

@audionerd

It's still marked for V2 (e.g.: we want to include it as part of Storyboarder 2.0).

Did this not make it in?

Amparose avatar Jul 31 '22 19:07 Amparose