Skip to content

Mutable boards#1251

Open
gordielachance wants to merge 9 commits intowonderunit:masterfrom
gordielachance:mutable-boards
Open

Mutable boards#1251
gordielachance wants to merge 9 commits intowonderunit:masterfrom
gordielachance:mutable-boards

Conversation

@gordielachance
Copy link
Copy Markdown

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 ! :)

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Jun 22, 2018

CLA assistant check
All committers have signed the CLA.

@audionerd audionerd self-requested a review June 22, 2018 15:37
@audionerd
Copy link
Copy Markdown
Member

audionerd commented Jun 22, 2018

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 audionerd added this to the V2 milestone Jun 22, 2018
@audionerd audionerd self-assigned this Jun 22, 2018
@gordielachance
Copy link
Copy Markdown
Author

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
Copy link
Copy Markdown
Author

gordielachance commented Jun 24, 2018

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.

@audionerd
Copy link
Copy Markdown
Member

audionerd commented Jun 27, 2018

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.

@gordielachance
Copy link
Copy Markdown
Author

gordielachance commented Aug 22, 2018

Not interested ? :/

@amedeux
Copy link
Copy Markdown

amedeux commented Aug 28, 2018

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?

@gordielachance
Copy link
Copy Markdown
Author

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 !

@audionerd
Copy link
Copy Markdown
Member

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.

@madjyc
Copy link
Copy Markdown

madjyc commented Nov 19, 2020

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

@Amparose
Copy link
Copy Markdown

"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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Option to mute (disable) a board

6 participants