@@ -945,7 +945,6 @@ def __init__(self, iw: ImageWidget):
945
945
self .widget = HBox ([self .reset_vminvmax_button ])
946
946
# for txy, tzxy, etc. data
947
947
else :
948
-
949
948
self .step_size_setter = BoundedIntText (
950
949
value = 1 ,
951
950
min = 1 ,
@@ -956,6 +955,16 @@ def __init__(self, iw: ImageWidget):
956
955
description_tooltip = "set slider step" ,
957
956
layout = Layout (width = "150px" ),
958
957
)
958
+ self .speed_text = BoundedIntText (
959
+ value = 100 ,
960
+ min = 1 ,
961
+ max = 1_000 ,
962
+ step = 50 ,
963
+ description = "Speed" ,
964
+ disabled = False ,
965
+ description_tooltip = "Playback speed, this is NOT framerate.\n Arbitrary units between 1 - 1,000" ,
966
+ layout = Layout (width = "150px" ),
967
+ )
959
968
self .play_button = Play (
960
969
value = 0 ,
961
970
min = iw .sliders ["t" ].min ,
@@ -964,20 +973,26 @@ def __init__(self, iw: ImageWidget):
964
973
description = "play/pause" ,
965
974
disabled = False ,
966
975
)
967
-
968
976
self .widget = HBox (
969
- [self .reset_vminvmax_button , self .play_button , self .step_size_setter ]
977
+ [self .reset_vminvmax_button , self .play_button , self .step_size_setter , self . speed_text ]
970
978
)
971
979
972
- self .step_size_setter .observe (self .change_stepsize , "value" )
980
+ self .play_button .interval = 10
981
+
982
+ self .step_size_setter .observe (self ._change_stepsize , "value" )
983
+ self .speed_text .observe (self ._change_framerate , "value" )
973
984
jslink ((self .play_button , "value" ), (self .iw .sliders ["t" ], "value" ))
974
985
jslink ((self .play_button , "max" ), (self .iw .sliders ["t" ], "max" ))
975
986
976
- self .reset_vminvmax_button .on_click (self .reset_vminvmax )
987
+ self .reset_vminvmax_button .on_click (self ._reset_vminvmax )
977
988
978
- def reset_vminvmax (self , obj ):
989
+ def _reset_vminvmax (self , obj ):
979
990
if len (self .iw .vmin_vmax_sliders ) != 0 :
980
991
self .iw .reset_vmin_vmax ()
981
992
982
- def change_stepsize (self , obj ):
993
+ def _change_stepsize (self , obj ):
983
994
self .iw .sliders ["t" ].step = self .step_size_setter .value
995
+
996
+ def _change_framerate (self , change ):
997
+ interval = int (1000 / change ["new" ])
998
+ self .play_button .interval = interval
0 commit comments