Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mutable boards #1251

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

gordielachance
Copy link

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

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
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
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
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
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
Author

gordielachance commented Aug 22, 2018

Not interested ? :/

@amedeux
Copy link

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

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

"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