martastain

nxtv music label plugin

Jun 29th, 2021
876
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. from nebula import *
  2.  
  3. class Plugin(PlayoutPlugin):
  4.     def on_init(self):
  5.         self.id_layer = 92
  6.         self.fname = os.path.join(self.playout_dir, "cg_music_label.png")
  7.         print (self.fname)
  8.         self.show_fx = "PUSH 15 EaseInOutBack RIGHT"
  9.         self.hide_fx = "PUSH 15 EaseInOutBack LEFT"
  10.  
  11.     def on_change(self):
  12.         if self.current_asset["id_folder"] != 4:
  13.             self.query("CLEAR {}".format(self.layer()))
  14.             self.tasks = []
  15.             return
  16.  
  17.         if not cg_download(
  18.                     self.fname,
  19.                     "music_label",
  20.                     title=self.current_asset["title"],
  21.                     artist=self.current_asset["role/performer"]
  22.                 ):
  23.             return
  24.  
  25.         self.tasks = [
  26.                     self.begin_show,
  27.                     self.begin_hide,
  28.                     self.end_show,
  29.                     self.end_hide
  30.                 ]
  31.  
  32.  
  33.     def begin_show(self):
  34.         if self.position < 1:
  35.             return False
  36.         self.query(
  37.                 "PLAY {} {} {}".format(
  38.                     self.layer(),
  39.                     get_base_name(self.fname),
  40.                     self.show_fx
  41.                     )
  42.                 )
  43.         return True
  44.  
  45.     def begin_hide(self):
  46.         if self.position < 10:
  47.             return False
  48.         self.query(
  49.                 "PLAY {} EMPTY {}".format(
  50.                     self.layer(),
  51.                     self.hide_fx
  52.                     )
  53.                 )
  54.         return True
  55.  
  56.     def end_show(self):
  57.         if self.position < self.duration - 10:
  58.             return False
  59.         self.query(
  60.                 "PLAY {} {} {}".format(
  61.                     self.layer(),
  62.                     get_base_name(self.fname),
  63.                     self.show_fx
  64.                     )
  65.                 )
  66.         return True
  67.  
  68.     def end_hide(self):
  69.         if self.position < self.duration - 2:
  70.             return False
  71.         self.query(
  72.                 "PLAY {} EMPTY {}".format(
  73.                     self.layer(),
  74.                     self.hide_fx
  75.                     )
  76.                 )
  77.         return True
  78.  
  79.  
Advertisement
Add Comment
Please, Sign In to add comment