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

ERR_CONTINUE(!E); 
				TrackNodeCache::AudioAnim *aa = &E->value;
				Node *asp = Object::cast_to<Node>(aa->object);
				if (!asp) {
					continue;
				}
				aa->length = a->get_length();
				aa->time = p_time;
				aa->loop = a->get_loop_mode() != Animation::LOOP_NONE;
				aa->backward = backward;
				if (aa->accum_pass != accum_pass) {
					ERR_CONTINUE(cache_update_audio_size >= NODE_CACHE_UPDATE_MAX);
					cache_update_audio[cache_update_audio_size++] = aa;
					aa->accum_pass = accum_pass;
				}
				HashMap<int, TrackNodeCache::PlayingAudioStreamInfo> &map = aa->playing_streams;
				
				int idx = -1;
				if (p_seeked) {
					idx = a->track_find_key(i, p_time);
					
					if (map.has(idx)) {
						aa->audio_stream_playback->stop_stream(map[idx].index);
						map.erase(idx);
					}
				} else {
					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) {