[openrtm-users 00175] Return type for two components. OmniORB.

4 posts / 0 new
Last post
root
Offline
Last seen: 1 day 2 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 00175] Return type for two components. OmniORB.

Dear All,   I have a WAVE Component that plays *.Wav file and another component caller component that uses WAVE component via  service port.     Interface is looks like below.   Interface WavePlayer{   void playWaveFile(string filename); }     When I start my Caller Comp and WaveComp in 2 different terminals, playWaveFile plays in the the terminal where Wave Comp started.   I want payWaveFile to be played in CallerComp's terminal.   In order to do so, I think I need to return a value for playWaveFile. But omniORB doesn't have such feature.   Is there any other way, I can
do it??????????????????????   Please help me.   I don't japanese, I am writing in english. Sorry.  

Park yourself in front of a world of choices in alternative vehicles.Visit the Yahoo! Auto Green Center.

Undefined
root
Offline
Last seen: 1 day 2 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 00176] Return type for two components. OmniORB.

Hello

> I have a WAVE Component that plays *.Wav file and another component caller
> component that uses WAVE component via service port.
>
> Interface is looks like below.
>
> Interface WavePlayer{
>
> void playWaveFile(string filename);
> }
>
>
> When I start my Caller Comp and WaveComp in 2 different terminals,
> playWaveFile plays in the the terminal where Wave Comp started.
>
> I want payWaveFile to be played in CallerComp's terminal.

You mean you want get .wav file in CallerComp's node?

> In order to do so, I think I need to return a value for playWaveFile. But
> omniORB doesn't have such feature.
>
> Is there any other way, I can do it??????????????????????

If you want to send ".wav" file to player component from caller
component, you can give ".wav" file data as an argument like this.

typedef sequence FileData;
interface WavePlayer
{
void playWaveFile(in FileData data);
};

and call this operations in caller component like this,

FileData data;
data.length( set_length_of_the_wav_file );

for (int i(0); i < length_of_the_wav_file; ++i)
{
data[i] = // copy wav file data
// you can also use memcpy() to copy data, because
// CORBA sequence data area is continuously allocated.
}

wavplayer->playWaveFile(data);

root
Offline
Last seen: 1 day 2 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 00177] Return type for two components. OmniORB.

Hello, Thank you very much. Ando Noriaki <n-ando@aist.go.jp> wrote:

Hello> I have a WAVE Component that plays *.Wav file and another component caller> component that uses WAVE component via service port.>> Interface is looks like below.>> Interface WavePlayer{>> void playWaveFile(string filename);> }>>> When I start my Caller Comp and WaveComp in 2 different terminals,> playWaveFile plays in the the terminal where Wave Comp started.>> I want payWaveFile to be played in CallerComp's terminal.You mean you want get .wav file in CallerComp's node?
If I have a sting show(); function in ProviderComp, then I can get the Return value from ConsumerComp.   Now, I have a void playWaveFile(string filename); function in my ProviderComp which playes Wav file. But, since playWaveFile function returns no value, I can not see the playing sounc in my Consumer Components terminal.So, I think I need to retunr some value, but I don't knwo which value I need to retun?     I am trying to play Wav in Proivder Comp and get the sound in Consumer comp without sending the Wav file to consumer,........Is it possibel????       > In order to do so, I think I need to return a value for playWaveFile. But> omniORB
doesn't have such feature.>> Is there any other way, I can do it??????????????????????If you want to send ".wav" file to player component from callercomponent, you can give ".wav" file data as an argument like this.typedef sequence FileData;interface WavePlayer{void playWaveFile(in FileData data);};and call this operations in caller component like this,FileData data;data.length( set_length_of_the_wav_file );for (int i(0); i < length_of_the_wav_file; ++i){data[i] = // copy wav file data// you can also use memcpy() to copy data, because// CORBA sequence data area is continuously allocated.}wavplayer->playWaveFile(data);-- °ÂÆ£·Ä¾¼¡÷ÆÈΩ¹ÔÀ¯Ë¡¿Í»º¶Èµ»½ÑÁí¹ç¸¦µæ½ê ¸¦µæ°÷ÃÎǽ¥·¥¹¥Æ?¸¦µæÉôÌç ?¥¹?¥¤¥ó¥Æ¥ê¥¸¥§¥ó¥¹¸¦µæ¥°¥ë¡¼¥×¢©305-8568 °ñ¾ë¸©¤Ä¤¯¤Ð»ÔÇß±à1-1-1 Ãæ±ûÂè2TEL: FAX: ,
n-ando@ieee.org
 
Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games.

root
Offline
Last seen: 1 day 2 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 00179] RTC Constructor! Urgent!!!!!!!!!!!!!!!!!!!

Dear All,   I want to call the RT-Component constructor from other program. I have included everything.   I have HelloWorld RT-Component and Hello World application.   Inside my application I want to make HelloWorldRTC hw = new HelloWorldRTC(manager)         Is it possible? if not is there a way to make it possible???????????????????????? 
Got a little couch potato?
Check out fun summer activities for kids.

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK