[openbeos-midi] Re: The first version of Milestone 3

  • From: "Matthijs Hollemans" <matthijs@xxxxxxxxxxxxxxxxxxx>
  • To: <openbeos-midi@xxxxxxxxxxxxx>
  • Date: Sat, 11 Jan 2003 11:29:31 +0100

Hi Jerome,

> todo list(not good order)

Jerome said:
> - Adding good icon for Patchbay

Philippe said:
> According to nm --demangle midi_server, it come
> as small (16x16) and big size (32x32), but not as
> resource unfortunatly...

Don't bother with the icons for now. Ultimately, I want to add these
to the midi_server's resource file. However, I don't want to use a
.rsrc file for the resources, but an .rdef file. I am currently
writing a resource compiler that will take these .rdef files and
turn them into .rsrc files. So until that is finished, don't worry
about the icons.

> - Automatic creation for all entry in /dev/midi/

I guess that the midi_server should recognize new devices being
added and old ones being removed. So it needs to create/delete
endpoints on-the-fly. Is that indeed possible? Philippe, is that
what the device_watcher thing is for?

> - Not just getting data from hardware
>   but sending it to connected endpoint

Please note that until I finish milestone 2, endpoints don't send
and receive MIDI events yet. So you can send data from the hardware
to the endpoint, and from the endpoint to the hardware, but the
endpoints don't do anything with it yet. I estimate that it will
take me at least 4 weeks before I finish milestone 2, though (maybe

> - Checking error
> - correcting bug
> - any other idea...

I agree with Philippe on the naming issue: please call the classes
MidiPortConsumer and MidiPortProducer.

Also, do drivers have a way to report their latency? If so, you need
to snooze_until(time - latency) in MidiPortConsumer::Data().

I noticed you use kill_thread() in ~MidiDriversProducer. Usually it
is not a good idea to kill threads. It is better to let the thread
function die off naturally, but maybe that isn't possible in this
case. Maybe you can look at that.

Other than that, it looks fine to me. Keep up the good work! (Maybe
you can finish milestone 3 even before I finish milestone 2 ;-)


Other related posts: