Для тех кто пишет расширения на 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
The Ahmad Sham Sufi Qawwali Group — Introducing Ahmad Sham Sufi Qawwali Group (World Music Network, 2013)
#qawwali#sufi#harmonium#tabla#bansuri#Afghanistan
В XIII веке в Индии суфийАмир Хосров из ордена Чиштия объединил персидское, арабское, турецкое и индийское наследие духовных песнопений и создал традицию, которая сегодня известна как каввали. Aнсамбль Ахмада Шама — один из самых уважаемых коллективов, исполняющих каввали в Афганистане. Эта страна является одним из центров суфизма, для многих направлений которого музыка — важный элемент духовных ритуалов. Несколько самых прославленных суфийских святых были выходцами из современного Афганистана. Прежде всего поэт Руми родился в 1207 году в Балхе. В 2013 году Ахмад Шам записал со своим коллективом единственную пластинку на западном лейбле, но судя по тому, что в сети время от времени появляются записи его выступлений, он жив, здоров и продолжает практиковать свое искусство.
Spotify | AppleMusic | Telegram
Qais Essar — Echoes Of The Unseen (Worlds Within Worlds, 2024)
#traditional#hindustani#rubab#dilruba#daf#tabla#bansuri#santoor#Afghanistan
Каис Эссар — афганский композитор и инструменталист, известный своим новаторским подходом к традиционной музыке, сочетающим наследие с современностью. В своём альбоме Echoes of the Unseen Эссар экспериментирует с афганской классической музыкой, в центре которой находится рубаб — национальный инструмент Афганистана (и предшественник индийского сарода).
Композиции альбома основаны на рагах — традиционных мелодических формах афганской и индийской классической музыки, которые соответствуют определённым временам суток, начиная с утра и заканчивая ночью. Полевые аудиозаписи природы Северной Аризоны, где живёт Эссар, создают в альбоме дополнительное измерение естественных звуков. А за многообразие традиционных инструментов на разных треках отвечали Сандип Сингх (дильруба), Ниламджит Дхиллон (табла), Эрик Занг (даф), Джас Ахлувалиа (табла), Камалджит Ахлувалиа (сантур) и Химаншу Нанда (бансури).
Экспериментальный подход Эссара позволяет расширить границы звучания рубаба через импровизацию в рамках традиции. Музыкант обращается к музыкальной линии Устада Аллаудина Хана, особенно к игре на сароде Устада Али Акбар Хана и Устада Аашиш Хана (сына и внука Аллаудина, соответственно). А в рамках текущего запрета на музыку в Афганистане, Эссар подчёркивает важность сохранения и развития наследия рубаба, обеспечивая выживание инструмента в современном музыкальном контексте.
🔗AppleMusic | Spotify | YouTube | Deezer | TIDAL | Napster | Amazon | Bandcamp | Telegram
Various Artists — Folk Music of Pakistan (Folkways Records, 1951)
#traditional#alghoza#bansuri#bagpipe#clarinet#dholak#dilo#duff#ghatam#mandolin#sarinda#sitar#tabla#tambura#Bangladesh#Pakistan
Пакистан образовался в 1947 году после разделения Британской Индии на два государстваː индуистское, Индийский Союз, и мусульманское, Доминион Пакистан. Бангладеш, ранее известный как Восточный Пакситан, приобрёл автономность в 1971 году в результате войны за независимость.
Композиции из разных регионов обеих современных стран представлены на этой записи 1951 года. Например, на ней можно услышать песню бангладешских лодочников «бхатиали» (ভাটিয়ালি) или пуштунскую любовную песню из Хайбер-Пахтунхва.
Важно отметить, что некоторые названия, упомянутые в названиях песен, изменились с момента создания этих записей. Например, провинция Хайбер-Пахтунхва (Khyber Pakhtunkhwa) в 1951 году носила имя Северо-Западная пограничная провинция (Northwest Frontier Province).
🔗Spotify | AppleMusic