song_slide.py 984 B

123456789101112131415161718192021222324252627282930
  1. # Copyright © 2024 Noah Vogt <noah@noahvogt.com>
  2. # This program is free software: you can redistribute it and/or modify
  3. # it under the terms of the GNU General Public License as published by
  4. # the Free Software Foundation, either version 3 of the License, or
  5. # (at your option) any later version.
  6. # This program is distributed in the hope that it will be useful,
  7. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  9. # GNU General Public License for more details.
  10. # You should have received a copy of the GNU General Public License
  11. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  12. from abc import ABC, abstractmethod
  13. from wand.image import Image
  14. class SongSlide(ABC):
  15. @abstractmethod
  16. def get_slide(
  17. self,
  18. template_img: Image,
  19. slide_text: str,
  20. song_structure: list,
  21. index: int,
  22. use_arrow: bool,
  23. ) -> Image:
  24. pass