On 10/07/16 07:53, Alexandre Ratchov wrote:
On Thu, Oct 06, 2016 at 10:55:26AM +1100, Tobias Brodel wrote:
Hi, this is my first attempt at an OpenBSD port, it's for audio/pd. Feedback would be greatly appreciated. COMMENT: Realtime computer music and graphics system. DESCR: Pure Data (Pd) is an open source visual programming language. It is used to process and generate sound, video, 2D/3D graphics. Pd interfaces with sensors, input devices and MIDI and can be operated across local and remote networks. Pd is suitable for learning basic multimedia processing and visual programming techniques, as well as for realising complex systems for large-scale projects. WWW: http://puredata.info
Thanks. Audio wont work on top of the OSS api. Audio support of libossaudio never worked well (except for trivial players and on certain devices only) so it was removed after OpenBSD 5.7 release. The least time consuming approach to make audio work reliably on OpenBSD would be to write a sndio audio & midi backend for pd. I would start with a copy of one of the working s_audio_*.c and replace calls to open, read and write with the appropriate sio_xxx() functions. All the sycnronization and overrun/underrun recovery bits could be dropped as this is handled by sndio internally. There's no device enumeration, so you could just hardcode "default". There's no mmap(), so corresponding bits could go away as well. Same about MIDI. Another option would be to enable the portaudio or jack backends.
Thanks for your feedback.

I did have audio running under OSS but it was very picky about
the order in which to connect things, and MIDI support
was nonexistent. A sndio backend would be much better, and
after having a play with it last night it seems to be *loads*
simpler than ALSA/OSS.

I have been having a couple of very basic issues though. Please
excuse me if I'm overlooking something obvious, but does every
sndio client need to implement the `sio_hdl' and `sio_ops' structs
privately?

Jack and portaudio should be included too, so I'll work on that
before sending in another tarball.

Thanks for your help,
toby/

Reply via email to