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

if (!end_reached) {
		queued.clear();
	}
	_set_process(true); 
	playing = true;
	emit_signal(SceneStringNames::get_singleton()->animation_started, c.assigned);
	if (is_inside_tree() && Engine::get_singleton()->is_editor_hint()) {
		return; 
	}
	StringName next = animation_get_next(p_name);
	if (next != StringName() && animation_set.has(next)) {
		queue(next);
	}
}
bool AnimationPlayer::is_playing() const {
	return playing;
}
void AnimationPlayer::set_current_animation(const String &p_anim) {
	if (p_anim == "[stop]" || p_anim.is_empty()) {
		stop();
	} else if (!is_playing()) {
		play(p_anim);
	} else if (playback.assigned != p_anim) {
		float speed = get_playing_speed();
		play(p_anim, -1.0, speed, signbit(speed));
	} else {
		
	}
}
String AnimationPlayer::get_current_animation() const {