iina / iina

The modern video player for macOS.
https://iina.io
GNU General Public License v3.0
37.1k stars 2.53k forks source link

Show the last played media in the play history list in welcome window #4758

Open uiryuu opened 6 months ago

uiryuu commented 6 months ago

What you want IINA to do: Show the last played media as an entry in the play history in the welcome window. An alternative design is to blend the "Resume" bar into the history list below, such that the last played media will not show up twice.

What IINA does currently: The last played media isn't shown in the history list, it only shows in the "Resume" bar. Other previously played media is properly shown in the list.

Why you think this should be added: When there's only one playback history, the list will be empty, which looks drastically different with non-empty history list. When the list is empty it may make people confused into thinking there's no playback history.

svobs commented 6 months ago

Yes something should be changed here. It looks like the "resume playback" and "playback history" features evolved independently, but they have too much overlap for them to ignore each other.

My thoughts:

  1. The current "resume" functionality seems based on the assumption that there is at most 1 window the user wants to "resume" at a given time. But if a user closes IINA with several windows open, which window will be the lucky one? It would be nice to be able to work toward a streamlined design where each window has an associated "session" (window size, equalizers, playback position, etc.) which could be restored not only at the start of IINA's next launch, but at any time the user chooses, by selecting it either from the Welcome window or Playback History window.
  2. Ideally all the entries in the Welcome window would be getting pulled from the same big list as the Playback History window as suggested here. Or if that doesn't make sense, at least merge the "playback state" and "playback history" entries into one big list sorted by date.
  3. Along the way, it would be a good idea would be to replace the dependency on Apple's Recent Files feature (which lately has been not as reliable) with one that also pulls from this same history list, so that a single source of truth is kept. The File > Open Recent menu can be cleared and/or re-populated programmatically to mimic its current functionality.
anohren commented 2 weeks ago

each window has an associated "session"

This is something that many, if not all, (open) media players (like Kodi) are missing. It extends to much more than just window properties as you imply, e.g. preserving the current play queue, etc. IINA at least has multiple windows, while in Kodi you have to throw away your enqueued music if you want to watch a quick video -- oh boy, where do I start with that one? 😅 (although in IINA you only get one shot at the welcome window, which is unfortunate since its playback history integration is quite convenient. I can't count the times I've been looking for "New Window" or "Welcome Window" in the File menu.)

Sessions are what users like me are really interested in -- if I was playing a video as part of a queue, then it doesn't matter much if I can resume the most recent video from the welcome window, since my queue will still be empty (unless the rest of the queue was in the same folder). I then have to open a New Window -- which is a feature that doesn't actually exist (?) -- in order to drag my folder into it, then resign myself to having to use the "Open..." menu entry, and once again navigate to the very same folder that I'm already looking at in a Finder window.

selecting it either from the Welcome window or Playback History window

This would imply keeping a history not only of played files, but of actual windows/sessions, and making these sessions user identifiable (preferrably without forcing users to give each window a name). Otherwise you'd start different "snapshots" of the same session simply by selecting different files in the current playback history window. That could become confusing.

I would probably use that feature if it existed, but it sounds a bit complicated judging by IINA's current scope. You wouldn't want two histories, so you'd have to rip out the current file history and replace it with a session history, where each session potentially has an individual file history. Quite the task?