Help With QuickTime external player
#1
Hello there,

I'm running Frodo 12.2 and I've created a playercorefactory.xml file that successfully launches QuickTime for my iTunes DRM TV Shows. The problem, however, is that as soon as QuickTime launches the video, I get an error that a file is not found. For some reason, the video loads, but it doesn't start automatically playing because of the error.

I don't believe it's a QuickTime error because if I right-click on the video file in Windows and select "Open With" --> QuickTime, it starts right up.

I'm hoping someone can look over my playercorefactory.xml settings to see if I've made an error:

<playercorefactory>
<players>
<player name="QuickTime" type="ExternalPlayer" audio="true" video="true">
<filename>C:\Program Files (x86)\QuickTime\QuickTimePlayer.exe</filename>
<args>"{1}" /fullscreen /close</args>
<hidexbmc>false</hidexbmc>
<hideconsole>true</hideconsole>
<forceontop>true</forceontop>
</player>
</players>

<rules action="prepend">
<rule filetypes="m4v" player="QuickTime"/>
</rules>
</playercorefactory>

I'd love to be able to have my iTunes TV Show purchases show/launch from my XBMC library as opposed to loading up iTunes.

Let me know if you see anything that needs to be changed.

Thanks,

Kyle
Reply
#2
I do not believe the current versions of Quicktime understand either /fullscreen or /close. So my bet is QT thinks those are part of the filename or maybe that they are other files you want to load. Also, unless you have QuickTime Pro (which you have to purchase) I don't think there's a way to get it into fullscreen automatically.

What I did was use AutoIt to launch Quicktime and then put it into fullscreen.

Here's the AutoItScript:
Code:
MouseClick ("primary", 0, 40)
$cmd = '"C:\Program Files\QuickTime\QuickTimePlayer.exe" '  & '"' & $CmdLine[1] & '"'
Run ($cmd)
WinWaitActive ("[CLASS:QuickTimePlayerMain]", "")
WinActivate ("[CLASS:QuickTimePlayerMain]", "")
Send ("^f")
sleep (100)
While ProcessExists ("QuickTimePlayer.exe")
    Sleep(100)
WEnd

And a snippet of my playercorefactory:
Code:
<players>
    <player name="Quicktime Player" type="ExternalPlayer" audio="false" video="true">
        <filename>C:\CustomApps\XBMCQTFull.exe</filename>
        <args>"{1}"</args>
        <hidexbmc>false</hidexbmc>
        <hideconsole>false</hideconsole>
        <playcountminimumtime>1500</playcountminimumtime>
    </player>
</players>
<rules name="Custom" action="prepend">
    <rule name="DRMM4V" filetypes="m4v" player="Quicktime Player" />
</rules>

If you decide to use this, make sure you update paths in both the script and the playercorefactory for your machine. Also, to quit Quicktime I mapped the stop button on my remote to a keystroke to quit Quicktime and then had that mapping only active when Quicktime was active. That's another exercise that will depend on your remote and the software you use to map buttons to actions.
Reply
#3
Thanks for the reply!

I've been messing with it a bit today and have got these Apple DRM movies to work two ways.

1) External Launch of iTunes or

2) External Launch of Quicktime.

Both work, and both have their own inherent problems. With iTunes, the movie or TV show starts right up in full screen, but there is something up with iTunes 11 and Windows machines where 1080P video is rather choppy. Searching around other message boards, it looks like a lot of people are having this issue. I've tried DirectSound and Wasapi with iTunes and both are pretty choppy.

With Quicktime, the inherent problem would be solved by forking out 29.99 to Apple. It totally sucks that a person has to buy Pro to get Quicktime to open in fullscreen.

I'm kind of confused about the script you posted for starting Quicktime in full screen. What would I use to create that script? Also, where would I put it? How does it know when to run?

Also, my other question is: Does the playercorefactory.xml control re-opening XBMC when the video is done playing? I'm trying to figure that part out to make it as seemless as possible because right now when the video is over, I have to physically click back over onto XBMC...not a real big deal, but it would be sweet if it was seemless. Is that what you're talking about with your remote mapping?

-Kyle
Reply
#4
[quote='pkscuot' pid='1531932' dateline='1382286909']
I do not believe the current versions of Quicktime understand either /fullscreen or /close. So my bet is QT thinks those are part of the filename or maybe that they are other files you want to load. Also, unless you have QuickTime Pro (which you have to purchase) I don't think there's a way to get it into fullscreen automatically.

What I did was use AutoIt to launch Quicktime and then put it into fullscreen.

Here's the AutoItScript:
Code:
MouseClick ("primary", 0, 40)
$cmd = '"C:\Program Files\QuickTime\QuickTimePlayer.exe" '  & '"' & $CmdLine[1] & '"'
Run ($cmd)
WinWaitActive ("[CLASS:QuickTimePlayerMain]", "")
WinActivate ("[CLASS:QuickTimePlayerMain]", "")
Send ("^f")
sleep (100)
While ProcessExists ("QuickTimePlayer.exe")
    Sleep(100)
WEnd

I tried loading this script in Autoit and I get an error every time. When it comes to writing scripts, my knowledge is super low. From reading your playercorefactory.xml, I can figure out you compiled that script to become XBMCQTFull.exe, so that when XBMC launches it, it loads the scripted version. Right?

I've tried doing that (yes, I changed to the correct paths for quicktime for my computer), but it gives a Line 2 error. Any suggestions?

Kyle
Reply
#5
Alright, so I finally have this working pretty well. Here's what I did:

I use Unified Remote on my Galaxy S3 to control my HTPC. I made a custom Quicktime remote in .xml. One of the functions of the custom remote is "Play M4V". Basically, without going into the code, it runs a left mouse click, pauses 7.5 seconds (the approximate time it takes for Quicktime to launch and start playing the video), then it runs a CTRL + F command to put QuickTime into fullscreen.

Another Button on the remote is "Full Screen". Basically, this just does a CTRL + F so I can toggle on and off full screen mode.

The last button on this remote is "Exit". This runs an ALT + F + X command to close QuickTime. Once Quicktime closes, XBMC maximizes again.

I'd like to run it a little differently. With the "Play M4V", I'd rather it use the "ENTER" button, because then I could load the XBMC presets into the QuickTime remote and have an all purpose one-stop-shop remote! Unfortunately, for some reason when I use the ENTER button to start a movie/tv show for the External Player, XBMC starts playing constant audio blips and bleeps. I have no clue why it does it with the ENTER button and not the Left Mouse Button. Any Ideas?

Here's my playercorefactory.xml

Code:
<playercorefactory>
<players>
<player name="QuickTime" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files (x86)\QuickTime\QuickTimePlayer.exe</filename>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>topleft</warpcursor>
</player>
</players>
<rules action="prepend">
<rule filetypes="m4v" filename=".*m4v.*" player="QuickTime"/>
</rules>
</playercorefactory>

I'll keep messing with it a bit to see if I can get the ENTER button to not cause XBMC to go into an audio frenzy. If anyone has any ideas why the ENTER button does that, please let me know of a possible fix.

Thanks,

Kyle
Reply

Logout Mark Read Team Forum Stats Members Help
Help With QuickTime external player0