GUI app to make it easy to schedule manual recordings

Thank you. I made the mistake, I think, of installing Python3 via Homebrew, so I'm having trouble finding the Launcher. I've read in a few places that it isn't recommended to install Python via Homebrew.

I started here: Download Python | Python.org

All macOS versions: Python Releases for macOS | Python.org

1 Like

That's the way, particularly if you're using a Python GUI on the Mac, you want to install from python.org. Glyph Lefkowitz just blogged about this issue if you want all the details (and wrote an auto-updater I want to check out at some point...) — Deciphering Glyph :: Get Your Mac Python From Python.org.

Thanks @Fofer and @nriley. For anyone else doing this, I've had time to uninstall Python via Homebrew and reinstall it via the download link, and I can confirm this allowed me to set manual_recording_gui.py to always open the Python Launcher. So now, on my Mac, I can launch this with a double click. Very nice app. :+1:

2 Likes

So sorry, @TV_Ken, somehow I totally didn't see your message at all in this thread. I didn't mean to ignore you.

Thank you for confirming that the EXE file works. :slight_smile:

If I understand your request properly, you would like to bypass the GUI and just send commands directly to your server.
However, I can see that you are already familiar with the creation of the json file and the CLI to send the command:

So I guess I'm confused about what you are asking. :thinking:

Your program is a quick and easy way to queue a program without having to create a somewhat confusing JSON file. I just thought (especially for testing or one shot events) that being able to do it with command line parameters would be easier for some people.

As you pointed out, the JSON file method works, but I recall that it took me many tries to get this working, and I think many people avoided it because it looked too complex. Not a big deal.

Yes, you are definitely correct about that, creating the JSON file correctly can be very tricky. :sweat_smile:

I have no problem adding a feature. I just wanted to make sure I understood what to do. :slightly_smiling_face:
(I am a software test engineer and it is crucial in my job to understand the software requirements in order to create the right tests. :laughing:)

I will add a feature that dumps the content of the JSON data created by the app and save it as a JSON file in the same directory where the app is installed.
I will also add the full command to a text file.

I probably won't be able to do it before this weekend though. This week, I am away.

Please feel free to ask anything or make suggestions for improvements. I aim to please. :grinning:

@TV_Ken : I have not forgotten about your request. As a matter of fact, I have started to implement it and a quick test seemed to be successful. I still want to clean up my code a bit because it's getting quite messy now.

I'm away from my computer this week again so I will try to get back to it over the weekend. Sorry for the delay.

I'm also considering making it a web app in docker, which will be my very first time doing that.
This way, no need for any Python dependencies.
Also a nice challenge for me. :grin:

I will report back when I have something that I feel is ready for the public.

@TV_Ken - I worked on adding the creation of the JSON file but ran into technical difficulties, I was not seeing the file created. Yet, the code looked fine.
Eventually, I figured out it was a directory permission issue.

I will be back at my computer this weekend so I should be able to release the new version.
Stay tuned.

Sorry for the long delay, @TV_Ken. I just uploaded a new version to GitHub.

After clicking on the "Create JSON File" button:

You can copy the command that is displayed on the last line.

And, of course, you will have the JSON file:

Content of the JSON file:

{'Airing': {'Source': 'manual', 'Channel': '6002', 'Time': 1697414400, 'Duration': 1800, 'Title': 'Manual Recordings', 'EpisodeTitle': 'Manual Recording', 'Summary': 'Manual recording of channel 6002 on 2023-10-15 @ 20:00:00 for 1800 seconds.', 'SeriesID': 'MANUAL', 'ProgramID': 'MAN1697414400', 'Image': 'https://tmsimg.fancybits.co/assets/p9467679_st_h6_aa.jpg'}, 'Name': 'Manual Recordings', 'Time': 1697414400, 'Duration': 1800, 'Channels': ['6002']}

It's been so long since you requested this feature that I'm not even sure if you are still interested. :laughing:

I am interested, it is a very useful tool. However, there is one minor problem.

Using the Windows version, the program window is taller than my screen, so I can't get to the bottom section. It will not shrink or scroll.

Ken

Ah, sorry about that. I need to redesign the screen layout.

I will do this as soon as I can. I won't give a time estimate because it never works out as planned.

@TV_Ken I found some time to change the window layout and it should look better on your screen now. New version uploaded to GitHub.

I hope it works for you. :crossed_fingers:

Not quite. "Schedule Manual Recording" still works, but "Create JSON File" gives error when I execute the command at the bottom.

0_D:\Downloads\Channels DVR>curl -XPOST --data-binary @qqq_q_episode.json "192.168.0.232:8089/dvr/jobs/new"
{"error":"invalid job"}

Thank you for reporting this and sorry it is not working.

I am suspecting the content of the JSON file is not in the right format.

I will take a look later and do proper testing before I publish a new version.

@TV_Ken: bug fixed. I was writing the JSON payload to the file in an invalid format.
I ran several tests with the 'curl' command and it worked for me.

New version uploaded to GitHub.

Working great!

FYI, This is not a problem for me, but if I highlight the CURL command and right mouse click, (expecting to get menu for "Cut"), nothing happens. However, Ctl/C works fine to copy the string to the clipboard.

Thanks again for this great utility. It will save me much time in the future.

1 Like

Hey this is a great tool, using it to schedule TNF recordings via my HDMI encoder.

Is there an easy way to schedule a weekly recording with this tool? Didn't see it in the GUI, am entering each recording one at a time but every time I do so the date/time get reset so I have to enter everything again.

Maybe have a list of days as checkboxes (i.e. you can pick the days individually) so that the stop day in the GUI is not repeating every day but only on the days you picked.

Would make it easier to schedule stuff that only runs on weekends, M-F etc.

1 Like

Right now, as you figured out, you can only schedule one recording at a time.

Thank you for the suggestion. I will think about how/if I can implement it.

As soon as I can find some free time to work on it, I will give it a try.