po5 / memo Goto Github PK
View Code? Open in Web Editor NEWA recent files menu for mpv
License: GNU General Public License v3.0
A recent files menu for mpv
License: GNU General Public License v3.0
I've been thinking about our conversations in #13 and the need for a secondary script to do non-blocking processing.
In some ways, that's correct. But I just had an idea that doesn't involve extra mpv instances or extra script files, while still allowing for real parallel operations! The concept works in the limited tests I've done so far, I need to update memo to work with it.
The vanilla UI will of course benefit the most, but it will also be great for responsiveness because it will allow cancelling uosc searches when the query changes.
If the memo experiment works I'll definitely implement it in other scripts that do lengthy blocking operations, or need very fast feedback (thumbfast?).
While testing #17 I noticed that your menu doesn't play nice with osd-back-color
. I think it's that bad because for each thing ass:new_event()
is called, and now each of those gets it's own background.
Screenshot with osd-back-color=0/0/0/0.7
In quality-menu I fixed it with a \\rDefault
to get rid of all mpv provided styling, but I don't know if you want to do that.
Suggest adding a shortcut key to delete history entries
I've been playing around with kamiyaa/joshuto lately, and I've noticed something.
By default, video are opened in mpv with fork = true
option.
References:
fork = true
:fork = false
: normal behavior, the video appears in memo history.I also noticed that save-position-on-quit="yes"
in mpv.conf
still works fine with fork = true
. Opening the video again starts where I left it, and a file is written to ~/.local/state/mpv/watch_later
directory.
Is there a workaround for this? I'd like to keep using fork = true
if possible.
I just keep history only for sometime. After a period of time (complete watching remaining videos), I usually clear the entire history.
Please add this feature. I think some users may benefit from it.
I Have a stream in memo-history.log
that looks like
unix_timestamp,,,URI
it causes memo to buffer infinitely, once that line is deleted it works fine.
If a video is already listed in the menu, and is moved to a different folder it still shows up in the menu, and clicking it does nothing.
Would it be possible to somehow track the file moved, or is that infinitely harder than just ignoring missing files?
For example I have a folder called Videos, where my torrents are downloaded, using webtorrent-mpv-hook. After downloading I move the video into either my shows or movies subfolder. Could the script track this movement, so the initial menu entry still works?
Any ideas?
I have a feature request to show history menu when launching mpv, is it possible with your script?
Alternative script simplehistory does this by default https://github.com/Eisa01/mpv-scripts
Example:
word
- returns either word
or Word
matches ✔️café
- only returns café
matches but not CAFÉ
❌CAFÉ
- only returns CAFÉ
matches but not café
❌It would help the general orientation inside the history if the current page number was visible. Additionally, the total number of pages could be displayed to give a relative sense of where the current page stands, which you already get from one bound (that being the first) but not from the other.
All pagination implementations I can think of that are not infinite, i.e. don't have the necessary information available, have an indication of the current and the number of total pages, so it's not unusual.
I am currently using recent-menu (with uosc), how does this compare, any obvious advantages?
Nvm, didn't read the full reademe.
With current behavior, pressing either "return" or right arrow will start playing the selected entry. It would be nice if we could add it to the playlist with another keybinding instead, so that the current playback isn't stopped.
Maybe not useful but I'm using Eisa01/SmartCopyPaste.lua, which allows to do this.
Pretty similar to #7 but maybe it's easier to implement? Anyway, that's just an idea.
is there a feature to save watching in Bookmarks without being deleted automatically like SimpleBookmark?
Currently, history_path
defaults to ~~/memo-history.log
, ~~/
being mpv
's config directory.
That should probably be ~~state/memo-history.log
, which uses the application state directory: ${XDG_STATE_HOME}/mpv
on various unices.
For more information about the distinction, see the XDG Base Directory specification.
I really wanna get either sub-skip or speed-transtition to work and they do but only if memo.lua isn't there. I'm guessing there is a conflict with mp.register event possibly. Anyway to rectify this perhaps.
edit: ok sorry I'm pretty sure the culprit is a new script blackout with property changes...
Not sure how much of this would lie in uosc's responsibility (which I am using), but then it wouldn't apply to the non-usoc menu.
Anyway, after opening the recent file (or url) history and not seeing the video you are about to open on the first page, I would like to immediately move to the next page, e.g. using the page down key. Similarly, moving back a page using Page Up would be very useful.
Another nice idea would be binding the number keys 1 to 0 to select the nth item (with 0 => 10th) to immediately select that item once you found it. This isn't usually something you'd use in a uosc menu, but I imagine it would be quite useful for listings like this.
Keyboard navigation is currently possible using arrow keys (and page down to scroll multiple items at a time), but it feels very unintuitive to use the right arrow after selecting the "Newer entries <" entry to go … left. It may also be a better idea to have the "Newer entries >" entry as the first item to make it easier to differentiate the two pagination items and have a more natural scrolling feeling.
Is there a need to have (memo)
in the menu title?
Is there a way to delete an item from the menu? memo-log works well for manually creating bookmarks, but then they can't be removed without editing the text file.
Right now the cursor gets reset on every search update, and we parse everything over again.
My solution would be similar to page state, storing a list of known matching entries for each query, and the cursor position since we may have to parse extra entries to get a full page of results. Will require some changes to fakeio.
Could the script prompt the user for a title for the history item? This would be very useful when using memo-log for bookmarking.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.