2009-07-10, 03:20
Heya all, I have been using XBMC for XBox for a while now, but wanted to upgrade to bluray capability so started messing around with the windows version of XBMC. However, I didn't want just the MKV versions, but rather have access to the whole menus of the Bluray complete RIPS. After poking around a bit, I didn't see an easy walkthrough for getting it up and running so I grabbed a little from here, a little from there and a little of my own to come up with a solution that works decently well:
What this solution does is use the External Player to launch TotalMedia Theatre to access a bluray complete RIP (with BDMV folders). A couple of the problems I ran into were when I was running XBMC full screen and used the external player functionality to launch TMT, it wouldn't stay on top of the XBMC, but rather launched behind it. This was even after using the command arguments that should keep it on top. After even more trial and error, I realized that the easiest way was to use a batch file to kill XBMC, launch TMT, then restart XBMC when you are done with TMT. However, I couldn't get a Bat file to launch as an external player. So I then found a way to convert the bat file to an EXE file and viola!
What will you need?
A version of Arcsoft TotalMedia Theatre (I have 3.0.1.120)
A registered copy of Quick Batch File Compliler (I have 3.2.1.0)
One of the newer builds of XBMC since the External Player functionality changed post Babylon. (I use XBMCUpdate to get up to the minute builds which I am using)
I installed TMT and XBMC in the default locations.
Step 1: Associate .bdmv files to TMT. Go into one of your complete bluray rips and go into the BDMV folder. Right click on the index.bdmv and then left click on "Open With". ArcSoft TotalMedia Theatre should be listed under either Recommended or Other Programs. Left click on it and make sure that "Always use the selected program to open this kind of file" is checked.
Step 2: You can now check that the associations is working by double clicking the index.bdmv file. This should launch TMT just as if you inserted the bluray disc into your drive.
Step 3: While you are in TMT testing, take this opportunity to click on the settings button on the top right (looks like a gear) and go to the General section and make sure that "Auto Play" and "Auto Full Screen" are checked. Click OK then also make sure the "Pin" at the top right of the window is selected for "Always on top".
Step 4: Go into your XBMC UserData directory (this will either be under your username or in the XBMC folder depending on how you set it up), and you will need to create a new video type for the bdmv files that we just associated. This will allow you to Add the BDMV files to your library and get DVD covers / fan art. Etc. To add bdmv as a video type you need to create a new file called Advancedsettings.xml (this file may already exist if you have customized stuff in the past). If you need to create a new one, just open up notepad and paste the following:
Step 5: You can now test adding a bluray complete rip to your library by navigating to the bluray rip folder and right clicking on the index.bdmv file and choosing "Movie Information". The BDMV name will come up by default which you clear and type the actual movie name. I couldn't find a way to use the folder names since the index file is 2 folders deep from the root folders.
Step 6: Create the External File Batch file which we will convert to an exe. This file will terminate XBMC, Launch TMT, monitor when TMT is complete, then relaunch XBMC. I couldn't find a more elegant way to do this that worked. Create a new file called whatever you want, wherever you want. I called my udtgo.bat and created it in the Arcsoft TMT3 directory. You can do this by opening notepad, pasting the following:
I am running Vista 64 bit, so you will need to change the paths for line 2 and 11 to the correct paths for your OS.
Step 7: Create an EXE version of this batch file for use in the External Player function. I couldn't get a batch file to run correctly after many attempts with the External Player so ended up with this method. You need a registered version of "Quick Batch File Compiler" so you don't get the nag screen that pops up when you run the exe file. I can make an exe for people privately for their batch files if they want to test it out as long as I don't get deluged with requests. Open Quick Batch File Compiler and click on Open, then select the udtgo.bat file (or whatever you called it) from the Arcsoft directory (or wherever you saved it). Click on the Options button and make sure Console Application is selected and uncheck "Show splash on startup", then hit OK. The bat file you just created should be showing in the source box. Then click on Build and a box will pop up asking you where you want to save the EXE file. To keep things easy, I saved it in the Arcsoft TMT directory and called it Launch.exe.
Step 8: Make XBMC launch TMT for BDMV files. In the same directory that you created the Advancedsettings.xml above (your userdata directory), you need to create another file called playercorefactory.xml . You can use notepad to create this one as well. Paste the below and save it in your userdata directory. Change the filename location to your appropriate location if you aren't using 64 bit Vista.
Step 9: Test Bluray playback. When you right click on your bluray complete rip in your library, you should now see "Play using" where you can verify that the default is TMTPlayer. Clicking on your bluray rips will now Kill XBMC, Launch TMT and then relaunch XBMC when you are done!
The main limitations of this implementation are 1. No "watched" flag being set. 2. Have to manually add your full bluray rips 1 at a time. 3. I haven't tested remote control compatibility at all so am not sure how you would exit from TMT using a remote instead of a mouse/keyboard.
I hope this helps some people since it was a bit frustrating getting to this point for me. Feel free to ask any questions.
Halo7
What this solution does is use the External Player to launch TotalMedia Theatre to access a bluray complete RIP (with BDMV folders). A couple of the problems I ran into were when I was running XBMC full screen and used the external player functionality to launch TMT, it wouldn't stay on top of the XBMC, but rather launched behind it. This was even after using the command arguments that should keep it on top. After even more trial and error, I realized that the easiest way was to use a batch file to kill XBMC, launch TMT, then restart XBMC when you are done with TMT. However, I couldn't get a Bat file to launch as an external player. So I then found a way to convert the bat file to an EXE file and viola!
What will you need?
A version of Arcsoft TotalMedia Theatre (I have 3.0.1.120)
A registered copy of Quick Batch File Compliler (I have 3.2.1.0)
One of the newer builds of XBMC since the External Player functionality changed post Babylon. (I use XBMCUpdate to get up to the minute builds which I am using)
I installed TMT and XBMC in the default locations.
Step 1: Associate .bdmv files to TMT. Go into one of your complete bluray rips and go into the BDMV folder. Right click on the index.bdmv and then left click on "Open With". ArcSoft TotalMedia Theatre should be listed under either Recommended or Other Programs. Left click on it and make sure that "Always use the selected program to open this kind of file" is checked.
Step 2: You can now check that the associations is working by double clicking the index.bdmv file. This should launch TMT just as if you inserted the bluray disc into your drive.
Step 3: While you are in TMT testing, take this opportunity to click on the settings button on the top right (looks like a gear) and go to the General section and make sure that "Auto Play" and "Auto Full Screen" are checked. Click OK then also make sure the "Pin" at the top right of the window is selected for "Always on top".
Step 4: Go into your XBMC UserData directory (this will either be under your username or in the XBMC folder depending on how you set it up), and you will need to create a new video type for the bdmv files that we just associated. This will allow you to Add the BDMV files to your library and get DVD covers / fan art. Etc. To add bdmv as a video type you need to create a new file called Advancedsettings.xml (this file may already exist if you have customized stuff in the past). If you need to create a new one, just open up notepad and paste the following:
Code:
<advancedsettings>
<videoextensions>
<add>index.bdmv</add>
</videoextensions>
</advancedsettings>
Step 5: You can now test adding a bluray complete rip to your library by navigating to the bluray rip folder and right clicking on the index.bdmv file and choosing "Movie Information". The BDMV name will come up by default which you clear and type the actual movie name. I couldn't find a way to use the folder names since the index file is 2 folders deep from the root folders.
Step 6: Create the External File Batch file which we will convert to an exe. This file will terminate XBMC, Launch TMT, monitor when TMT is complete, then relaunch XBMC. I couldn't find a more elegant way to do this that worked. Create a new file called whatever you want, wherever you want. I called my udtgo.bat and created it in the Arcsoft TMT3 directory. You can do this by opening notepad, pasting the following:
Code:
taskkill /F /IM XBMC.EXE
"C:\Program Files (x86)\ArcSoft\TotalMedia Theatre 3\uDTStart.exe" %1
:checkagain
set tempfile=TMTRunning.txt
del %tempfile% > nul
tasklist > %tempfile%
type %tempfile% |find /i "uDigital Theatre.exe"
if errorlevel 0 if not errorlevel 1 goto IsRunning
:exit
del %tempfile%
"C:\Program Files (x86)\XBMC\XBMC.exe" -fs -p
exit
:IsRunning
goto checkagain
I am running Vista 64 bit, so you will need to change the paths for line 2 and 11 to the correct paths for your OS.
Step 7: Create an EXE version of this batch file for use in the External Player function. I couldn't get a batch file to run correctly after many attempts with the External Player so ended up with this method. You need a registered version of "Quick Batch File Compiler" so you don't get the nag screen that pops up when you run the exe file. I can make an exe for people privately for their batch files if they want to test it out as long as I don't get deluged with requests. Open Quick Batch File Compiler and click on Open, then select the udtgo.bat file (or whatever you called it) from the Arcsoft directory (or wherever you saved it). Click on the Options button and make sure Console Application is selected and uncheck "Show splash on startup", then hit OK. The bat file you just created should be showing in the source box. Then click on Build and a box will pop up asking you where you want to save the EXE file. To keep things easy, I saved it in the Arcsoft TMT directory and called it Launch.exe.
Step 8: Make XBMC launch TMT for BDMV files. In the same directory that you created the Advancedsettings.xml above (your userdata directory), you need to create another file called playercorefactory.xml . You can use notepad to create this one as well. Paste the below and save it in your userdata directory. Change the filename location to your appropriate location if you aren't using 64 bit Vista.
Code:
<playercorefactory>
<players>
<player name="TMTPlayer" type="ExternalPlayer">
<filename>C:\Program Files (x86)\ArcSoft\TotalMedia Theatre 3\Launch.exe</filename>
<forceontop>true</forceontop>
<hidexbmc>true</hidexbmc>
<hidecursor>true</hidecursor>
</player>
</players>
<rules action="prepend">
<rule filetypes="bdmv" filename="*.bdmv" player="TMTPlayer" />
</rules>
</playercorefactory>
Step 9: Test Bluray playback. When you right click on your bluray complete rip in your library, you should now see "Play using" where you can verify that the default is TMTPlayer. Clicking on your bluray rips will now Kill XBMC, Launch TMT and then relaunch XBMC when you are done!
The main limitations of this implementation are 1. No "watched" flag being set. 2. Have to manually add your full bluray rips 1 at a time. 3. I haven't tested remote control compatibility at all so am not sure how you would exit from TMT using a remote instead of a mouse/keyboard.
I hope this helps some people since it was a bit frustrating getting to this point for me. Feel free to ask any questions.
Halo7