* implemented BMediaRoster::StartControlPanel(). It queries a BControllable node with CONTROLLABE_START_CONTROL_PANEL message and returns the result to the caller (thx for help/suggestions from Marcus here). Needed to add appropiate structs and message value to DataExchange.h

* implemented BControllable::StartControlPanel(). The behaviour is supposed to be the one documented in the BeBook, meaning that it first checks if the BControllable node has been instantiated over an BMediaAddOn. If so, we investigate where the addon is located and try to launch it. Thus media_addons which have a control panel need to be compiled as an Application, not as an Addon. See r24664 as an example.
* inside BControllable::HandleMessage() call StartControlPanel for the message.
* MediaNodes having such a ControlPanel are rarely used as parameterwebs should provide you everything. But for instance the vst MediaAddOn uses it and some others do as well.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24665 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Maurice Kalinowski
2008-03-29 20:53:01 +00:00
parent 81fa5e8026
commit 999cd0acee
3 changed files with 82 additions and 5 deletions
+11
View File
@@ -177,6 +177,7 @@ enum {
CONTROLLABLE_GET_PARAMETER_DATA,
CONTROLLABLE_SET_PARAMETER_DATA,
CONTROLLABLE_MESSAGE_END,
CONTROLLABLE_START_CONTROL_PANEL,
TIMESOURCE_MESSAGE_START = 0x700,
TIMESOURCE_OP, // datablock is a struct time_source_op_info
@@ -1019,4 +1020,14 @@ struct controllable_set_parameter_data_reply : public reply_data
{
};
struct controllable_start_control_panel_request : public request_data
{
media_node node;
};
struct controllable_start_control_panel_reply : public reply_data
{
team_id team;
};
#endif // _DATA_EXCHANGE_H