RemiRigal/Plex-Auto-Languages

Official list of supported devices

RemiRigal opened this issue ยท 18 comments

The feedback from Plex is not consistent between devices. This purpose of this thread is to have an updated list of supported devices based on your feedbacks, I will try to update this list regularly so do not hesitate to share your experience.

Client Trigger on Play Trigger on Activity
Web App Yes Yes
Plex for Windows Yes Yes
Android Phone App Yes No
Android TV App Yes No
Kodi Addon for Android TV Yes ?
Amazon Firestick 4K Yes No
Apple TV App Yes ?
Infuse App on Apple TV Yes No
Infuse App on macOS Yes No
iOS App No Inconsistent
Plex for Samsung Yes Inconsistent

To check if a device supports Trigger on Play or Trigger on Activity, follow this procedure:

  • Enable debug mode by adding debug: true to the configuration file
  • Enable the trigger you wish to test by setting trigger_on_xxxx to true
  • Start PlexAutoLanguages
  • For Trigger on Play, start watching an episode on the client you wish to test
    If you see a log similar to this, Trigger on Play is supported:
    [DEBUG] [Play Session] Session: 4 | State: 'playing' | User id: 1 | Episode: <Episode:23268:The-Crown-s04e09>
  • For Trigger on Activity, browse episodes of the Plex library on the client you wish to test
    If you see a log similar to this, Trigger on Activity is supported:
    [DEBUG] [Activity] User: xxx | Episode: <Episode:23268:The-Crown-s04e09>

Infuse on AppleTV works as well by the way.

Infuse on macOS works with trigger_on_play, but not trigger_on_activity for me.
Can you confirm both works on the ATV @angrycuban13? The app should be identical on macoS and tvOS as far as I know.

Will test the native Plex app on the AppleTV once it's not occupied by my better half.

trigger_on_activity won't work in Infuse since they don't offer a way to do that.

I think it's safe to say that the feature trigger_on_activity is only supported for the web client and the Plex for Windows app. I have updated the documentation so that it's not misleading.

My concern is more about clients that would not support the trigger_on_play feature, which is the core of PlexAutoLanguages.

On second thought, you can change audio and sub during playback so technically trigger_on_activity should be relevant for Infuse as well, but yeah.

Ok tried trigger_on_play on Plex ATV and iOS with trigger_on_activity set to false. Did not work.

Both triggers with trigger_on_activity enabled, but only when I browse into a show, not when actively changing audio/sub track before hitting play. It says it has set the audio and sub track, but without me doing anything but clicking on a show in the list. Hope that makes some sense.

Plex iOS iPhone app works with trigger_on_play

Plex iOS iPhone app works with trigger_on_play

It doesn't for me. Would love to understand what's different.

Plex iOS iPhone app works with trigger_on_play

It doesn't for me. Would love to understand what's different.

You are correct. Hmmm I could have sworn it worked but I just tested multiple scenarios and no dice.

I tested:

  • Changing subtitle but not audio track
  • Changing audio track but not subtitle
  • Changing audio track and subtitle

@Manujito @angrycuban13 I've added a procedure to check what is supported by a client so that we are all on the same page. Could you both test the iOS app with the following procedure ? Thanks a lot.

To check if a device supports Trigger on Play or Trigger on Activity, follow this procedure:

  • Enable debug mode by adding debug: true to the configuration file
  • Enable the trigger you wish to test by setting trigger_on_xxxx to true
  • Start PlexAutoLanguages
  • For Trigger on Play, start watching an episode on the client you wish to test
    If you see a log similar to this, Trigger on Play is supported:
    [DEBUG] [Play Session] Session: 4 | State: 'playing' | User id: 1 | Episode: <Episode:23268:The-Crown-s04e09>
  • For Trigger on Activity, browse episodes of the Plex library on the client you wish to test
    If you see a log similar to this, Trigger on Activity is supported:
    [DEBUG] [Activity] User: xxx | Episode: <Episode:23268:The-Crown-s04e09>

Plex iOS App:

  • Trigger on Activity: No
  • Trigger on Play: No

Amazon 4K Firestick:

  • Trigger on Play: Yes
  • Trigger on Activity: ?

I don't have one to test trigger_on_activity but could confirm it works with trigger_on_play.

Plex tvOS App:

  • Trigger on Activity: No
  • Trigger on Play: No

Plex for Samsung:

Client Version: 5.36.1
Platform Version: 5.5

  • Trigger on Play: Yes
  • Trigger on Activity: Yes and No*

*This one is a little confusing because when I navigate to the show I see console output as follows:

2022-05-02 11:06:23,537 [DEBUG] [Activity] User: angrycuban | Episode: <Episode:64884:D.P.-s01e02>
2022-05-02 11:06:23,548 [DEBUG] [Language Update] Checking language update for show <Show:64880:D.P.> and user 'angrycuban' based on episode <Episode:64884:D.P.-s01e02>
2022-05-02 11:06:23,837 [DEBUG] [Language Update] No changes to perform for show <Show:64880:D.P.> and user 'angrycuban'

But if I make changes to an episode audio/subtitle track at the episode level it doesn't actually output anything to the console. There's no way to make subtitle/audio change at the show level on most apps and I think thats how the Plex Web App might work - but correct me if I'm wrong please.

Just did some fresh testing:

Roku

  • Trigger on Play: Yes
  • Trigger on Activity: Not really. What it means is that it doesn't update when changing streams, but if playing an episode, it detects the activity after closing the stream and makes the changes. So effectively doesn't work, as it is still triggered after playing an item.

iPhone

  • Trigger on Play: No
  • Trigger on Activity: Same behaviour of the Roku app, and the only way to make it work on iOS so far. It detects activity after ending a stream and makes the changes, acting like a delayed "Trigger on Play".

P.S. I'm on v. 1.0.14, didn't notice the new versions. Don't know if this changes something.

Thank you very much for your contributions @angrycuban13 and @Manujito, I really appreciate it !

I'm thinking of ditching the trigger_on_activity feature entirely. It's not consistent enough to give a good user experience and I think that updating on play is more than enough to provide a Netflix-like experience. What do you think ?

I wouldn't completely ditch it already. As I said, at least on iOS, it's the only way to make the program work, and it does. It detects activity after the file has been played, so it's useful and necessary for this platform.

What I'm thinking myself is a unified "hybrid" mode. Where it would trigger on play for supported platforms, and check for activity after a file has been played for the remaining. This way it will work on everything every time.

The implementation method might require some thinking and thinkering, but I hope I explained myself well enough.

I completely agree with @Manujito.