2017-02-21 21:43 GMT+01:00 Christopher Arndt <chris@chrisarndt.de>:
Am 21.02.2017 um 18:26 schrieb Alexandre DENIS:
> Second remark: why PyQt4 and Python 2.7?
> Wouldn't PyQt5 and Python 3.x be more future-proof?

Another thing I noticed is that you seem to be using pyalsa for MIDI
I/O. IMHO that needlessly limits the potential user base of the software.

Might I (not so) humbly suggest, that you take a look at python-rtmidi?


I actually looked into rtmidi a couple of months ago, when I was working on a custom class for a couple of project I had in mind (an automatic midi recorder and a midi delay); the result is in the midiutils.py, which contains both classes for midi events and a Qt class which maps the whole MIDI graph for ALSA MIDI devices (and JACK in the future).
After looking around for the existing modules, I realized that none of them was satisfying enough; if I recall correctly, one of the main issues with rtmidi was that its interface layer was too high for my needs: it doesn't provide client/port ids, nor port capabilities or port announcement, and it doesn't support ALSA's hidden/system ports; this can be a problem if you need callbacks for port creation/deletion. But I may be wrong, it was a long time ago and I might have not read deep enough in the documentation, so, please, feel free to correct me if I'm wrong.

I know that this seriously limits the portability in other systems, but right now my priority is to provide the best "experience" on linux. On the other hand, my choice for PyQt was also inspired by the fact it's multiplatform (I used to write in Gtk, but after struggling with it for months I realized it's a mess), and when I started my work on the forementioned classes I did that with future portability in mind. So, who knows...

Thanks anyway for your suggestion!

Maurizio

--
È difficile avere una convinzione precisa quando si parla delle ragioni del cuore. - "Sostiene Pereira", Antonio Tabucchi
http://www.jidesk.net