Exemple #1
0
def render() -> None:
    """renders all decks"""
    for deck_id, deck_state in state.items():
        deck = decks.get(deck_id, None)
        if not deck:
            warn(
                f"{deck_id} has settings specified but is not seen. Likely unplugged!"
            )
            continue

        page = get_page(deck_id)
        for button_id, button_settings in (deck_state.get("buttons", {}).get(
                page, {}).items()  # type: ignore
                                           ):
            key = f"{deck_id}.{page}.{button_id}"
            if key in image_cache:
                image = image_cache[key][0]
            else:
                pil_image = _render_key_image(deck, **button_settings)
                image = ImageHelpers.PILHelper.to_native_format(
                    deck, pil_image)

                qt_image = ImageQt(pil_image)
                qt_image = qt_image.convertToFormat(QImage.Format_ARGB32)
                pixmap = QPixmap(qt_image)
                image_cache[key] = (image, pixmap)

            with streamdecks_lock:
                deck.set_key_image(button_id, image)
Exemple #2
0
 def call(self, meta, jpeg):
     image = ImageQt(jpeg)
     image = image.convertToFormat(QtGui.QImage.Format_RGB888)
     self.newImage.emit(meta, image)