Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - CentralMedia

Pages: 1 [2] 3 4 ... 8
16
Users / Re: Best Approach to Controlling a Network Device
« on: December 17, 2013, 12:16:44 am »
I have added some events to the template, in an effort to see if this was needed as Xine sets this at a point.

Quote
EVENT_Playback_Started(sMediaURL,iStreamID,"","","");
      //EVENT_Menu_Onscreen(int iStream_ID,bool bOnOff);
      EVENT_Menu_Onscreen(iStreamID,onoff);

The EVENT_Menu.. is causing a CMD_Set_Media_ID to be called within my template, I went ahead and set it to register the streamID, as below, as I was assuming that one of the reason the pause of fast forward did not work is there is no streamID showing in DCERouter.log

Quote
DCE::CMD_Set_Media_ID cmd(m_dwPK_Device,DEVICETEMPLATE_General_Info_Plugin_CONST,sID,iStreamID);
   SendCommand(cmd);

I had already register within the Plugin, so it might have been a long shot
Quote
DCE::CMD_Set_Media_ID CMD_Set_Media_ID(m_dwPK_Device, pMediaStream->m_pMediaDevice_Source->m_pDeviceData_Router->m_dwPK_Device, sMediaID, pXbmcMediaStream->m_iStreamID_get());
    SendCommand(CMD_Set_Media_ID);

Also I noticed, the room which I assigned the device, when I fire off volume up, down or mute, nothing happens on the tv, which works in another room, slightly different name with the cable box.

So far no luck

Changes to the device template attached


17
Installation issues / Re: HDMI NO AUDIO GT 430
« on: December 15, 2013, 09:18:35 pm »
gtsupport: Did not create a wiki page as it seemed my issue was unique for some reason

l3mce: I will borrow the machine from my boys tomorrow, put it on the network and check the version for you

18
Users / Re: Best Approach to Controlling a Network Device
« on: December 15, 2013, 06:44:01 pm »
TSCHAK909
When I hit pause, I am only seeing this when I grep of xbmc, for jump position etc, you see the command
Once
Quote
Parameter 5(Value To Assign): Xbmc <0xa73f7b70>
08      12/15/13 12:34:21.360           Received Message from 0 (unknown / ) to 83 (xbmc test / Living Room), type 1 id 92 Command:Pause, retry none, parameters: <0x4d7dfb70>
08      12/15/13 12:45:21.882           Received Message from 0 (unknown / ) to 83 (xbmc test / Living Room), type 1 id 92 Command:Pause, retry none, parameters: <0x4d7dfb70>
And on subsequent retries just below
Quote
08      12/15/13 13:33:20.496             Parameter 5(Value To Assign): Xbmc <0xa69f7b70>

I have changed the template, adding IP controlled and control categories such as Standard Orbitor, Specialized and infrared interface. I have also removed controlled by computer and select IP based, see template attached.

Have not configured any events, am assuming this is for Xine sending an event.

I put some prompts in the plugin, and realized that following chunk of code is not running, put in the Xbmc_Plugin so it would show up when I grep, also did a grep for looking, this is in my StartMedia.

Quote
for( MapEntertainArea::iterator itEA = pXbmcMediaStream->m_mapEntertainArea.begin( );itEA != pXbmcMediaStream->m_mapEntertainArea.end( );++itEA )
   {
      EntertainArea *pEntertainArea = ( *itEA ).second;
      LoggerWrapper::GetInstance()->Write( LV_STATUS, "Looking from Xbmc_Plugin into the ent area (%p) with id %d and %d remotes", pEntertainArea, pEntertainArea->m_iPK_EntertainArea, (int) pEntertainArea->m_mapBoundRemote.size() );
        for(map<int,OH_Orbiter *>::iterator it=m_pOrbiter_Plugin->m_mapOH_Orbiter.begin();it!=m_pOrbiter_Plugin->m_mapOH_Orbiter.end();++it)
        {
            OH_Orbiter *pOH_Orbiter = (*it).second;
         if( pOH_Orbiter->m_pEntertainArea!=pEntertainArea )
            continue;
         LoggerWrapper::GetInstance()->Write(LV_STATUS, "Processing from Xbmc_Plugin remote: for orbiter: %d", pOH_Orbiter->m_pDeviceData_Router->m_dwPK_Device);
         bool bBound = pEntertainArea->m_mapBoundRemote.find(pOH_Orbiter->m_pDeviceData_Router->m_dwPK_Device)!=pEntertainArea->m_mapBoundRemote.end();
         pXbmcMediaStream->SetNowPlaying(pOH_Orbiter,false,bBound);
      }
   }

Any pointers welcomed

19
Users / Re: Best Approach to Controlling a Network Device
« on: December 15, 2013, 02:31:57 am »
posde thanks

tschak909

I made some change to the xbmc device template, adding the plugin as a related device.

Created another device, switched it to manual config and assigned to a room, all plays well now. I noticed once I have more than one file in the orbitor list, the Jump Position In Playlist does not get sent to the device, but actual goes through the playlist, which plays each file fine.

The speed and pause, simple gets sent to media plugin, i see no calling command on my device, even took out code, so I can get the output when not configured, no luck yet with these.

The only thing missing from Xine is keyboard stuff, IP and inherits mac, would this be my issue?

20
Users / Re: Best Approach to Controlling a Network Device
« on: December 14, 2013, 01:56:04 pm »
Also did some more digging, made it my device similar with Xine Player, see  code attached.

Jump position works, speed does not seem to be sent

Quote
b1b70>
Need to implement command #65 - Jump Position In Playlist
Parm #5 - Value_To_Assign=-1
Parm #41 - StreamID=1010
Need to implement command #65 - Jump Position In Playlist
Parm #5 - Value_To_Assign=+1
Parm #41 - StreamID=1010


See also code attached and template

Also noticed, speed change and pause, is being sent to the Media Plugin, is this normal?

Do have no function in my plugin for pause and speed

21
Users / Re: Best Approach to Controlling a Network Device
« on: December 14, 2013, 12:33:41 pm »
Did two greps for XBMC and Xbmc from the log, see pastebinit below

grep Xbmc /var/log/pluto/DCERouter.log

http://pastebin.com/WQnuycZb

grep XBMC /var/log/pluto/DCERouter.log

http://pastebin.com/iJwgyB6V

Notice this while playing with the fastforward, jump buttons on orbitor, for the pause command, seems like a complaint

Quote
Received Message from 70 (Windows XP PC/tablet (Horiz) / Bedroomles) to 10 (Media Plu
g-in / Closet/Storage Space), type 1 id 41 Command:Change Playback Speed, retry none, parameters: <0x6a5b4b70>
08      12/14/13 7:26:29.332              Parameter 41(StreamID):  <0x6a5b4b70>
08      12/14/13 7:26:29.332              Parameter 43(MediaPlaybackSpeed): +2 <0x6a5b4b70>
08      12/14/13 7:26:31.166            Received Message from 70 (Windows XP PC/tablet (Horiz) / Bedroomles) to 10 (Media Plu
g-in / Closet/Storage Space), type 1 id 41 Command:Change Playback Speed, retry none, parameters: <0x6a5b4b70>
08      12/14/13 7:26:31.166              Parameter 41(StreamID):  <0x6a5b4b70>
08      12/14/13 7:26:31.166              Parameter 43(MediaPlaybackSpeed): -2 <0x6a5b4b70>
08      12/14/13 7:26:32.122            Received Message from 70 (Windows XP PC/tablet (Horiz) / Bedroomles) to 10 (Media Plu
g-in / Closet/Storage Space), type 1 id 41 Command:Change Playback Speed, retry none, parameters: <0x6a5b4b70>
08      12/14/13 7:26:32.122              Parameter 41(StreamID):  <0x6a5b4b70>
08      12/14/13 7:26:32.122              Parameter 43(MediaPlaybackSpeed): -2 <0x6a5b4b70>
08      12/14/13 7:26:33.697            Received Message from 70 (Windows XP PC/tablet (Horiz) / Bedroomles) to 10 (Media Plu
g-in / Closet/Storage Space), type 1 id 39 Command:Pause Media, retry none, parameters: <0x6a5b4b70>
08      12/14/13 7:26:33.697              Parameter 41(StreamID):  <0x6a5b4b70>
05      12/14/13 7:26:33.698            BoundRemote::UpdateOrbiter(): Updating object:  on device 21 with size of 19584 <0x867e1b70
>
05      12/14/13 7:26:33.698            BoundRemote::UpdateOrbiter(): Updating object: 2355 on device 70 with size of 19584 <0x867e
1b70>
05      12/14/13 7:26:33.698            BoundRemote::UpdateOrbiter(): Updating object: 2355 on device 73 with size of 19584 <0x867e
1b70>
08      12/14/13 7:26:33.698            Received Message from 10 (Media Plug-in / Closet/Storage Space) to 21 (OnScreen Orbit
er / Closet/Storage Space), type 1 id 242 Command:Set Now Playing, retry none, parameters: <0xa69f9b70>
08      12/14/13 7:26:33.698              Parameter 3(PK_DesignObj): 70,4964,47,140,224,230 <0xa69f9b70>
08      12/14/13 7:26:33.698              Parameter 5(Value To Assign): Xbmc <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 9(Text):  <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 29(PK_MediaType): 5 <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 41(StreamID): 1006 <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 48(Value): 0 <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 50(Name):  <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 103(List PK Device): 74,74,74,,0,1,0 <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 120(Retransmit): 0 <0xa69f9b70>
08      12/14/13 7:26:33.699            Received Message from 0 (unknown / ) to 70 (Windows XP PC/tablet (Horiz) / Bedroomles), type 1 id 32 Command:
35;1mUpdate Object Image, retry none, parameters: <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 3(PK_DesignObj): 2355 <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 14(Type): jpg <0xa69f9b70>
08      12/14/13 7:26:33.699              Parameter 23(Disable Aspect Lock): 0 <0xa69f9b70>
08      12/14/13 7:26:33.699              Data Parm 19(Data): 19584 bytes <0xa69f9b70>
08      12/14/13 7:26:33.700            Received Message from 10 (unknown / ) to 70 (Windows XP PC/tablet (Horiz) / Bedroomles), type 1 id 242 Command
:Set Now Playing, retry none, parameters: <0xa69f9b70>

This is my register code

Quote
bool Xbmc_Plugin::Register()
//<-dceag-reg-e->
{
   LoggerWrapper::GetInstance()->Write(LV_CRITICAL,"Starting Xbmc_Plugin::Register()");
  
   m_iPriority=DATA_Get_Priority();
  
   m_pMedia_Plugin=( Media_Plugin * ) m_pRouter->FindPluginByTemplate(DEVICETEMPLATE_Media_Plugin_CONST);
   m_pOrbiter_Plugin=( Orbiter_Plugin * ) m_pRouter->FindPluginByTemplate(DEVICETEMPLATE_Orbiter_Plugin_CONST);
   if( !m_pMedia_Plugin || !m_pOrbiter_Plugin )
    {
      LoggerWrapper::GetInstance()->Write(LV_CRITICAL,"Cannot find sister plugins to Xbmc plugin");
      return false;
    }
  
   vector<int> vectPK_DeviceTemplate;
   vectPK_DeviceTemplate.push_back(DEVICETEMPLATE_XBMC_MEDIA_CENTRE_CONST);
   m_pMedia_Plugin->RegisterMediaPlugin( this, this, vectPK_DeviceTemplate, true );
  
   LoggerWrapper::GetInstance()->Write(LV_CRITICAL,"Registered device %d",DEVICETEMPLATE_XBMC_MEDIA_CENTRE_CONST);
  
   RegisterMsgInterceptor(( MessageInterceptorFn )( &Xbmc_Plugin::MenuOnScreen ), 0, 0, 0, 0, MESSAGETYPE_EVENT, EVENT_Menu_Onscreen_CONST );
  
   return Connect(PK_DeviceTemplate_get());
}

22
Users / Re: Best Approach to Controlling a Network Device
« on: December 14, 2013, 12:57:50 am »
TSCHAK909

I am seeing this is the DCERouter.log, would it help
Quote
08      12/13/13 19:52:51.839           Received Message from 70 (Windows XP PC/tablet (Horiz) / Bedroomles) to 10 (Media Plug-in / Closet/Storage Space), type 1 id 39 Command:Pause Media, retry none, parameters: <0x6a5b4b70>
08      12/13/13 19:52:51.839             Parameter 41(StreamID):  <0x6a5b4b70>
05      12/13/13 19:52:51.839           BoundRemote::UpdateOrbiter(): Updating object:  on device 21 with size of 19584 <0x867e1b70>
05      12/13/13 19:52:51.839           BoundRemote::UpdateOrbiter(): Updating object: 2355 on device 70 with size of 19584 <0x867e1b70>
05      12/13/13 19:52:51.839           BoundRemote::UpdateOrbiter(): Updating object: 2355 on device 73 with size of 19584 <0x867e1b70>
08      12/13/13 19:52:51.840           Received Message from 10 (Media Plug-in / Closet/Storage Space) to 21 (OnScreen Orbiter / Closet/Storage Space), type 1 id 242 Command:Set Now Playing, retry none, parameters: <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 3(PK_DesignObj): 70,4964,47,140,224,230 <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 5(Value To Assign): Xbmc <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 9(Text):  <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 29(PK_MediaType): 5 <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 41(StreamID): 1004 <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 48(Value): 0 <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 50(Name):  <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 103(List PK Device): 74,74,74,,0,1,0 <0xa69f9b70>
08      12/13/13 19:52:51.840             Parameter 120(Retransmit): 0 <0xa69f9b70>
08      12/13/13 19:52:51.841           Received Message from 0 (unknown / ) to 70 (Windows XP PC/tablet (Horiz) / Bedroomles), type 1 id 32 Command:Update Object Image, retry none, parameters: <0xa69f9b70>

Also from watching the device output, it does not seem to be calling any of the commands, see below, there is a play and then stop. The only command I have not implemented from Xine Player is keyboard
Quote
01      12/13/13 19:51:56.773           Command Play Successful: {"id":1,"jsonrpc":"2.0","result":"pong"}{"id":1,"jsonrpc":"2.0","result":"OK"}{"id":1,"jsonrpc":"2.0","result":[{"playerid":1,"type":"video"}]}{"id":1,"jsonrpc":"2.0","result":"OK"}{"id":1,"jsonrpc":"2.0","result":"OK"} <0xb6fa6b70>
01      12/13/13 19:58:32.173           Command Stop Successful: {"id":1,"jsonrpc":"2.0","result":"pong"}{"id":1,"jsonrpc":"2.0","result":"OK"}{"id":1,"jsonrpc":"2.0","result":[{"playerid":1,"type":"video"}]}{"id":1,"jsonrpc":"2.0","result":"OK"}{"id":1,"jsonrpc":"2.0","result":"OK"}{"id":1,"jsonrpc":"2.0","result":[{"playerid":1,"type":"video"}]}{"id":1,"jsonrpc":"2.0","result":"OK"} <0xb6fa6b70>


23
Users / Re: Best Approach to Controlling a Network Device
« on: December 13, 2013, 11:22:48 pm »
I got the plugin to work, went ahead and copied the .so file to /usr/pluto/bin then create a plugin under DCERouter, like the other plugins, and was able to play a video file from the orbitor, feels nice, LOL.

More to do,

At present I have to enter an IP in my device under the core, see how to get that to be filled when the device is initialized.

Setting the mount points based on what is passed when the configuration is pulled from XBMC, when the device is initialized, coded but commented it out for initial testing.

Figure why the pause does not work from the Orbitor.

Attached the plugin code and the XBMC device

tschak909

Question, initially I created the XBMC device under core, so I have to go to the closet to play, would a simple assignment to a room, allow it to function as a device in that room?

Would this also function as like squeezeslave, cannot be in a room with an MD?


24
Users / Re: gc100 and rs232 control
« on: December 12, 2013, 12:02:42 am »
I did not have to keep on the MD (the pc), its back working as my sons pc, all went as expected when created the MD though, now when I click the scenario that was pre-configured before the MD, it switch the tv as expected and a sound bar I also have and puts on the cable box

25
Users / Re: Best Approach to Controlling a Network Device
« on: December 11, 2013, 11:58:55 pm »
I know how to start my device for testing.

How do I test the plugin created?

What further configurations I need to do to test playing a file?

26
Users / Re: gc100 and rs232 control
« on: December 11, 2013, 10:38:52 pm »
I had an issue, where when I added my Directv box to a TV in a room, without the room being configured with an MD, it would cause the router to reload, I simple used my sons machine temporarily to create an MD and all worked well after that.


27
Users / Re: Best Approach to Controlling a Network Device
« on: December 11, 2013, 06:51:01 pm »
This is from the actual device XBMC_MEDIA_CENTRE, not the plugin, sorry for the confusion, in the plugin I used what the other plugins used.


28
Users / Re: Best Approach to Controlling a Network Device
« on: December 11, 2013, 04:45:39 pm »
Got it to compiled, now to test

Question

In the following
Quote
If you look in the .h for your generated class, you'll see DATA_TCP_address(), DATA_TCP_Port(), etc.. prototypes... This is how you reference the device data. These are read-only, and you should send a CMD_Set_Device_Data message to the General_Info_Plugin, should you wish to change device data programmatically.

The CMD_Set_Device_Data is part of the General_Info_Plugin.h or my device? This would mean I have to include General_Info_Plugin.h and I do something like
Quote
CMD_Set_Device_Data(m_dwPK_Device,"smb://DCEROUTER/public/",DEVICEDATA_XbmcVideoMount_CONST)

Got device data from Define_DeviceData.h

29
Users / Re: Best Approach to Controlling a Network Device
« on: December 10, 2013, 11:41:36 pm »
Ok did the insert as follows

Quote
insert into DeviceTemplate_MediaType (FK_DeviceTemplate,FK_MediaType,CanPlayFromDiskDrive,CanStoreOnServer,CanSetPosition,CanPlayInMultipleAreas,StopOtherMediaInEntArea)
   values (2244,4,1,1,1,1,1)
insert into DeviceTemplate_MediaType (FK_DeviceTemplate,FK_MediaType,CanPlayFromDiskDrive,CanStoreOnServer,CanSetPosition,CanPlayInMultipleAreas,StopOtherMediaInEntArea)
   values (2244,5,1,1,1,1,1)

Then ran /usr/pluto/bin/sql2cpp but it did not update the Media_Plugin/MediaHandlerInfo.h.

I should also edit Media_Plugin/MediaHandlerInfo.h, with the PK for the updated table or something went wrong?

If I have to edit that file, which entry to use, one for video or audio?

30
Users / Re: Best Approach to Controlling a Network Device
« on: December 10, 2013, 11:20:18 am »
Hi tschak900

I am getting the following error

Quote
linuxmce@dcerouter:~/CodingWork/LINUXMCE/src/Xbmc_Plugin$ make so
g++ -c -I.. -I../DCE -I/usr/include/mysql -DKDE_LMCE -DDEBUG -DTHREAD_LOG -DLOG_ALL_QUERIES  -Wall -fPIC -ggdb3  XbmcMediaStream.cpp -o XbmcMediaStream.o
XbmcMediaStream.cpp: In member function ‘virtual int DCE::XbmcMediaStream::GetType()’:
XbmcMediaStream.cpp:33: error: ‘MEDIASTREAM_TYPE_XBMC’ was not declared in this scope
make: *** [XbmcMediaStream.o] Error 1

Would this be, as I have not entered the database bits for video and audio type, thus the Media_Plugin/MediaHandlerInfo.h has not been populated with an MEDIASTREAM_TYPE_XBMC?

Pages: 1 [2] 3 4 ... 8