Page 1 of 1

Coming Soon - Resume Playback Functionality

Posted: Fri Jul 17, 2020 5:36 pm
by Pauven
Recently I was watching an episode of Veep (such a great show!) late at night, and caught myself dozing off. So I stopped playback in the middle of the episode and went to bed. The next day, I had to try and find where I left off. Such a pain. That's certainly one feature I like about streaming services, they make it easy to stop and resume where you left off later.

How I would love to have that capability in CMC.

Thinking about the problem, it occurred to me that the main thing CMC needs is just your current position in the video you are watching. Sure would be nice if there was a way to query that info, and API of sorts.

Since I use (and highly recommend) MPC for playing all my TV episodes, I decided to google MPC API. To my surprise, I discovered it has one!

It's taken me a couple days, but I've written a little test program that connects to the MPC API when starting playback, and queries every second for the current playback position. My little test program allows me to pause, stop or close MPC at any time, and CMC knows where I was in the playback. And the next time I start playback, I can have it resume right were I left off, down to the second!

The MPC API is amazingly powerful, so I might look at doing more with it in the future. For example, there is a program named SyncPlay that lets you have a watch party, and it keeps everyone's viewing in sync over the internet - hit pause for a bio break and everyone's playback pauses. If one person's movie is playing slightly faster, it can auto adjust the playback speed to keep it in sync. It's a really cool tool that leverages the power of the MPC API (and other players, too). Perhaps one day I can build something like it into CMC if there's demand for it.

My next step is to incorporate this new auto-resume capability into CMC. Now that I know it works, and more importantly how to make it work, it shouldn't take too long to implement, so I expect this will be in the next version.

For now this will be an MPC only feature. I don't know if it will be possible to do this with any other players, though my expectations are low.