[openbeos-midi] Re: activity/status?

  • From: "Martijn Sipkema" <msipkema@xxxxxxxxxxxxxxxxxxx>
  • To: <openbeos-midi@xxxxxxxxxxxxx>
  • Date: Tue, 9 Apr 2002 11:39:23 +0100

[...]
> Cool. I wanted to ask you a couple of things about a software synth, since
we
> are talking about it -
> 1) Do real musicians want/need one?

Sure. Probably not a GM synth though.

> 2) Are there any out there that are ok and reasonably well licensed?

I found http://www.iiwu.org/iiwusynth/index.htm . It is GPL. I don't think
that
should be a problem since linking with libraries that "come with major parts
of
a proprietary operating system" (gpl-faq) then you can link with them.

> 3) Are they as hard to write as I think that they would be?

Probably yes.

> >> And this is what I don't quite get. I looked at the MIDI spec. I
couldn't
> >read it in a couple of
> >> hours, much less understand and code it. When you say a "working IO
API",
> >are you talking
> >> about the Storage Kit?
> >
> >Simple input and output to either hardware MIDI interfaces or other
> >applications.
>
> So, say, keyboard in to kbd out?

Yes, being able to record a MIDI keyboard or playback on a synthesizer
connected via MIDI. That is what the MIDI Kit should provide.

[...]
> IPC == interprocess communication?

Yes.

> Is a seperate thread for every output a problem for performance reasons?

Possibly, but it may also just be harder to program. I don't think it's
appropriate
in this case to force using a thread per output on the programmer.

[...]
> >And we'll need drivers, (without a standard ioctl set, just a device
> >dependant way to
> >communicate with it) so that can be started on. Especially MPU401 UART
> >support
> >is important since so many soundcards have these.
>
> I will take your word for this. That sounds more like a kernel thing,
though.

It is.

> >I have been working this weekend on a plugin interface that implements a
> >standard interface for communicating with the low level MIDI driver:
>
> Looks interesting. Would that be a kernel module or userland?

User space plugin that provides a standard API for a kernel space device
driver, e.g. a standard serial port driver.

> >midi application -> midi kit -> device plugin -> device driver.
> >
> >the plugin is a set of "C" functions and a C++ class. I have not yet
> >finished it and I'm
> >doing this for POSIX, but the plugin interface is cross platform (the
> >implementation
> >itself is not, it needs threads and timers, but it is also device
dependant,
> >so that is
> >not a problem.).
>
> Cool

It'll take me some time to finish it and then see if it performs well. If it
does,
then a similar appraoch could be used for OBOS MIDI.

> >I think it would be best to start programming from the bottom up, i.e.
> >starting with
> >the drivers, plugin....
>
> Maybe.

Well, one has to start somewhere. Also an old MIDI kit could be implemented
on top of the current R5 midi2 kit.

--martijn




Other related posts: