Page 1 of 1

A Brief Question Of Time

Posted: 06.11.2017, 11:51
by Chuft-Captain
Hi guys,

Anyone know if it's possible to interactively STOP time in Celestia?

Before everyone responds "use the SPACEBAR idiot!", I'm NOT talking about simply "pausing" simulation. I'm talking about setting the timescale to zero.
There's a subtle difference. One is simply pausing execution, whereas the other is setting the simulation timescale to zero whilst allowing execution (eg. of the script) to continue.
eg.
Here is Celestia running with the simulation time paused:
paused.jpg
paused.jpg (9.38 KiB) Viewed 2682 times

Here is Celestia with the time stopped:
stopped.jpg
stopped.jpg (8.87 KiB) Viewed 2682 times

This "Time Stopped" state is only achieved from within a script via the celx command: celestia:settimescale( 0 ), however as far as I can recall there's never been a keystroke assigned so that this can be done interactively. eg. The "\" key is equivalent to: celestia:settimescale( 1 )
It's quite possible to manipulate the timescale to almost any value interactively using combinations of the "\", "J", "K","L" keys (and caps-lock), but it appears the only way to set it to ZERO is via the celx command.

... As you can see, when running a script, it is possible to stop time within the script, and also pause execution with the spacebar, which makes clear the distinction between "Paused" and "Time Stopped" (timerate=0):
stopped_paused.jpg
stopped_paused.jpg (9.49 KiB) Viewed 2682 times


To summarize:
PIC 1: timescale= 1, simulation paused ... ("\", SPACEBAR)
PIC 2: timescale= 0, simulation running ... (script only)
PIC 3: timescale= 0, simulation paused ... (script + SPACEBAR)

Cheers
CC

EDIT. Corrected this thread to change all references to "celestia:timescale()" method (which I inadvertently referred to as "celestia:timerate()").

Posted: 06.11.2017, 11:57
by CM1215
I have found that if you start the demo and then press the esc. key to cancel, it will stop time like what you are saying (it won't simply pause it). I actually don't know of a single key that can achieve what you are trying to achieve, though this is as close as I can get.

I hope this helps.

Posted: 06.11.2017, 12:15
by Chuft-Captain
CM1215,

Sadly no. The demo script's first command is: "timerate { rate 0 }" (the CEL equivalent of celestia:settimescale( 0 ).

By hitting ESC, you just exit the script, and whatever timerate was set by the script is retained, but thank you because your example DOES demonstrate the problem perfectly...

Without exiting the DEMO, it's quite possible to use the "\" key to change the timescale, however once you've done that, there's no way to return to "Time Stopped" again while the DEMO continues.
THIS is the crux of the issue: the timescale again has been set to ZERO by a script (in this case a CEL script), and it can be changed interactively to any other timescale (except ZERO) while the script continues to execute.

Cheers
CC

Posted: 21.05.2018, 13:31
by perryna
Celestia needs a "floating time dialog window" where all the features of time control are found in one convenient dialog window, similar to the way it is done in "MuseScore" the wonderful interactive software that plays musical scores in real time. Also the user would be allowed to adjust the font size and/or display size, for easier reading. :smile: :smile: