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

Reply via email to