Google Cast in 3.14.0

The Home Remote now supports Google Cast devices in version 3.14.0

Compatible devices include:

  • Google Home
  • Google Home Mini (1st gen)
  • Google Home Max
  • Google Nest Audio
  • Google Nest Mini (2nd gen)
  • Google Nest displays
  • Chromecast with Google TV
  • Chromecast
  • Chromecast Ultra
  • Chromecast Audio
  • Chromecast Built-In

Each Google Cast device supports the following capabilities:

  • AudioMute
  • AudioTrackData
  • AudioVolume
  • MediaBrowser
  • MediaControl
  • MediaPlayback
  • MediaPlaybackRepeat
  • MediaPlaybackShuffle
  • MediaPlaybackTime

The MediaBrowser capability allows you browse your current playback queue & UPnP/DLNA media servers. Most apps manage their own queues internally so you may only see 1 item in the queue. The only media server I’ve tested is Plex but it should work with most others.

Available MediaCommands for the MediaControl capability:

  • Play
  • Pause
  • Stop
  • PowerToggle / PowerOff
  • SkipForward
  • SkipBackward

What are PowerToggle/PowerOff & how do they differ from Stop?

The PowerToggle/PowerOff commands are equivalent to the “Stop Casting” button in the Google Home app. They both do the same thing. They stop playback & close the playback application. Whereas, the Stop MediaCommand will only stop the media. The current application will remain open.

MediaPlaybackTime was reworked a little bit in the latest release to make it easier to link to a Slider for seek operations. You no longer need to supply a Format as was need in previous versions. It’ll now automatically use a format of “m:ss” when the track is less than 60 minutes & “h:mm:ss” when it is greater than 60 minutes.

2 Likes

Great work Bill looking forward to testing this some more and adding tiles and details for all my ChromeCast devices and Home speakers.

Regards.

1 Like

Hi

I am trying to customise the MediaPlayer Tile to match my design.

On the right is an unmodified tile:

image

image

Whilst the ChromeCast is not connected, both tiles say “Backdrop” why is this ?

Also sometimes that label that says “Backdrop” moves and like falls off the bottom of the tile, it also says “Youtube” briefly sometimes instead of “Backdrop”.

NOTE - I have changed them Cast ON / OFF icons so its actually a proper button, it turns on or off my Harmony ChromeCast activity. It was just an IconElement originally.

And this is how my tile looks when its connected and playing:

image

And when it is paused:

image

I have customised this details page slightly, I hid the music note icon that was appearing in the middle or the page for some reason and I have changed the binding on the “Device is Off” banner that appears to link in to my Harmony activity for the ChromeCast etc.

However even on this page it says “Backdrop”. When content is playing that changes to the title of the current Youtube video, as you can see in the below screen shot.

Any way to make that title text scrolling? As most video title names don’t fit on the screen.

Thank you

I also wanted to add a couple of buttons on to a custom Cast MediaPlayerDetails page, however it looks pretty complicated this page.

image

I would like a Stop button visible that when pressed stops the playback in the app on the ChromeCast but it does not exit the app.

And then perhaps a “Home” button that does stop and exit the app, and goes back to the ChromeCast photo slide show home page thing or whatever they call it.

I can see there is already a stop button in the MediaPlayerDetails page but has some dependencies on if it is visible or not.

I’d like to change the Power button in the top right, to control my Harmony activity for the ChromeCast, which will be better, as it will turn on / off my TV and AV equipment etc.

I’ve managed to do this by changing the binding of the power button to be:

ChromecastVideo_Lounge_Activity.MediaCommand

with a value of:

PowerToggle

I also need to change the volume slider to control my AVR amplifier and possibly the mute button also, I don’t know how to do this. However I don’t think it is possible to have a volume slider for a Harmony activity volume controls? I have tried before and wasn’t able to do it.

Any tips about the stop and “Home” buttons ?

Thank you very much.

Ticker tape labels is a current feature request. Vote for it!

1 Like

Done.

John do you use ChromeCast and Google Home devices out of interest? Have you tried the new “Google Cast” features ?

I do have chromecast dongles installed and my Nvidia Shield is chromecast capable but I really do not use it much. My shield (for music storage and Kodi playback), Synology NAS (for video storage) and all other AV components are centralized and are shared amongst different TV’s and wired speakers throughout the house. I use google home primarily for voice control and not for media playback. I have not played around with this new GC HR feature.

Backdrop is, I beleive, the name of the device’s screensaver app. It is coming from the application displayName in the current Session. This value is bound to the Home Remote’s AudioTrackData.Source attribute.
https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Session

To use the Slider, the device needs to support the AudioVolume capability. This capability is only available to devices that provide the ability to read the current volume. Harmony devices are typically IR based so you aren’t going to be able to read the current volume from them.

For stop, add a button that uses a DataAction to call Stop on @Device.MediaCommand

PowerToggle & PowerOff will both stop & exit the app. You can’t launch the photo slide show from this integration. For my Nexus Player those commands close the app & bring me to the main Home screen on Android TV.

Thanks Bill.

So could that label be made not visible whilst it’s saying Backdrop?

You can add a DataTrigger that sets the Text to an empty string when the value is Backdrop.

1 Like

That worked thanks that label no longer says “Backdrop”

However that label does sometimes briefly move downwards and drop off the tile as you can see in this screen shot of the “Bathroom Mini Speaker”.

image

Then it goes back to its normal position again.

image

Thank you.

Hi!
Could you please help, how to add simple button into Player Details which starts play online radio by URL.
For example: https://cast.radiogroup.com.ua/terrace320

I tried to create button and do something with MediaControl commands, but no success…

This is not currently possible but I can add support for playing a custom URL to a future release.

Thank you for quick answer!
Yes, it will be really cool feature!

But Media Browser included to chromecast plugin already has this possibility. So we can select audio file from list and start playback?

Correct. So if you have a way of linking that to a UPnP Media Server, you can select it from the MediaBrowser & start playback. Internally that MediaBrowser is invoking playback of URLs similar to the one you shared.

Thank you again!
I will be waiting for this feature. Because it will be cool thing to have some predefined buttons for online radios for different purposes like:

  • relax
  • party
  • spa
  • and so on…

@bill Do you think you could post the .hrp of the example you provided in this post? Trying to dig back into home remote and need a refresh on some things. I have the album art and track controls working, but am looking to figure out how to use the MediaPlayBack time for both what’s elapsed and what’s still remaining, and my slider progress isn’t accurate for what’s currently playing with my google cast device. Looks like you have these working in your example.

Thanks!

Those are the default templates included in the apps & every new project Designer project. To change them, simply go to the Templates folder & edit the MediaPlayerTile.xaml & MediaPlayerDetails.xaml. All Media Players share those 2 files.

If you want an example that uses the background image that you see in the 1st 2 screenshots, all you have to do is export the HRP from the apps. The HRP file exported on the Settings page in the app can be imported into the Designer.

That won’t work though if you’ve already got a custom HRP loaded into the apps, so do the following:

  1. Open the attached SettingsReset.hrp in either the Android, iOS, or Windows app (not the Designer).
  2. Click the ‘+’ button on the top right of screen & select Google Cast.
  3. The search process will find all supported cast devices on your network & generate tiles for them. Verify they work as you would expect.
  4. Go to the Settings page in the app & click the Backup button. That will create an HRP you that can be loaded & edited with the Designer.
1 Like