discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Feature request: [PAUSE] button for animation

KT
Kevin Toppenberg
Thu, Apr 21, 2022 12:35 PM

Hey all,

I have been working with animation, and I think a Pause button on the
animation bar would be helpful.  Here is the situation that would make this
helpful.

  1. I set up my animation and it is running.
  1. If I want to pause, I have to either
    a) change the FPS to 0.  And when I want to restart, I have to remember
    the FPS I had there before.  This seems awkward.
    or b) go up to menu option View and then click Animate.  This will stop the
    animation, but will also take away the animation bar, which holds edit
    windows for Time, FPS and slices.  The problem with this, is that the
    variable $t still holds the value of the now-invisible bar, and will keep
    the rendering view in accordance.  So if I have an animation cycle, the
    render will be at some arbitrary point in that cycle.  And if I wanted, for
    example, to return time to 0, I would have to go back and try option A.

I would see the pause button being the type with 2 toggle states:  running
and paused.  The action of the pause state would be to just stop the
advancement of $t until toggled back to running state.

What do you all think.  Would such a button be helpful to others?

Thanks
Kevin T

Hey all, I have been working with animation, and I think a Pause button on the animation bar would be helpful. Here is the situation that would make this helpful. 1. I set up my animation and it is running. 2) If I want to pause, I have to either a) change the FPS to 0. And when I want to restart, I have to remember the FPS I had there before. This seems awkward. or b) go up to menu option View and then click Animate. This will stop the animation, but will also take away the animation bar, which holds edit windows for Time, FPS and slices. The problem with this, is that the variable $t still holds the value of the now-invisible bar, and will keep the rendering view in accordance. So if I have an animation cycle, the render will be at some arbitrary point in that cycle. And if I wanted, for example, to return time to 0, I would have to go back and try option A. I would see the pause button being the type with 2 toggle states: running and paused. The action of the pause state would be to just stop the advancement of $t until toggled back to running state. What do you all think. Would such a button be helpful to others? Thanks Kevin T
MM
Michael Möller
Thu, Apr 21, 2022 12:51 PM

When I have an animation running and need to look at something a bit
closer, I menu-stop-animation, then I have a line like $t=0.35 and if that
isn't quite the moment I wanted to pause, it is easy to edit $t=0.37 In
other systems it is hard to hit "pause" at the exact moment anyhow.

// OpenSCAD adjustments
$fa=5; $fs=1; //  "better" defaults for cylinders
//$t=0 ;    // when not using animation, define a "frame"

Works for me ...
Msquare

On Thu, 21 Apr 2022 at 14:36, Kevin Toppenberg kdtop3@gmail.com wrote:

Hey all,

I have been working with animation, and I think a Pause button on the
animation bar would be helpful.  Here is the situation that would make this
helpful.

  1. I set up my animation and it is running.
  1. If I want to pause, I have to either
    a) change the FPS to 0.  And when I want to restart, I have to
    remember the FPS I had there before.  This seems awkward.
    or b) go up to menu option View and then click Animate.  This will stop
    the animation, but will also take away the animation bar, which holds edit
    windows for Time, FPS and slices.  The problem with this, is that the
    variable $t still holds the value of the now-invisible bar, and will keep
    the rendering view in accordance.  So if I have an animation cycle, the
    render will be at some arbitrary point in that cycle.  And if I wanted, for
    example, to return time to 0, I would have to go back and try option A.

I would see the pause button being the type with 2 toggle states:  running
and paused.  The action of the pause state would be to just stop the
advancement of $t until toggled back to running state.

What do you all think.  Would such a button be helpful to others?

Thanks
Kevin T


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

When I have an animation running and need to look at something a bit closer, I menu-stop-animation, then I have a line like $t=0.35 and if that isn't quite the moment I wanted to pause, it is easy to edit $t=0.37 In other systems it is hard to hit "pause" at the exact moment anyhow. // OpenSCAD adjustments $fa=5; $fs=1; // "better" defaults for cylinders //$t=0 ; // when not using animation, define a "frame" Works for me ... Msquare On Thu, 21 Apr 2022 at 14:36, Kevin Toppenberg <kdtop3@gmail.com> wrote: > Hey all, > > I have been working with animation, and I think a Pause button on the > animation bar would be helpful. Here is the situation that would make this > helpful. > > 1. I set up my animation and it is running. > 2) If I want to pause, I have to either > a) change the FPS to 0. And when I want to restart, I have to > remember the FPS I had there before. This seems awkward. > or b) go up to menu option View and then click Animate. This will stop > the animation, but will also take away the animation bar, which holds edit > windows for Time, FPS and slices. The problem with this, is that the > variable $t still holds the value of the now-invisible bar, and will keep > the rendering view in accordance. So if I have an animation cycle, the > render will be at some arbitrary point in that cycle. And if I wanted, for > example, to return time to 0, I would have to go back and try option A. > > I would see the pause button being the type with 2 toggle states: running > and paused. The action of the pause state would be to just stop the > advancement of $t until toggled back to running state. > > What do you all think. Would such a button be helpful to others? > > Thanks > Kevin T > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
JB
Jordan Brown
Thu, Apr 21, 2022 4:09 PM

Yes, a pause button would be nice.

That said, there's an easy workaround.  Animation stops if either the
FPS or the number of steps is not a proper number.  Just add an "x" (or
whatever) to the end to stop, and delete it to resume.  Note that while
it's in this state you can plug in whatever number you like for the time.

Yes, a pause button would be nice. That said, there's an easy workaround.  Animation stops if either the FPS or the number of steps is not a proper number.  Just add an "x" (or whatever) to the end to stop, and delete it to resume.  Note that while it's in this state you can plug in whatever number you like for the time.
KT
Kevin Toppenberg
Thu, Apr 21, 2022 6:53 PM

This is a good workaround, but I wonder if anyone would be interested in
actually implementing this?
Thanks

Kevin

On Thu, Apr 21, 2022 at 12:09 PM Jordan Brown openscad@jordan.maileater.net
wrote:

Yes, a pause button would be nice.

That said, there's an easy workaround.  Animation stops if either the FPS
or the number of steps is not a proper number.  Just add an "x" (or
whatever) to the end to stop, and delete it to resume.  Note that while
it's in this state you can plug in whatever number you like for the time.

This is a good workaround, but I wonder if anyone would be interested in actually implementing this? Thanks Kevin On Thu, Apr 21, 2022 at 12:09 PM Jordan Brown <openscad@jordan.maileater.net> wrote: > Yes, a pause button would be nice. > > That said, there's an easy workaround. Animation stops if either the FPS > or the number of steps is not a proper number. Just add an "x" (or > whatever) to the end to stop, and delete it to resume. Note that while > it's in this state you can plug in whatever number you like for the time. >
MF
Michael Frey
Thu, Apr 21, 2022 7:18 PM

On 21.04.22 20:53, Kevin Toppenberg wrote:

This is a good workaround, but I wonder if anyone would be interested
in actually implementing this?
Thanks

Kevin

Me :-) I like the idea. Consider it as "in work".

A basic implementation that works is just a few lines of code.

The tricky part are things like

  • showing the state (paused/run), as other things can also pause the
    animation

** invalid number for FPS and other values

  • adding icons

  • checking interactions

  • can I get it to show up in input driver?

  • tool tip

and then polishing the whole code/changes.

WIth kind regards,

Michael Frey

On 21.04.22 20:53, Kevin Toppenberg wrote: > > This is a good workaround, but I wonder if anyone would be interested > in actually implementing this? > Thanks > > Kevin Me :-) I like the idea. Consider it as "in work". A basic implementation that works is just a few lines of code. The tricky part are things like * showing the state (paused/run), as other things can also pause the animation ** invalid number for FPS and other values * adding icons * checking interactions * can I get it to show up in input driver? * tool tip and then polishing the whole code/changes. WIth kind regards, Michael Frey
KT
Kevin Toppenberg
Thu, Apr 21, 2022 7:24 PM

Excellent!  Thanks

Kevin

On Thu, Apr 21, 2022 at 3:19 PM Michael Frey michael.frey@gmx.ch wrote:

On 21.04.22 20:53, Kevin Toppenberg wrote:

This is a good workaround, but I wonder if anyone would be interested
in actually implementing this?
Thanks

Kevin

Me :-) I like the idea. Consider it as "in work".

A basic implementation that works is just a few lines of code.

The tricky part are things like

  • showing the state (paused/run), as other things can also pause the
    animation

** invalid number for FPS and other values

  • adding icons

  • checking interactions

  • can I get it to show up in input driver?

  • tool tip

and then polishing the whole code/changes.

WIth kind regards,

Michael Frey


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Excellent! Thanks Kevin On Thu, Apr 21, 2022 at 3:19 PM Michael Frey <michael.frey@gmx.ch> wrote: > On 21.04.22 20:53, Kevin Toppenberg wrote: > > > > This is a good workaround, but I wonder if anyone would be interested > > in actually implementing this? > > Thanks > > > > Kevin > > Me :-) I like the idea. Consider it as "in work". > > > A basic implementation that works is just a few lines of code. > > > The tricky part are things like > > * showing the state (paused/run), as other things can also pause the > animation > > ** invalid number for FPS and other values > > * adding icons > > * checking interactions > > * can I get it to show up in input driver? > > * tool tip > > > and then polishing the whole code/changes. > > > WIth kind regards, > > Michael Frey > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
TP
Torsten Paul
Thu, Apr 21, 2022 7:30 PM

On 21.04.22 21:18, Michael Frey wrote:

A basic implementation that works is just a few lines of code.

True, but what I would like to see much more is that old stuff
dusted off:

https://github.com/openscad/openscad/issues/891
https://github.com/openscad/openscad/pull/1808

Maybe starting with just the GUI changes and dropping the extra
file format support (even though that's obviously also a very
interesting topic).

ciao,
Torsten.

On 21.04.22 21:18, Michael Frey wrote: > A basic implementation that works is just a few lines of code. True, but what I would like to see much more is that old stuff dusted off: https://github.com/openscad/openscad/issues/891 https://github.com/openscad/openscad/pull/1808 Maybe starting with just the GUI changes and dropping the extra file format support (even though that's obviously also a very interesting topic). ciao, Torsten.
MF
Michael Frey
Thu, Apr 21, 2022 8:28 PM

On 21.04.22 21:30, Torsten Paul wrote:

True, but what I would like to see much more is that old stuff
dusted off:

https://github.com/openscad/openscad/issues/891

those points sound like nice mid therm goals:

    Change animation panel to dockable window

    and decouple show/hide of the window from the actual animation logic

I would like to start simple by making the pause/unpause button,

then debugging some related QT weirdness

(when I edit the main windows with QT creator, it wants to remove some
of the custom widgets for some reason)

then move the animation panel in to dockable window,

then I personally would like to have a dockable camera control window.

(I have some fuzzy ideas)

The extra file formats is work for someone else, not for me.

I happily convert a bunch of pngs via command line to any format I like.

With kind regards,

Michael Frey

On 21.04.22 21:30, Torsten Paul wrote: > True, but what I would like to see much more is that old stuff > dusted off: > > https://github.com/openscad/openscad/issues/891 those points sound like nice mid therm goals:     Change animation panel to dockable window     and decouple show/hide of the window from the actual animation logic I would like to start simple by making the pause/unpause button, then debugging some related QT weirdness (when I edit the main windows with QT creator, it wants to remove some of the custom widgets for some reason) then move the animation panel in to dockable window, then I personally would like to have a dockable camera control window. (I have some fuzzy ideas) The extra file formats is work for someone else, not for me. I happily convert a bunch of pngs via command line to any format I like. With kind regards, Michael Frey
TP
Torsten Paul
Thu, Apr 21, 2022 8:45 PM

On 21.04.22 22:28, Michael Frey wrote:

I would like to start simple by making the pause/unpause button,
[...]
then move the animation panel in to dockable window,

Sounds like a reasonable plan. I suppose it's good to go in smaller
steps.

then debugging some related QT weirdness
(when I edit the main windows with QT creator, it wants to
remove some of the custom widgets for some reason)

Yes, that's the custom tab bar. This seems to be unsupported by
the designer at the position we need it, so it insists on removing
the whole object.

If you find a solution for that, this would be great.

The extra file formats is work for someone else, not for me.
I happily convert a bunch of pngs via command line to any
format I like.

Maybe I'll find some time to look at this part eventually. In the
near future that's not likely but we'll see :-).

ciao,
Torsten.

On 21.04.22 22:28, Michael Frey wrote: > I would like to start simple by making the pause/unpause button, > [...] > then move the animation panel in to dockable window, Sounds like a reasonable plan. I suppose it's good to go in smaller steps. > then debugging some related QT weirdness > (when I edit the main windows with QT creator, it wants to > remove some of the custom widgets for some reason) Yes, that's the custom tab bar. This seems to be unsupported by the designer at the position we need it, so it insists on removing the whole object. If you find a solution for that, this would be great. > The extra file formats is work for someone else, not for me. > I happily convert a bunch of pngs via command line to any > format I like. Maybe I'll find some time to look at this part eventually. In the near future that's not likely but we'll see :-). ciao, Torsten.
CM
Curt McDowell
Wed, Apr 27, 2022 5:28 AM

Hi Michael,

Since you appear to be enthusiastic about taking this forward, I'd like
to suggest there should be VCR-style buttons next to the animation input
boxes:

The functions of these buttons would be:

  Move to beginning (frame = 0)
  Single step backward
  Resume animation
  Pause animation
  Single step forward
  Move to end (frame = steps-1)

respectively, where every button except Resume first stops animation if
it's in progress.

Regards,
Curt

On 4/21/2022 12:18 PM, Michael Frey wrote:

On 21.04.22 20:53, Kevin Toppenberg wrote:

This is a good workaround, but I wonder if anyone would be interested
in actually implementing this?
Thanks

Kevin

Me :-) I like the idea. Consider it as "in work".

A basic implementation that works is just a few lines of code.

The tricky part are things like

  • showing the state (paused/run), as other things can also pause the
    animation

** invalid number for FPS and other values

  • adding icons

  • checking interactions

  • can I get it to show up in input driver?

  • tool tip

and then polishing the whole code/changes.

WIth kind regards,

Michael Frey


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Hi Michael, Since you appear to be enthusiastic about taking this forward, I'd like to suggest there should be VCR-style buttons next to the animation input boxes: The functions of these buttons would be:   Move to beginning (frame = 0)   Single step backward   Resume animation   Pause animation   Single step forward   Move to end (frame = steps-1) respectively, where every button except Resume first stops animation if it's in progress. Regards, Curt On 4/21/2022 12:18 PM, Michael Frey wrote: > On 21.04.22 20:53, Kevin Toppenberg wrote: >> >> This is a good workaround, but I wonder if anyone would be interested >> in actually implementing this? >> Thanks >> >> Kevin > > Me :-) I like the idea. Consider it as "in work". > > > A basic implementation that works is just a few lines of code. > > > The tricky part are things like > > * showing the state (paused/run), as other things can also pause the > animation > > ** invalid number for FPS and other values > > * adding icons > > * checking interactions > > * can I get it to show up in input driver? > > * tool tip > > > and then polishing the whole code/changes. > > > WIth kind regards, > > Michael Frey > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org