Thanks – I saw the console, but thought I wouldn’t be able to run it in OS X. First attempt failed on an attempt to import liblo – the critical path to getting past that was
$ pip install cython
$ pip install git+https://github.com/dsacre/pyliblo
Now when I ran pippi, I got an error due to a missing default.config:
(pippi) Bens-MacBook-Air:pippi ben$ pippi
Using experimental portaudio bindings. Please install alsaaudio if you have problems with sound playback.
Traceback (most recent call last):
File "/Users/ben/Envs/pippi/bin/pippi", line 4, in <module>
__import__('pkg_resources').run_script('pippi==1.0b1.post1', 'pippi')
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pkg_resources/__init__.py", line 719, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1504, in run_script
exec(code, namespace, namespace)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/EGG-INFO/scripts/pippi", line 332, in <module>
console = Pippi()
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/EGG-INFO/scripts/pippi", line 29, in __init__
self.config = config.init()
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/pippi/config.py", line 59, in init
config = init_user_config()
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/pippi/config.py", line 38, in init_user_config
shutil.copy(default_path, config_path)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 119, in copy
copyfile(src, dst)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 82, in copyfile
with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: '/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/pippi/default.config'
(pippi) Bens-MacBook-Air:pippi ben$
When I copied pippi/default.config into the right location and tried again, I got a KeyError:
(pippi) Bens-MacBook-Air:pippi ben$ pippi
Using experimental portaudio bindings. Please install alsaaudio if you have problems with sound playback.
Traceback (most recent call last):
File "/Users/ben/Envs/pippi/bin/pippi", line 4, in <module>
__import__('pkg_resources').run_script('pippi==1.0b1.post1', 'pippi')
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pkg_resources/__init__.py", line 719, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1504, in run_script
exec(code, namespace, namespace)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/EGG-INFO/scripts/pippi", line 332, in <module>
console = Pippi()
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/EGG-INFO/scripts/pippi", line 32, in __init__
self.io = IOManager()
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/pippi/io.py", line 31, in __init__
self.config = config.init()
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/pippi/config.py", line 53, in init
config = parse(user_config_path)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/pippi/config.py", line 29, in parse
parsed[key] = default_config[key]
KeyError: 'divs'
(pippi) Bens-MacBook-Air:pippi ben$
I then added
divs = [1, 2, 4, 3, 8, 16]
to default.config, and got pippi to run; when I played the example, I saw an error, but it played! I’m listening to it now. The successful session looks like this:
(pippi) Bens-MacBook-Air:pippi ben$ pippi
Using experimental portaudio bindings. Please install alsaaudio if you have problems with sound playback.
Pippi Console
^_- play example 3
^_- Process Process-2:
Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/pippi-1.0b1.post1-py2.7-macosx-10.9-x86_64.egg/pippi/midi.py", line 49, in device_scribe
with mido.open_input(device_name) as incoming:
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/mido-1.1.14-py2.7.egg/mido/backends/backend.py", line 112, in open_input
return self.module.Input(name, **self._add_api(kwargs))
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/mido-1.1.14-py2.7.egg/mido/backends/backend.py", line 63, in module
self.load()
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/mido-1.1.14-py2.7.egg/mido/backends/backend.py", line 79, in load
self._module = _import_module(self.name)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/mido-1.1.14-py2.7.egg/mido/backends/backend.py", line 25, in _import_module
return importlib.import_module(module, package)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/mido-1.1.14-py2.7.egg/mido/backends/portmidi.py", line 15, in <module>
from . import portmidi_init as pm
File "/Users/ben/Envs/pippi/lib/python2.7/site-packages/mido-1.1.14-py2.7.egg/mido/backends/portmidi_init.py", line 20, in <module>
lib = CDLL(dll_name)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(libportmidi.dylib, 6): image not found
^_- stop
^_-
(A subsequent play in the same session did not produce the error.)