1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-31 07:29:49 +00:00

Add image effect animatable property translation strings

This commit is contained in:
Emmanouil Papadeas 2023-07-03 22:26:31 +03:00
parent 648a05b498
commit 605461e968
4 changed files with 125 additions and 41 deletions

View file

@ -2480,3 +2480,83 @@ msgstr ""
#. Refers to the range of something, like the range of a spotlight. #. Refers to the range of something, like the range of a spotlight.
msgid "Range:" msgid "Range:"
msgstr "" msgstr ""
#. Found under certain image effects that support properties that can be animated.
msgid "Animatable Properties"
msgstr ""
#. Found under certain image effects that support properties that can be animated. Refers to the frame that is currently being previewed.
msgid "Preview frame:"
msgstr ""
#. Found under certain image effects that support properties that can be animated. It is a checkbox that toggles whether a property should be animated or not.
msgid "Animate"
msgstr ""
#. Found under certain image effects that support properties that can be animated. Refers to the initial value of the property.
msgid "Initial value:"
msgstr ""
#. Found under certain image effects that support properties that can be animated. Refers to the final value of the property.
msgid "Final value:"
msgstr ""
#. Found under certain image effects that support properties that can be animated. Refers to the easing function that should be used to animate the property. https://easings.net/
msgid "Ease type:"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of easing function.
msgid "Starts slowly and speeds up towards the end"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of easing function.
msgid "Starts quickly and slows down towards the end"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of easing function.
msgid "Slowest at both ends, fast at middle"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of easing function.
msgid "Fast at both ends, slow at middle"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Quadratic (power of 2)"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Cubic (power of 3)"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Quartic (power of 4)"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Quintic (power of 5)"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Exponential (power of x)"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Square root"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Sine"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Wiggling around the edges"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Bouncing at the end"
msgstr ""
#. Found under certain image effects that support properties that can be animated. A type of interpolation.
msgid "Backing out at ends)"
msgstr ""

View file

@ -24,6 +24,7 @@ margin_left = 340.0
margin_right = 360.0 margin_right = 360.0
margin_bottom = 20.0 margin_bottom = 20.0
rect_min_size = Vector2( 20, 0 ) rect_min_size = Vector2( 20, 0 )
mouse_default_cursor_shape = 2
size_flags_horizontal = 8 size_flags_horizontal = 8
toggle_mode = true toggle_mode = true

View file

@ -5,7 +5,7 @@ var image_effect_node: ConfirmationDialog
var frames := [] # Set this value before calling "get_animated_values" var frames := [] # Set this value before calling "get_animated_values"
var properties := [] # Contains dictionary of properties var properties := [] # Contains dictionary of properties
var resetter_values := [] # Contains the Original properties without any change var resetter_values := [] # Contains the Original properties without any change
var _current_id: int = 0 # The property currently selected in "property_list" var _current_id := 0 # The property currently selected in "property_list"
onready var can_animate_button: CheckBox = $"%CanAnimate" onready var can_animate_button: CheckBox = $"%CanAnimate"
onready var property_list: ItemList = $"%PropertyList" onready var property_list: ItemList = $"%PropertyList"
@ -28,8 +28,8 @@ func re_calibrate_preview_slider():
preview_slider.visible = true preview_slider.visible = true
func add_float_property(name: String, property_node: Range): func add_float_property(prop_name: String, property_node: Range):
var info = { var info := {
"range_node": property_node, "range_node": property_node,
"can_animate": false, "can_animate": false,
"initial_value": property_node.value, "initial_value": property_node.value,
@ -38,17 +38,17 @@ func add_float_property(name: String, property_node: Range):
} }
properties.append(info) properties.append(info)
resetter_values.append(property_node.value) resetter_values.append(property_node.value)
property_list.add_item(name) property_list.add_item(prop_name)
property_node.connect("value_changed", self, "_on_range_node_value_changed") property_node.connect("value_changed", self, "_on_range_node_value_changed")
func get_animated_values(frame_idx: int, property_idx := 0) -> float: func get_animated_values(frame_idx: int, property_idx := 0) -> float:
var tween = SceneTreeTween.new() var tween := SceneTreeTween.new()
if property_idx <= 0 or property_idx < properties.size(): if property_idx <= 0 or property_idx < properties.size():
if frame_idx in frames: if frame_idx in frames:
if properties[property_idx]["can_animate"] and frames.size() > 1: if properties[property_idx]["can_animate"] and frames.size() > 1:
var duration = frames.size() - 1 var duration := frames.size() - 1
var elapsed = frames.find(frame_idx) var elapsed := frames.find(frame_idx)
var initial = properties[property_idx]["initial_value"] var initial = properties[property_idx]["initial_value"]
var delta = properties[property_idx]["range_node"].value - initial var delta = properties[property_idx]["range_node"].value - initial
var transition_type = properties[property_idx]["transition_type"] var transition_type = properties[property_idx]["transition_type"]
@ -61,7 +61,7 @@ func get_animated_values(frame_idx: int, property_idx := 0) -> float:
else: else:
return resetter_values[property_idx] return resetter_values[property_idx]
else: else:
printerr("something is wrong") printerr("Property index is exceeding the bounds of the number of properties")
return 0.0 return 0.0
@ -131,20 +131,20 @@ func _refresh_properties(idx: int):
func _populate_ease_type(): func _populate_ease_type():
$"%EaseType".add_item("Start slowly and speeds up towards the end", Tween.EASE_IN) $"%EaseType".add_item("Starts slowly and speeds up towards the end", Tween.EASE_IN)
$"%EaseType".add_item("Starts quickly and slows down towards the end.", Tween.EASE_OUT) $"%EaseType".add_item("Starts quickly and slows down towards the end", Tween.EASE_OUT)
$"%EaseType".add_item("Slowest at both ends fast at middle", Tween.EASE_IN_OUT) $"%EaseType".add_item("Slowest at both ends, fast at middle", Tween.EASE_IN_OUT)
$"%EaseType".add_item("Fast at both ends slow at middle", Tween.EASE_OUT_IN) $"%EaseType".add_item("Fast at both ends, slow at middle", Tween.EASE_OUT_IN)
func _populate_transition_type(): func _populate_transition_type():
$"%TransitionType".add_item("Linear", Tween.TRANS_LINEAR) $"%TransitionType".add_item("Linear", Tween.TRANS_LINEAR)
$"%TransitionType".add_item("Quadratic (to the power of 2)", Tween.TRANS_QUAD) $"%TransitionType".add_item("Quadratic (power of 2)", Tween.TRANS_QUAD)
$"%TransitionType".add_item("Cubic (to the power of 3)", Tween.TRANS_CUBIC) $"%TransitionType".add_item("Cubic (power of 3)", Tween.TRANS_CUBIC)
$"%TransitionType".add_item("Quartic (to the power of 4)", Tween.TRANS_QUART) $"%TransitionType".add_item("Quartic (power of 4)", Tween.TRANS_QUART)
$"%TransitionType".add_item("Quintic (to the power of 5)", Tween.TRANS_QUINT) $"%TransitionType".add_item("Quintic (power of 5)", Tween.TRANS_QUINT)
$"%TransitionType".add_item("Exponential (to the power of x)", Tween.TRANS_EXPO) $"%TransitionType".add_item("Exponential (power of x)", Tween.TRANS_EXPO)
$"%TransitionType".add_item("Square Root", Tween.TRANS_CIRC) $"%TransitionType".add_item("Square root", Tween.TRANS_CIRC)
$"%TransitionType".add_item("Sine", Tween.TRANS_SINE) $"%TransitionType".add_item("Sine", Tween.TRANS_SINE)
$"%TransitionType".add_item("Wiggling around the edges", Tween.TRANS_ELASTIC) $"%TransitionType".add_item("Wiggling around the edges", Tween.TRANS_ELASTIC)
$"%TransitionType".add_item("Bouncing at the end", Tween.TRANS_BOUNCE) $"%TransitionType".add_item("Bouncing at the end", Tween.TRANS_BOUNCE)

View file

@ -32,7 +32,7 @@ margin_right = 346.0
min_value = 1.0 min_value = 1.0
max_value = 1.0 max_value = 1.0
value = 1.0 value = 1.0
prefix = "Preview Frame:" prefix = "Preview frame:"
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
margin_top = 28.0 margin_top = 28.0
@ -51,62 +51,63 @@ unique_name_in_owner = true
visible = false visible = false
margin_left = 104.0 margin_left = 104.0
margin_right = 346.0 margin_right = 346.0
margin_bottom = 194.0 margin_bottom = 184.0
size_flags_horizontal = 3 size_flags_horizontal = 3
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/Options"] [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/Options"]
margin_right = 40.0 margin_right = 242.0
margin_bottom = 40.0 margin_bottom = 14.0
[node name="Name" type="Label" parent="VBoxContainer/HBoxContainer/Options/HBoxContainer"] [node name="Name" type="Label" parent="VBoxContainer/HBoxContainer/Options/HBoxContainer"]
unique_name_in_owner = true unique_name_in_owner = true
margin_right = 242.0
margin_bottom = 14.0 margin_bottom = 14.0
theme_type_variation = "Header" theme_type_variation = "Header"
[node name="HSeparator" type="HSeparator" parent="VBoxContainer/HBoxContainer/Options/HBoxContainer"] [node name="HSeparator" type="HSeparator" parent="VBoxContainer/HBoxContainer/Options/HBoxContainer"]
margin_right = 40.0 margin_left = 4.0
margin_bottom = 4.0 margin_right = 242.0
margin_bottom = 14.0
size_flags_horizontal = 3 size_flags_horizontal = 3
[node name="CanAnimate" type="CheckBox" parent="VBoxContainer/HBoxContainer/Options"] [node name="CanAnimate" type="CheckBox" parent="VBoxContainer/HBoxContainer/Options"]
unique_name_in_owner = true unique_name_in_owner = true
margin_left = 108.0 margin_left = 160.0
margin_top = 18.0 margin_top = 18.0
margin_right = 242.0 margin_right = 242.0
margin_bottom = 58.0 margin_bottom = 42.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 8 size_flags_horizontal = 8
text = "Animate" text = "Animate"
[node name="Values" type="GridContainer" parent="VBoxContainer/HBoxContainer/Options"] [node name="Values" type="GridContainer" parent="VBoxContainer/HBoxContainer/Options"]
margin_top = 62.0 margin_top = 46.0
margin_right = 242.0 margin_right = 242.0
margin_bottom = 162.0 margin_bottom = 146.0
columns = 2 columns = 2
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"]
margin_top = 5.0 margin_top = 5.0
margin_right = 80.0 margin_right = 87.0
margin_bottom = 19.0 margin_bottom = 19.0
text = "Initial Value:" text = "Initial value:"
align = 2 align = 2
[node name="Initial" parent="VBoxContainer/HBoxContainer/Options/Values" instance=ExtResource( 2 )] [node name="Initial" parent="VBoxContainer/HBoxContainer/Options/Values" instance=ExtResource( 2 )]
unique_name_in_owner = true unique_name_in_owner = true
margin_left = 84.0 margin_left = 91.0
margin_right = 242.0 margin_right = 242.0
editable = false editable = false
[node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] [node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"]
margin_top = 33.0 margin_top = 33.0
margin_right = 80.0 margin_right = 87.0
margin_bottom = 47.0 margin_bottom = 47.0
text = "Final Value: " text = "Final value:"
align = 2 align = 2
[node name="Final" parent="VBoxContainer/HBoxContainer/Options/Values" instance=ExtResource( 2 )] [node name="Final" parent="VBoxContainer/HBoxContainer/Options/Values" instance=ExtResource( 2 )]
unique_name_in_owner = true unique_name_in_owner = true
margin_left = 84.0 margin_left = 91.0
margin_top = 28.0 margin_top = 28.0
margin_right = 242.0 margin_right = 242.0
margin_bottom = 52.0 margin_bottom = 52.0
@ -114,35 +115,37 @@ editable = false
[node name="Label4" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] [node name="Label4" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"]
margin_top = 59.0 margin_top = 59.0
margin_right = 80.0 margin_right = 87.0
margin_bottom = 73.0 margin_bottom = 73.0
text = "Ease Type:" text = "Ease type:"
align = 2 align = 2
[node name="EaseType" type="OptionButton" parent="VBoxContainer/HBoxContainer/Options/Values"] [node name="EaseType" type="OptionButton" parent="VBoxContainer/HBoxContainer/Options/Values"]
unique_name_in_owner = true unique_name_in_owner = true
margin_left = 84.0 margin_left = 91.0
margin_top = 56.0 margin_top = 56.0
margin_right = 242.0 margin_right = 242.0
margin_bottom = 76.0 margin_bottom = 76.0
mouse_default_cursor_shape = 2
size_flags_vertical = 4 size_flags_vertical = 4
disabled = true disabled = true
clip_text = true clip_text = true
[node name="Label5" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] [node name="Label5" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"]
margin_top = 83.0 margin_top = 83.0
margin_right = 80.0 margin_right = 87.0
margin_bottom = 97.0 margin_bottom = 97.0
text = "Interpolate :" text = "Interpolation:"
align = 2 align = 2
[node name="TransitionType" type="OptionButton" parent="VBoxContainer/HBoxContainer/Options/Values"] [node name="TransitionType" type="OptionButton" parent="VBoxContainer/HBoxContainer/Options/Values"]
unique_name_in_owner = true unique_name_in_owner = true
margin_left = 84.0 margin_left = 91.0
margin_top = 80.0 margin_top = 80.0
margin_right = 242.0 margin_right = 242.0
margin_bottom = 100.0 margin_bottom = 100.0
hint_tooltip = "How the value changes while moving from initial to final value" hint_tooltip = "How the value changes while moving from initial to final value"
mouse_default_cursor_shape = 2
size_flags_vertical = 4 size_flags_vertical = 4
disabled = true disabled = true
clip_text = true clip_text = true