Re: mididings Python woes; workaround or fix?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Thanks to Christopher Arndt, I appear to have made a functioning fork:

I'm not positive I have the namespace altogether consistent -- some of the instances of 'Callable' are within a renamed collection, so I had to rename the rename, in two files under 'units'; but it does seem to work.  Wiser Python heads may want to correct the error of my ways if I miswrote!

Also, interestingly enough, there are apparently 37 forks of mididings right now :-)  I forked mine off the latest to date.  Happy to see that community.


On 1/31/22 6:39 AM, Jonathan E. Brickman wrote:

Mididings may be the only JACK-api MIDI router/filter tool around; if there is another I'd love to know about it.  On the other hand t was working just dandy until, I think, some changes to both Python3 and legacy support for Python2.  I was using its Python3 AUR adaptation (mididings-git) under Manjaro, but then after package upgrades, it began to fail at 'from mididings import *' (see below).  I found similar failures in Ubuntu 20, and found different failures in both when I tried setting up to use Python2 (which obviously we would rather not be doing).  The failure is similar to a number of failures reported starting with Python 3.10, so this may be related, but I was not able to figure out how to apply those workarounds to the mididings source, I tried several different variations, including a number of the different forks in github.

Thoughts, anyone?  I found Pigiron and Jamrouter and puredata, but none of these appear to do JACK.  I'm using pipewire now, so I could theoretically revise the whole rig around ALSA MIDI, but all of the apps needing MIDI use JACK, and mididings is so elegant...


[jeb@newbnr ~]$ python
Python 3.10.1 (main, Dec 18 2021, 23:53:45) [GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from mididings import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-        linux-x86_64.egg/mididings/", line 15, in <module>
    from mididings.engine import run, process_file
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-linux-x86_64.egg/mididings/", line 15, in <module>
    import mididings.patch as _patch
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-    linux-x86_64.egg/mididings/", line 15, in <module>
    import mididings.units as _units
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-linux-x86_64.egg/mididings/units/", line 14, in <module>
    from mididings.units.engine import *
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-linux-x86_64.egg/mididings/units/", line 55, in <module>
    def SceneSwitch(number=_constants.EVENT_PROGRAM):
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-linux-x86_64.egg/mididings/", line 46, in composed
    return arguments.accept(*constraints, **kwargs) (store(f))
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-linux-x86_64.egg/mididings/", line 49, in __init__
self.constraints = [_make_constraint(c) for c in constraints]
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-linux-x86_64.egg/mididings/", line 49, in <listcomp>
self.constraints = [_make_constraint(c) for c in constraints]
  File "/usr/lib/python3.10/site-packages/mididings-2.0.0+r26a40db-py3.10-linux-x86_64.egg/mididings/", line 160, in _make_constraint
    elif isinstance(c, collections.Callable):
AttributeError: module 'collections' has no attribute 'Callable'

Linux-audio-user mailing list

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux