mirror of
https://github.com/RafaelSolVargas/Vulkan.git
synced 2025-10-29 16:57:23 +00:00
82 lines
1.3 KiB
Python
82 lines
1.3 KiB
Python
from abc import ABC, abstractproperty, abstractmethod
|
|
|
|
|
|
class IPlaylist(ABC):
|
|
@abstractproperty
|
|
def looping_one(self):
|
|
pass
|
|
|
|
@abstractproperty
|
|
def looping_all(self):
|
|
pass
|
|
|
|
@abstractproperty
|
|
def songs_to_preload(self) -> list:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def __len__(self):
|
|
pass
|
|
|
|
@abstractmethod
|
|
def next_song(self):
|
|
pass
|
|
|
|
@abstractmethod
|
|
def add_song(self, identifier: str) -> None:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def shuffle(self) -> None:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def revert(self) -> None:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def clear(self) -> None:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def loop_one(self) -> str:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def loop_all(self) -> str:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def loop_off(self) -> str:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def destroy_song(self, song_destroy) -> None:
|
|
pass
|
|
|
|
|
|
class ISong(ABC):
|
|
@abstractmethod
|
|
def finish_down(self, info: dict) -> None:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def source(self) -> str:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def title(self) -> str:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def duration(self) -> str:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def identifier(self) -> str:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def destroy(self) -> None:
|
|
pass
|