[openbeosmediakit] Re: Update And Question

  • From: "Marcus Overhagen" <dos4gw@xxxxxx>
  • To: openbeosmediakit@xxxxxxxxxxxxx
  • Date: Fri, 12 Apr 2002 23:17:05 +0200

Zousar Shaker <shakerz@xxxxxxx> wrote:
>    First of all, just want to say that the progress on BParameterGroup and
>BParameterWeb is going well, and they should be done this weekend.
>    The only thing that is still troubling  me is the
>BParameter::Get/SetValue methods.  I've got a much better grasp on them now,
"These calls simply dispatch to the BControllable::GetControlValue() and 
BControllable::SetControlValue() functions."

So you will need to dispatch them
using the BParameterWeb * mWeb member variable,, and using the BParameterWeb 
mNode varibale,
but then you probably need to call a internel media_server method that is 
currently not available,
since the BControllable class is not implemented. So simply stop there, insert 
a comment like

 * XXX invoke BControllable::GetControlValue() here.

this can be done by writing a secret message to the nodes port, 
like BBufferConsumer::NotifyLateProducer() does it. 
But don't worry about it yet.

>but one detail remains...  The situation boils down to the fact that i've
>got a "media_node" object which I want to test to see if it's a
>BControllable type node (done with the following code according to Be

>That's all well and good.  Now I can tell if it is of BControllable type,
>but the question is, how do I get a 'BControllable *' or even 'BMediaNode *'
>out of my 'media_node' object (because i want to call
>'BControllable::Set/GetParameterValue' methods)?  I understand the
You can get this using MediaRoster and much dynamic_cast<> operators,
but you would have to create another instance of the node.

Remember, we are implementing the operating system level functions here,
so you need to send a message to the real object (see above).
That's not implemented yet. Just stop there for now!

>'BMediaNode' object... but I don't see any way of getting to
>'BControllable::Set/GetParameterValue' given a 'media_node'... Maybe Marcus
>might have some insight on this, as he has implemented the BMediaNode class.
Yes, there is no way, since it's normally done by the operating system, so that 
user doesn't have to worry about this. But we are implementing the OS :)

>Also, as a final note, I want to mention that it seems as though I'll be
>returning to work some time next week, so I will likely have less time (but
>not none) in the future to work on the project.
Thats no problem, but please submit your sourcecode, so that others like me
can continue to implement the missing functionality. This is a group project,
don't keep the sourcecode because it's incomplete.
Everyone should be able to see and improve it.


Other related posts: