Skip to content

Releases: riadassoum/Maqamusic

Maqamusic V3.1.0

Choose a tag to compare

@riadassoum riadassoum released this 14 Jul 06:55

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.py was additionally binding _ to a null gettext.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. dwParam1 was declared as a pointer (c_void_p) rather than the pointer-sized integer it is, so incoming messages could arrive as None and be silently discarded.
  • Fixed how the callback is handed to Windows (it was cast through c_void_p instead of being passed as its declared WINFUNCTYPE), 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

Choose a tag to compare

@riadassoum riadassoum released this 06 Jul 06:52

First released version of Maqamusic, the NVDA add-on that turns your computer into an Arabic musical keyboard