Для тех кто пишет расширения на PyQt/PySide для CG-софтов.
Когда я только начинал писать тулзы под Maya (тогда еще версия 2010-2011) мне приходилось ручками ставить PyQt4 под Maya. Даже написал мануалы по установке на своём сайте. Но потом стал доступен из коробки PySide и позже он обновится до PySide2. Для некоторых систем была поддержка PyQt5.
И как простому разработчику поддерживать этот зоопарк? Ведь хочется чтобы тул работал на любой версии (вы тоже делали модуль что-то типа import_qt.py?😁)
На помощь приходит проект Qt.py который поставил себе цель унифицировать использование Qt-биндингов вне зависимости от среды где запускается код. Те, кто давно пишут на Qt, скорее всего знают этот проект.
Он стал стандартом для CG-индустрии и используется в топовых студиях и проектах.
Qt․py помогает запускать один и тот же код на разных платформах с разными вариантами Qt-библиотек. Это может быть как интеграция в CG-софт, так и переносимость стендалонов между разными платформами с разными версиями Python.
Я решил рассказать о некоторых особенностях работы с этой библиотекой.
Сегодня о том, как установить и использовать Qt․py и что это вам даёт.
Установка
pip install Qt.py
Чтобы начать использовать Qt․py в коде достаточно заменить импорт вашего варианта Qt-биндинга на Qt․py
from [PySide|PyQt4|PySide2|PyQt5] import QtWidgets
=>
from Qt import QtWidgets
Теперь ваш код будет поддерживать любой вариант биндинга Qt в Python.
При этом не потребуется использовать if-else конструкции под разные версии. Все вызовы теперь одинаковы.
Всё что нужно сделать, это написать его по правилам PySide2. Именно эта версия была взята за основу.
Приоритет импорта такой:
1. PySide2
2. PyQt5
3. PySide
4. PyQt4
Что именно загрузилось можно посмотреть в переменной __binding__
>>> import Qt
>>> Qt.__binding__
'PySide2'
Приоритет имопрта можно изменить через переменные QT_PREFERRED_BINDING и QT_PREFERRED_BINDING_JSON. Причем под каждый проект оверрайды можно настраивать индивидеально.
#qt#libs
World Music Geek в Дилетантах Покровки II
#event#traditional#hindustani#carnatic#afrobeat
13 марта в 21:00 ваш покорный слуга приглашает вас в Дилетанты Покровки принять участие в очередном музыкальном путешествии. На этот раз оно начнется где-то в районе Тайланда, в основном будет проходить на территории Индийского субконтинента и закончится в Конго. Мы послушаем традиционную музыку с винила, выпьем масала чай и угостимся ладду! Если останутся силы и желание, можно будет окунуться в африканские танцевальные ритмы напоследок.
Начало: 21:00
Адрес: Покровка, 41, Москва
Various Artists — Indian Talking Machine (Sublime Frequencies, 2021)
#traditional#khyal#carnatic#dhrupad#hindustani#thumri#India
С 2012 по 2013 год Роберт Миллис работал старшим научным сотрудником программы Фулбрайт в Индии, где изучал индийскую индустрию звукозаписи. Самые ранние записи в этой стране были сделаны еще в 1902 году. Это один из первых незападных аванпостов индустрии звукозаписи. В декабре 2015 года Sublime Frequencies опубликовали книгу Миллиса, в приложение к которой вошли два диска с музыкой из его коллекции индийских шеллаковых грампластинок, выпущенных в период с 1903 по 1949 год. На альбоме можно услышать виртуозные инструментальные соло и вокальные произведения, народную музыку и записи театральных представлений. Отцифровкой пластинок занимался Джонатан Уорд (Excavated Shellac), а мастерингом – Майкл Грейвс (Analog Africa, Dust-to-Digital, Hank Williams Garden Spot Recordings).
🔗Bandcamp
Shakti — NPR Music Tiny Desk Concert (2023)
#jazz#carnatic#hindustani#tabla#dhol#video#India#United_States
Записав первый за 48 лет альбом This Moment, джаз-фьюжн группа Shakti отправилась в мировое турне и по дороге заскочила на Tiny Desk, чтобы презентавать новое творчество.
Shakti — это группа, созданная английским гитаристом Джоном Маклафлином, индийским скрипачом Л. Шанкаром, перкуссионистами Закиром Хуссейном и Т. Х. «Викку» Винайакрамом в 1973 году. Группа исполняла акустический фьюжн, сочетая индийскую музыку с элементами джаза, перестала существовать в 1978 году, и только в 2020 году собралась вновь в немного измененном составе.
YouTube