### 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)

case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: {
			if (process_callback == ANIMATION_PROCESS_IDLE) {
				break;
			}
			if (processing) {
				_animation_process(get_physics_process_delta_time());
			}
		} break;
		case NOTIFICATION_EXIT_TREE: {
			clear_caches();
		} break;
	}
}
void AnimationPlayer::_ensure_node_caches(AnimationData *p_anim, Node *p_root_override) {
	
	if (p_anim->node_cache.size() == p_anim->animation->get_track_count()) {
		return;
	}
	Node *parent = p_root_override ? p_root_override : get_node(root);
	ERR_FAIL_COND(!parent);
	Animation *a = p_anim->animation.operator->();
	p_anim->node_cache.resize(a->get_track_count());
	setup_pass++;
	for (int i = 0; i < a->get_track_count(); i++) {
		p_anim->node_cache.write[i] = nullptr;
		if (!a->track_is_enabled(i)) {
			continue;
		}
		Ref<Resource> resource;
		Vector<StringName> leftover_path;