Like defining a new environment variable like Tuner1_Type= adb or ATV
I think this needs input from @bnhf whether it should be a var or maybe a small json file that sits in a bind mount. Vars are great, but doing things in a GUI is better for UX. My vote is choose your scripts per tuner in the GUI rather than in a variable. Then maybe assign the m3u for that tuner/script combo.
And really - my input is to not introduce any more complexity to the structure. For my debugging Ill just spin up my other container with a pull and Ill be up and running pretty quickly
The decision is between you and @bnhf how you want to proceed with the gating.
My 2 cents - KEEP IT SIMPLE
I think this isn't too hard. I personally would like less variables and better ease of use. Like define the encoder tuner pair, bind mounts and do everything else in the UI.
I guess we chatting in parallel - I like this.
I just dont want to see you get derailed from your "stream of conciousness"/vibe coding with the closed caption stuff etc..
I mean, if it's up to me, the closed caption work is basically done.
As long as no one else runs into some weird edge case, I can't see why we need to make changes to it.
At this point, I think this has become a bit of a refactor, and what you just opened as a question might be worth exploring before we merge this branch.
Cool. I can see a really slick common ui, eventually you can have a mix of adb and atv tuners in the tuner status page etc.
Eventually we can backfill the PYATV versions of missing pieces in the UI like the remote emulation buttons, etc. perhaps even ATV pairing.
I agree. My preference at this point would be a brief pause in changes, and if no "must fix" items pop-up, pull PR#20 in. This is a big PR, but once we get it merged, we should be able to return to some more manageable PR sizes.
There will always be new features that can be added or improved upon, but for now this seems to me to be a very nice upgrade, with plenty of changes for people to adsorb and utilize.
You've done an amazing job on this, and have really given a major face and functionality lift to this project!
Thank so much and I agree!
I think the next step going forward would be to break main.go up into more maintainable pieces so we can better extend things in the future. Personally I'd like to see less env vars and more UI based configuration. I think we can make this tool really user friendly if we allowed for more config through the new UI.
Makes sense.
I'd be fine with that, as long as we continue to support env vars as well.
None of this should be part of PR#20 though! Bug fixes only to that PR please, so we can get it merged soon. The changes I've made to the beta branch on top of PR#20 should be easy to replicate, so I think rather than creating a PR from the beta branch, I'll delete it and merge your PR. Once that's done, I'll add my changes back -- which are script, yaml and env related.
Just mentioning something I was playing with this morning.
Channels DVR doesnt display closed captioning in Live multi view.
So this morning using the PYATV commands, I was able to create a toggle for each tuners broadcast closed captioning for use in live situations.
I implemented a Docker container running a lightweight Python HTTP webhook service, and leveraged the Apple TV accessibility shortcut set to closed captions. three quick menu presses toggles the built in CC
Then I created a couple of apple shortcuts use get contents of URL , POST for each tuner.
Ive got it working with an Apple Watch complication right now.
In my tuner case this is very stable, because the ATV app I use adheres to the apple system level CC control and never changes. Some other apps - like Netflix dont.
Im getting ready for all my live view sports that are starting in a few weeks!!!
For the main apple tv that i use to view channels on my couch , i leverage channels api to toggle cc
So we have the best of both worlds. Woohoo!
What are the resource requirements for adding CC to ah4c?
Depends on the model chosen and the number of tuners running at once. I tried to make it work with pretty much everything but a literal potato. What do you run ah4c on?
Well plenty of tools allow an environment variable to override an in app config setting. I think it's doable.
Synology running (3) Ospreys total - most times 1 or 2
If it needs folders, I’ll have to create before.
Need to be more specific what kind of cpu how much ram? I doubt it has an iGPU so you prob want the small model Parakeet TDT-CTC 110M.
CPU: 2 cores / Intel(R) Celeron(R) J4025 CPU @ 2.00GHz
4GB Ram
Synology DS220+
On the plus side, it does have an iGPU. 
That's really awesome if it does have an iGPU that should handle maybe one or two streams.