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

}
	for (int i = 0; i < cache_update_audio_size; i++) {
		TrackNodeCache::AudioAnim *aa = cache_update_audio[i];
		ERR_CONTINUE(aa->accum_pass != accum_pass);
		
		LocalVector<int> erase_list;
		for (const KeyValue<int, TrackNodeCache::PlayingAudioStreamInfo> &K : aa->playing_streams) {
			TrackNodeCache::PlayingAudioStreamInfo pasi = K.value;
			bool stop = false;
			if (!aa->audio_stream_playback->is_stream_playing(pasi.index)) {
				stop = true;
			}
			if (!aa->loop) {
				if (!aa->backward) {
					if (aa->time < pasi.start) {
						stop = true;
					}
				} else if (aa->backward) {
					if (aa->time > pasi.start) {
						stop = true;
					}
				}
			}
			if (pasi.len > 0) {
				double len = 0.0;
				if (!aa->backward) {
					len = pasi.start > aa->time ? (aa->length - pasi.start) + aa->time : aa->time - pasi.start;
				} else {
					len = pasi.start < aa->time ? (aa->length - aa->time) + pasi.start : pasi.start - aa->time;
				}