Repository navigation
Releases: riadassoum/Maqamusic
Releases · riadassoum/Maqamusic
Release list
Maqamusic V3.1.0
Version 3.1
A correctness release: the Arabic interface, the hardware MIDI keyboard, and several points of maqam and rhythm theory.
Localization
- The Arabic interface now actually appears in Arabic. The translation was complete, but no module ever called
addonHandler.initTranslation(), so_()fell through to NVDA's own catalogue and every string silently stayed English regardless of NVDA's language. All three modules that use_()now initialise translations correctly. (editorwindow.pywas additionally binding_to a nullgettext.gettext, which could never translate anything.) - Added a translated manifest (
locale/ar/manifest.ini) so the add-on's name and description appear in Arabic in NVDA's add-on list.
Hardware MIDI keyboard
- Fixed the MIDI callback signature.
dwParam1was declared as a pointer (c_void_p) rather than the pointer-sized integer it is, so incoming messages could arrive asNoneand be silently discarded. - Fixed how the callback is handed to Windows (it was cast through
c_void_pinstead of being passed as its declaredWINFUNCTYPE), and the callback object is now kept alive for the lifetime of the connection. - Added a device picker. The add-on always opened device 0, which on most machines is a virtual/software port rather than the user's keyboard — so the connection "succeeded" while no key made a sound. You are now asked which device to use, and a failed open reports the real reason from Windows.
- Key velocity is now honoured, so a touch-sensitive keyboard is actually touch-sensitive.
Maqam theory
- Added maqam Nayruz — a Rast lower jins with a Bayati jins above the fifth (not Nahawand). Twenty-one maqamat in total.
- Fixed Husseini. Bayati-above-Bayati joined at the fourth, producing a scale with a badly flat 650-cent "fifth". They now join at the fifth, matching the standalone Bayati Husseini exactly.
- Fixed Mahur — its two ajnas were swapped (it is Rast below, Ajam above).
- Fixed Saba — its upper jins was listed as Hijaz, giving it a major seventh instead of its flat one. It is Kurd.
- Fixed Saba Zamzam — it referenced a jins key that did not exist, so it could never be built from the ajnas at all.
- Every compound maqam signature now reproduces exactly the maqam it names.
Rhythm
- Ten iqa'at were playing at double speed, running through only half their cycle before repeating — Samai Thaqil, a ten-beat cycle, was coming out in five. Affected: Samai Thaqil, Jurjina, Aqsaq, Karsilama, Yuruk Semai, Dawr Hindi, Katakufti, Awis, Samai Saraband and Thurayya. The pulse resolution is now derived generally, and all thirty-three iqa'at play their full, correct cycle.
Other
- The Percussion Kit can now be saved as the default instrument — the settings spec capped the instrument index below it, so it was silently unsavable.
- A stale or out-of-range saved maqam/instrument/rhythm index can no longer prevent the add-on from starting.
maqamusic v3.0.0
First released version of Maqamusic, the NVDA add-on that turns your computer into an Arabic musical keyboard