### Godot version

4.0.beta13

### System information

Windows 10

### Issue description

When you call the `seek()` function without a current animation it outputs `Condition "!playback.current.from" is true.` to the debugger.

I was getting the error above whenever I would call `stop()` on an AnimationPlayer when it didn't have a playing animation. I realized that `stop()` also calls the `seek()` function.

I would expect the `seek()` and `stop()` functions to just do nothing, instead of throwing errors, if there isn't a current animation, or at least show an error that says that there is no animation to seek/stop.

This is the same issue that was described here: [#6122](https://github.com/godotengine/godot/issues/6122)

### Steps to reproduce

- Create an AnimationPlayer node.
- Don't have it play any animations.
- Call the `seek()` function.

### Minimal reproduction project

[seek_issue.zip](https://github.com/godotengine/godot/files/10442071/seek_issue.zip)

StringName anim_name = a->animation_track_get_key_animation(i, idx);
					if (String(anim_name) == "[stop]" || !player->has_animation(anim_name)) {
						continue;
					}
					Ref<Animation> anim = player->get_animation(anim_name);
					double at_anim_pos = 0.0;
					switch (anim->get_loop_mode()) {
						case Animation::LOOP_NONE: {
							at_anim_pos = MIN((double)anim->get_length(), p_time - pos); 
						} break;
						case Animation::LOOP_LINEAR: {
							at_anim_pos = Math::fposmod(p_time - pos, (double)anim->get_length()); 
						} break;
						case Animation::LOOP_PINGPONG: {
							at_anim_pos = Math::pingpong(p_time - pos, (double)anim->get_length());
						} break;
						default:
							break;
					}
					if (player->is_playing()) {
						player->seek(at_anim_pos);
						player->play(anim_name);
						nc->animation_playing = true;
						playing_caches.insert(nc);
					} else {
						player->set_assigned_animation(anim_name);
						player->seek(at_anim_pos, true);
					}
				} else {