<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Thanks to Christopher Arndt, I appear to have made a functioning
fork:</p>
<p><a class="moz-txt-link-freetext" href="https://github.com/ponderworthy/mididings">https://github.com/ponderworthy/mididings</a></p>
<p>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!</p>
<p>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.<br>
</p>
<p>J.E.B.<br>
</p>
<div class="moz-cite-prefix">On 1/31/22 6:39 AM, Jonathan E.
Brickman wrote:<br>
</div>
<blockquote type="cite"
cite="mid:bda53821-b90f-2905-f1bf-c3b35267ca9b@ponderworthy.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p>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.<br>
</p>
<p>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...<br>
</p>
<p>J.E.B.</p>
<p><br>
</p>
<pre><code>[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/__init__.py", 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/engine.py", 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/patch.py", 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/__init__.py", 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/engine.py", 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/unitrepr.py", 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/arguments.py", 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/arguments.py", 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/arguments.py", line 160, in _make_constraint
elif isinstance(c, collections.Callable):
AttributeError: module 'collections' has no attribute 'Callable'
>>></code></pre>
<p><br>
</p>
</blockquote>
</body>
</html>