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

List<int> to_play;
					if (p_started) {
						int first_key = a->track_find_key(i, p_prev_time, Animation::FIND_MODE_EXACT);
						if (first_key >= 0) {
							to_play.push_back(first_key);
						}
					}
					a->track_get_key_indices_in_range(i, p_time, p_delta, &to_play, p_looped_flag);
					if (to_play.size()) {
						int idx = to_play.back()->get();
						StringName anim_name = a->animation_track_get_key_animation(i, idx);
						if (String(anim_name) == "[stop]" || !player->has_animation(anim_name)) {
							if (playing_caches.has(nc)) {
								playing_caches.erase(nc);
								player->stop();
								nc->animation_playing = false;
							}
						} else {
							player->seek(0.0);
							player->play(anim_name);
							nc->animation_playing = true;
							playing_caches.insert(nc);
						}
					}
				}
			} break;
		}
	}
}
void AnimationPlayer::_animation_process_data(PlaybackData &cd, double p_delta, float p_blend, bool p_seeked, bool p_started) {