Before doing a port, one thing to look for is capabilities of the underlying system. For example, when I started the ALSA port, it looked like the easy option would be to go straight to the low-level device interface which provides a byte-by-byte interface (if I remember correctly). But it turned out this only worked for hardware devices and did not allow for communication from process to process to named ports. Changing to a different level of the ALSA API was necessary.
The other thing to be aware of is that PortMidi is more-or-less divided into two layers - system dependent and system independent. There are actually multiple instances of the system dependent layer (Windows, OS X, Linux) and they all share a common system independent layer. You should NOT implement sysex parsing, error reporting, enqueue or dequeue messages. Instead, look in the existing system dependent code to see how data and function calls connect to the system independent layer. The separation is not well documented, but pretty well defined by naming and by keeping the two layers in separate sets of files. I'll be happy to answer questions and would be happy to add an OSS or BSD port. -Roger On 7/2/14 9:21 PM, matthew green wrote: > hello. > > > i'd like to use portmidi on netbsd. currently, there is no > supported audio method available for linux, only ALSA. > > i see that there are comments about a missing OSS port. > > netbsd has an OSS compatibility layer, and many tools are > quite functional with that, but it also has native audio and > midi devices that i'm more familiar with. > > as such, i see two ways to do this, but i'm not sure of the > best way. what recommendations do you have? are there any > pitfalls in implementing a new driver backend i should be > aware of? > > thanks. > > > .mrg. > _______________________________________________ > media_api mailing list > [email protected] > http://lists.create.ucsb.edu/mailman/listinfo/media_api _______________________________________________ media_api mailing list [email protected] http://lists.create.ucsb.edu/mailman/listinfo/media_api
