Description
When I originally started working on PySoundCard, I expressly did not want to wrap portaudio verbatim. Instead, my aim was to create a pythonic way to talk to sound cards and relegate portaudio to an implementation detail.
This made a huge amount of sense for PySoundCard, since portaudio can be pretty hard to figure out. Libsndfile is a much cleaner library than portaudio, with much cleaner abstractions. Still, my aim was to provide as pythonic an interface as possible. Emulating all of libsndfile was never on my agenda.
As we continue to work on PySoundFile, we should formulate consistent goals for our efforts. In the many discussions with @mgeier, I realize that PySoundFile is many things to many people, and my own views are not always representative of what other people want or think.
In particular, this pertains to the questions:
- should we support every feature of libsndfile?
- should we focus on usability first, or speed first?
- should we focus on clean abstractions over convenience?
- should we break backwards compatibility?
- what about documentation and tests?
This is all the more relevant since we have over a thousand downloads on PyPi every month, so these decisions probably affect quite a few people.