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

arr[1] = nc->skeleton->get_bone_pose_rotation(nc->bone_idx);
			arr[2] = nc->skeleton->get_bone_pose_scale(nc->bone_idx);
			entry.value = nc;
			backup->entries.push_back(entry);
		} else {
			if (nc->node_3d) {
				AnimatedValuesBackup::Entry entry;
				entry.object = nc->node_3d;
				entry.subpath.push_back("transform");
				entry.value = nc->node_3d->get_transform();
				entry.bone_idx = -1;
				backup->entries.push_back(entry);
			} else {
				for (const KeyValue<StringName, TrackNodeCache::PropertyAnim> &E : nc->property_anim) {
					AnimatedValuesBackup::Entry entry;
					entry.object = E.value.object;
					entry.subpath = E.value.subpath;
					bool valid;
					entry.value = E.value.object->get_indexed(E.value.subpath, &valid);
					entry.bone_idx = -1;
					if (valid) {
						backup->entries.push_back(entry);
					}
				}
			}
		}
	}
	return backup;
}
Ref<AnimatedValuesBackup> AnimationPlayer::apply_reset(bool p_user_initiated) {