👀

🔜 📺

(It looks like dirt right now, but the point is, it works.)

( @getchannels )

And after some tweaks, it looks *far* better.

Feeling pretty good about this. I tuned Channels to a random live TV station and then opened Callsheet.

Only currently supporting @getchannels.

I plan/hope to include Plex support as well, but their API is… way WAY more involved. 😢 And I think I may need an entitlement from Apple to do it, so I'm at their whims as well. 😭

Regardless, feeling pretty good about the Channels integration so far. 😎 Beta testers, expect something in a few days.

Generally, when you tap one of these detected Now Playing items, Callsheet will simply do a search for the title.

However, in some cases, @getchannels can provide me more information, and this happens:

Many thanks to @maddox for tag-teaming on this. Still more work to do, but we're getting there. 🙌🏻

Progress is being made, but I had to pull in my first third-party dependency to get this to work. 😭

(THIS IS DEVELOPER UI I know it sucks that's not the point you don't have to tell me I still 💙 you though)

Anyway, this has been a fuckin' SLOG, but I'm pleased and relieved to start to see it working.

A few things here:

• This won't work unless I request and receive a multicast entitlement from Apple; I will be asking tomorrow.
• The Plex APIs are… shall we say… creaky… so I'm not sure how well this will work in the wild
• This would not be possible without “A” and "H". I'm happy to tag them but they're both asleep and I don't want to risk it just in case they're not comfortable. Anyway, when I say "would not be possible", that's not me being cute. It literally wouldn't have happened.

If I were to add another Now Playing data source, what should I add?

(No promises — implied or otherwise. 😏)

I'd love a catch-all thing for the Apple TV, but for complicated reasons I don't think that's likely.

Jellyfin
52%
Emby
7.6%
Something else
40.4%
Poll ended at .
@caseyliss John Siracusa's TV. Like, hardcode specifically John's TV.
@caseyliss I’m curious, is there no API for what’s represented by Now Playing on iOS or tvOS?
@kavehv nope.
@caseyliss @kavehv have you thought about having a “take a picture of whatever you are watching (making sure the app ui is visible first so the title is visible) and then use the really good text extraction apis in iOS to grab text and do a search? If well placed it could beat typing

@caseyliss Would you be willing to delve into the reasons why a catch-all ATV implementation isn’t in the cards (either here or on a podcast)? I’d be interested to hear about the details.

Also another vote for support for Infuse, though I have no idea if they offer an API or other access for this sort of thing.

@caseyliss TiVo. For probably only me and @siracusa at this point.
@caseyliss I know you said it's complicated, but Apple TV would be it. Interesting that Home Assistant integration can show me what's playing… heck maybe pull from Home Assistant instead
@chrishas35 I have such a visceral distaste for HA which makes this a bit of a nonstarter.

@caseyliss @chrishas35 Hah, I was about to suggest Home Assistant too LOL. It would let you track a bunch of other media devices in one shot with a single API.

But I get it! Home Assistant is quite a beast. I pretty much use it as a way to get non-HomeKit stuff into HomeKit, but I’ve grown to appreciate it a lot more lately.

Probably not worth your time honestly. So few people use it.

@caseyliss @chrishas35 but since HA is open source maybe someone here could find the code that does this? And then it would be easier to implement Apple TV support? 🤔
core/homeassistant/components/apple_tv at dev · home-assistant/core

:house_with_garden: Open source home automation that puts local control and privacy first. - home-assistant/core

GitHub
@caseyliss 🤣🤣 I know, I know. I don’t understand, but I know
@caseyliss Would Roku be possible?
@caseyliss I voted Emby but I mainly connect to it via Infuse so that’d be my vote. This is all very cool, I like where you’re going. 👏
@caseyliss Anecdata: I’ve never heard of those first two.
@caseyliss another vote for Infuse. I’ll beta test the hell out of it, if this becomes a thing, but understand if that’s not doable and/or lower priority. 🙏💖
@janl @caseyliss out of curiosity: do you have jellyfish as a backend for your infuse?
@bodo @caseyliss do not, straight SMB share. Previously plex, but <enshittification>.
@caseyliss can you get the currently playing item on the phone the app is running on? I mostly watch things on my phone and it would be great to be able to just switch to Callsheet while the show keeps playing PiP and not have to look it up
@tomw no, unfortunately.
@caseyliss thats a shame, but i can see why Apple would choose not to make that info available. Ill just have to rely on the plex integration when it comes out
@caseyliss Ugh, this sounds like it's going to be an ongoing nightmare to support. Are you sure you want to do this?
@caseyliss looks like a great feature to add. Wouldn’t have even thought this was possible! Hope development goes well and we see it released one day
@caseyliss The Plex API is like someone saw some old SOAP XML monstrosity, stood back and thought “huh, not too bad.”

@chrispoole don’t even get me fuckin started

Truth be told the XML bothers me less than the roll-your-own bonjour

@caseyliss ah, I wasn’t hit by that. I was just hacking something together for personal use, against their HTTP endpoints on my local network. Still a PITA.
@chrispoole In their defense, I'm pretty sure most of Plex predates JSON, but XML is still… not preferred.

@caseyliss Yeah agreed… but it is a commercial product, and JSON is hardly new.

I wouldn’t even mind the XML if it was sane in the semantics it presents. To do what I want to do (I think quite a simple use case), I have to call one endpoint, use some of the return values when driving another, refactor a response… it just lacks delight for the person driving the API. Feels like it’s not really meant to be used at all.

@chrispoole From what I've gathered, both from my own looking around, and from people inside, is that the APIs are ancient and creaky and are designed to serve Plex and only Plex.

@caseyliss yeah that feels about right to me too.

Off topic but perhaps relevant to your interests: https://mastodon.social/@samlavigne/110951947092096698
If you’ve not already seen it 💫

@caseyliss Can’t wait to see this in an official build.
@caseyliss This is killer!! 😍 Which dependency, just out of curiosity?
@caseyliss Ricky Jay! That special is mesmerizing. Such a tightly packed hour. The man is meticulous.
@caseyliss Gotta say Casey, this is definitely your best work so far. It’s a lovely app.

@caseyliss @getchannels @maddox What a remarkably clever feature! Of course you would want the thing you’re watching to automatically be detected and presented to you when you open the app.

(I’m sure there are some Luddites that will insist on manually typing because they don’t like nice things) 🙄

@caseyliss hi Casey - will you support custom lists for pinned items so I can have more specific named lists?

@mhw23 not currently planned.

(You have that many pins??)

@caseyliss not yet but I like to stay organized and it would facilitate the transition of my custom lists in IMDB to Callsheet.
@caseyliss @getchannels @maddox If you can get it working with Plex that would be amazing!
@sporez Working on it, but the API is a mess.