Page 1 of 2

XBMC GUILib port to Xbox 360

Posted: Sat May 07, 2016 5:27 am
by r32crazy01
Hey,

I've been working on porting the XBMC4XBOX Guilib to the XBOX 360.

Some windows have no contents yet, and it's still missing the controls needed to browse media/files, but I'm currently working on those. I have not got animations working yet either.

If anyone is interested in contributing I can put the code up in a SVN repo. I'm also going to use some code from the open source Freestyle 360 dash for features like the NTP and FTP server. The FFMPEG libraries and FFPLAY have already been ported to 360 so eventually I would like to look at using them as a player core.

Main bugs:
1.) The screen coordinates and sizes for images are messed up, this is due to my lack of Direct3D matrices knowledge and the Xbox 360 XDK no longer supporting the XYZ_RWH flag (unlike the original Xbox). If someone with more experience is willing to setup the 2D projection matrix it would be awesome :) . I have got around this atm by using crazy numbers in the XML skin files for image coordinates and sizes.

2.) The fonts/labels in the XML files need to be listed last, this is due to the 360 XDK XUI lib, hopefully I can work this out by reading through the docs.

3.) Windows should be opening slightly quicker.

PS: Please be kind if you find any silly bugs as its very much a early WIP test and I'm a junior dev :P

Re: XBMC GUILib port to Xbox 360

Posted: Mon May 09, 2016 5:47 am
by professor_jonny
are you planning to expand the hid with custom functions on the 360?

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 11, 2016 11:45 am
by r32crazy01
Not at this stage, but in future I would like to expand it with 360 functions.

Update:
- Bug #2 font issue = fixed.
- A cut down version of ffplay is now integrated and video playback working (using Ced2911's port the ffmpeg libs).

No support for seeking yet.

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 11, 2016 8:45 pm
by BuZz
I think it would be useful to put the code online - the source needs to be available anyway as it's GPL, and this simplifies it (ie not having to manually hand out the sourcecode on request)

Re: XBMC GUILib port to Xbox 360

Posted: Thu May 12, 2016 1:12 pm
by professor_jonny
r32crazy01 wrote:Not at this stage, but in future I would like to expand it with 360 functions.

Update:
- Bug #2 font issue = fixed.
- A cut down version of ffplay is now integrated and video playback working (using Ced2911's port the ffmpeg libs).

No support for seeking yet.
I would be worth you sporting a post over at realmodscene as they have the xui workshop for editing the hub for auroa and fsd.
team xecuter may even put you on their news feed if you sport a post over there :-)

Re: XBMC GUILib port to Xbox 360

Posted: Sun May 15, 2016 11:31 pm
by r32crazy01
@professor_jonny: Thanks for the suggestion, I might wait till I get little further and have media browsing working.

@Buzz: Yeah, I was planning to put the source up publicly. I will upload the source and the latest binaries soon.

Update:
You can now play video full screen with sound, but the 360 XDK D3D9 API no longer has support for a hardware overlay :( (why would Microsoft remove this?!), so not sure how to get smooth playback while the video preview view port is displayed in GUI mode. This may also be an issue for OSD while in full screen until we find another solution.

Working on media browsing controls ATM so until then, the Y game pad button launches the video called testvideo.avi in the root of the xbmc360 folder.

Unfortunately I can’t get text working for GUI things like spin control until I work out the 2D projection matrix issue I mentioned in my first post. I’m struggling with this one so any help would be much appreciated.

Current main bugs:
- Small memory leak in CGUISound – Should be easy to fix, just not releasing the sound I think.
- Video playback has started lagging slightly for some reason since I move the thread creation to the CThread abstract class. = Fixed
- 2D projection matrix for images not setup to match screen coordinates.

WIP:
- Settings menu.
- Media browsing controls.

Re: XBMC GUILib port to Xbox 360

Posted: Tue May 17, 2016 9:04 am
by r32crazy01
Video playback lag bug = Fixed.

Sorry for the delay putting up the files, they should be up by the weekend.

Re: XBMC GUILib port to Xbox 360

Posted: Tue May 17, 2016 9:28 am
by Geeba
Daft question I'm sure... but what is XBMC GULib? :?

Re: XBMC GUILib port to Xbox 360

Posted: Tue May 17, 2016 9:32 pm
by r32crazy01
Geeba wrote:Daft question I'm sure... but what is XBMC GULib? :?
It's the XBMC graphical user interface/skinning engine. I should probably rename the thread as now it also includes a basic player core (cut down version ffplay) as well, plus I'm looking to expand it with more XBMC features in future.

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 18, 2016 10:25 am
by Geeba
r32crazy01 wrote:
Geeba wrote:Daft question I'm sure... but what is XBMC GULib? :?
It's the XBMC graphical user interface/skinning engine. I should probably rename the thread as now it also includes a basic player core (cut down version ffplay) as well, plus I'm looking to expand it with more XBMC features in future.

Ahh ok - so xbmc on 360 is still being looked into? - I thought it was a complete no go... dificault modding proceedure and no GPU access/aceleration had put a stop to it ever being viable? :?

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 18, 2016 9:42 pm
by r32crazy01
Geeba wrote:
r32crazy01 wrote:
Geeba wrote:Daft question I'm sure... but what is XBMC GULib? :?
It's the XBMC graphical user interface/skinning engine. I should probably rename the thread as now it also includes a basic player core (cut down version ffplay) as well, plus I'm looking to expand it with more XBMC features in future.

Ahh ok - so xbmc on 360 is still being looked into? - I thought it was a complete no go... dificault modding proceedure and no GPU access/aceleration had put a stop to it ever being viable? :?
The other attempts have used different methods and run into the above issues .i.e running it via Linux (No GPU access/acceleration) and patching the original Xbox versions xbmc.xbe to try and get it running via software emulation used for original Xbox backwards compatibility on the 360.

The method I'm using is to port the code using the Xbox 360 SDK so the above issues don't apply, the hardest part now is changes in the 360 SDK D3D9 API and what it can support, but these can all be overcome.

Re: XBMC GUILib port to Xbox 360

Posted: Thu May 19, 2016 2:23 am
by Skyhi
Hey Crazy - glad to see someone else interested in porting this to Xbox 360!

:D

Re: XBMC GUILib port to Xbox 360

Posted: Thu May 19, 2016 9:11 am
by Geeba
Sounds great.... complex but great :D

But isnt the modding of the 360 still a complete shag? ie far from straight forward? - I've never owned one but the fact that I couldn't mod it put me off as games I play on my PC.

How powerfull is it now? will it play 1080p or 4K video? :?

Re: XBMC GUILib port to Xbox 360

Posted: Thu May 19, 2016 10:42 am
by professor_jonny
they are harder to mod but once you have done a few it is no problems

it is a triple core ppc custom chipset running a 3.2ghz but really we don't know how much power it really has or can compare it to any thing as it is highly customised specialist processor.

in theory it should have at least 3-4 times the power of the original processor as generally emulation requires a device 3-5 times faster than the original system, and as it can emulate the basics of the xbox with backward compatibility I would say it should be able to decode 1080p h264 purely in software.

Re: XBMC GUILib port to Xbox 360

Posted: Fri May 20, 2016 2:14 pm
by fxmech
Once you've modded it, the 360 really does function well and is easy to manage and use.

The bulk of the work so far has just been really on gaming, alternative dashboards for game launching, etc.

Aurora is a really impressive dash, though. LiNK service is integrated into the system blade, too, so system linking is way easier than using Xlink Kai though.

Anyway, I would recommend the 360 as a modded gaming console, second only to our beloved Xbox of course!

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 25, 2016 1:47 am
by Skyhi
Any chance of putting up the source for this - I'd love to take a look!

Thanks :)

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 25, 2016 5:02 am
by r32crazy01
Thanks guys, yep I will defiantly have the code up soon. I was meaning to have it up last weekend but I have been busy with work and not had a chance to finish a few things I want to get done before uploading it. If you can contribute it would be awesome :) .

I’ve tested playing quite a few video files and it has played everything I’ve thrown at it, ffmpeg appears to contain a lot of codecs.

I’m thinking of moving this project to UWP on the XBOX One now this has just recently become possible, see the following link for more information: http://team-xecuter.com/forums/threads/ ... n-Xbox-One

Update:
-Settings working.
-Radio button control working.
-Spin control working.
-Skin switching working (only 1 skin atm tho).

Bugs:
-Text and image alignment on spin/radio button controls slightly off. (Again due to the 2d projection matrix issue).
-Font alignment can’t be set on the fly (XUI limitation), need to find a work around. Might have to create a right aligned font alongside each normal font created in fonts.xml

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 25, 2016 8:28 am
by Dom DXecutioner
Interesting work. Please do keep in mind that since you're using xbmc source code, you must make the source available to the public in order to comply with the license...

That being said, awesome work!

Re: XBMC GUILib port to Xbox 360

Posted: Wed May 25, 2016 9:31 am
by professor_jonny
r32crazy01 wrote:
I’m thinking of moving this project to UWP on the XBOX One now this has just recently become possible, see the following link for more information: http://team-xecuter.com/forums/threads/ ... n-Xbox-One
I fear that what Microsoft gives you in recourses under UWP wont be enough to higher bit rate videos but it would be cool to have a play and see what you can do. being as it is an x86 platform you wont have endian issues in porting code direct from xbmc source.

Re: XBMC GUILib port to Xbox 360

Posted: Sun Jun 05, 2016 11:27 am
by r32crazy01
You can download the latest binaries below, I will post a link to the code shortly once I get it hosted.

https://drive.google.com/file/d/0B46dhO ... pYcEU/view

There are 4 videos hard coded at the moment (each one is a different thumbnail under the videos tab).

As I have mentioned previously, the text and images under settings are out of alignment atm. Also the only setting that does anything atm is the skin selection setting. The others are there just for testing atm.

Main Bug:
- Memory leak in FFPlay:
You can only watch 2 or 3 of the test videos before a crash as there is a memory leak with the packet queues not been released. This player is a bit of mess and just for testing purposes really, I'm currently working on porting a early revision of DVDPlayer (I'm using an earlier revision as the latter ones are to complex for me).

Thanks