Управление Martin M-PC по OSC

В этом видео рассказано как управлять программой Martin M-PC по протоколу OSC, в качестве примера используется TouchDesigner.

Схема OSC мэппинга в Martin M-PC: https://goo.gl/UfhPPi
PDF версия: goo.gl/oqWzLx

Прекрасный код на Python

За последние годы я написал много кода на Python (grail, grailkit, osc) и вывел для себя определенные правила как писать код так что бы потом было приятней к нему возвращаться.

Главный принцип — писать так чтобы было приятно снова возвращаться к работе. 

я

Зен Пайтон

Самы правильный набор правил существует достаточно давно это Zen of Python, который является официальным PEP, оригинал.

  1. Красивое лучше, чем уродливое.
  2. Явное лучше, чем неявное.
  3. Простое лучше, чем сложное.
  4. Сложное лучше, чем запутанное.
  5. Плоское лучше, чем вложенное.
  6. Разреженное лучше, чем плотное.
  7. Читаемость имеет значение.
  8. Особые случаи не настолько особые, чтобы нарушать правила.
  9. При этом практичность важнее безупречности.
  10. Ошибки никогда не должны замалчиваться.
  11. Если они не замалчиваются явно.
  12. Встретив двусмысленность, отбрось искушение угадать.
  13. Должен существовать один и, желательно, только один очевидный способ сделать это.
  14. Хотя он поначалу может быть и не очевиден, если вы не голландец.
  15. Сейчас лучше, чем никогда.
  16. Хотя никогда зачастую лучше, чем прямо сейчас.
  17. Если реализацию сложно объяснить — идея плоха.
  18. Если реализацию легко объяснить — идея, возможно, хороша.
  19. Пространства имён — отличная штука! Будем делать их больше!

Порядок методов в классе

Я использую такой порядок методов и свойств, просто для того чтобы было понятно где что искать.

  1. Магические методы: __init__, __len__ и т.д.
  2. Свойства: @property, @name.setter
  3. Методы изменяющие свойства: set_spacing, set_location
  4. Обычные методы: append, close, move
  5. Обработчики событий: on_click, on_resize
  6. Скрытые методы: _render, _handle
  7. Приватные методы: __event, __parse
  8. Статические методы класса: @classmethod
  9. Абстрактные статические методы: @staticmethod

Chauvet Obey 40 — быстрый старт

Видео обзор и руководство по работе с DMX пультом Chauvet Obey 40.

В этой Серии видео рассказано об основных моментах при работе на CHauvet Obey 40 таких как: Как записать сцену, как удалить сцену, как сбросить все настройки, как записать чейз, как удалить чейз.

Смотреть весь плейлист на YouTube 

Grail 1.0

Рад сообщить о новом релизе программы Grail 1.0!

В этой версии произошло очень много изменений по сравнению с версией 0.9, можно даже сказать что практически все было написано заново.

Вся архитектура приложения построена на принципе плагинов и расширяемости функционала за счет стороннего кода. Приложение целиком написано на Python 3 и использует PyQt 5 для создания интерфейса.

Плагины

Плагини разделяются на несколько категорий: Plugin, Viewer и Configurator — каждый из них выполняет свою определенную роль в программе.


Plugin — это не визуальный плагин который запускается один раз вместе с приложением и работает до его закрытия, он может создавать пункты меню и открывать дополнительные окна.

Viewer — это визуальный плагин, он может быть создан много раз, это то с чем пользователь взаимодействует и видит при открытии проекта.

Configurator — это подобие viewer’a, но они выполняют роль дополнительных страниц в окне Preferences.

Формат файлов и проекты

Теперь каждый проект можно сохранять в файл, и все настройки сохраняются в нем.

Формат файлов использует SQLite за основу, по сути все *.grail файлы — это файлы баз данных SQLite. Внутри есть множество объектов со своими свойствами и дочерними объектами, если они есть. Например есть корневой объект Project, он хранит информацию о проекте в этом файле, объект Settings — хранит информацию о настройках, OSC маршрутизации, настройках дисплея и т.д.

Viewer’ы

  1. Time
  2. Notes
  3. Bible
  4. Cuelist
  5. Library
  6. Preview
  7. Display Output
  8. Nodes (для разработчиков)
  9. Properties (для разработчиков)
  10. Console (для разработчиков)

Ключевые изменения:

  1. Новая архитектура
  2. Файлы проектов
  3. Новый формат файлов
  4. Песни отделены от Cue-листов
  5. Улучшен поиск по библиотеке
  6. Неограниченное количество Cue-листов, дочерних нод
  7. Инструменты разработчика NodeViewer, ConsoleViewer, PropertiesViewer
  8. Новый формат отправки OSC сообщений
  9. Использование новой библиотеки Grailkit
  10. Обновленный дизайн и исправление ошибок на Windows и Mac OS


Скачать можно на официальном сайте grailapp.com