# vim: set fileencoding=utf-8 from typing import Optional from bemani.backend.jubeat.base import JubeatBase from bemani.common import VersionConstants class Jubeat(JubeatBase): name: str = "Jubeat" version: int = VersionConstants.JUBEAT class JubeatRipples(JubeatBase): name: str = "Jubeat Ripples" version: int = VersionConstants.JUBEAT_RIPPLES def previous_version(self) -> Optional[JubeatBase]: return Jubeat(self.data, self.config, self.model) class JubeatRipplesAppend(JubeatBase): name: str = "Jubeat Ripples Append" version: int = VersionConstants.JUBEAT_RIPPLES_APPEND def previous_version(self) -> Optional[JubeatBase]: return JubeatRipples(self.data, self.config, self.model) class JubeatKnit(JubeatBase): name: str = "Jubeat Knit" version: int = VersionConstants.JUBEAT_KNIT def previous_version(self) -> Optional[JubeatBase]: return JubeatRipplesAppend(self.data, self.config, self.model) class JubeatKnitAppend(JubeatBase): name: str = "Jubeat Knit Append" version: int = VersionConstants.JUBEAT_KNIT_APPEND def previous_version(self) -> Optional[JubeatBase]: return JubeatKnit(self.data, self.config, self.model) class JubeatCopious(JubeatBase): name: str = "Jubeat Copious" version: int = VersionConstants.JUBEAT_COPIOUS def previous_version(self) -> Optional[JubeatBase]: return JubeatKnitAppend(self.data, self.config, self.model) class JubeatCopiousAppend(JubeatBase): name: str = "Jubeat Copious Append" version: int = VersionConstants.JUBEAT_COPIOUS_APPEND def previous_version(self) -> Optional[JubeatBase]: return JubeatCopious(self.data, self.config, self.model)