Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/NurioHin/mpv-bookmarker
A bookmarker menu to manage all your bookmarks in MPV
https://github.com/NurioHin/mpv-bookmarker
Last synced: about 2 months ago
JSON representation
A bookmarker menu to manage all your bookmarks in MPV
- Host: GitHub
- URL: https://github.com/NurioHin/mpv-bookmarker
- Owner: NurioHin
- Created: 2019-03-15T22:41:34.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-01-27T13:16:49.000Z (almost 4 years ago)
- Last Synced: 2024-08-05T14:16:05.399Z (5 months ago)
- Language: Lua
- Size: 28.3 KB
- Stars: 93
- Watchers: 6
- Forks: 24
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mpv - bookmarker-menu - Menu to manage all your bookmarks. (Playback)
README
# Bookmarker Menu for mpv v1.3.1
A bookmarker menu to manage all your bookmarks in MPV. This script is based on [mpv-bookmarker](https://github.com/nimatrueway/mpv-bookmark-lua-script) and has been rewritten to include a bookmarker menu. All of the code has been written from scratch, aside from the general file/JSON management utilities.
**Notice:** Bookmarks created with [mpv-bookmarker](https://github.com/nimatrueway/mpv-bookmark-lua-script) can be loaded by this script and will be automatically converted. However, the bookmarks created with this script are not compatible with those created with [mpv-bookmarker](https://github.com/nimatrueway/mpv-bookmark-lua-script).
## New in version 1.3.1
* `DEL` button now deletes the character after the cursor instead of clearing the whole string
* Styling added for certain lines
* Currently selected line is now bold and yellow
* Typer cursor changed from `;` to a bold and yellow `|`## Planned features
* Allow custom tags for bookmark styling
* Undo function
* Redo function## Installation
Copy `bookmarker-menu.lua` to the scripts folder for mpv then add the following lines to `input.conf`:
```
B script_message bookmarker-menu
b script_message bookmarker-quick-save
ctrl+b script_message bookmarker-quick-load
```The keys are only a suggestion, and can be changed to something else.
Open `bookmarker-menu.lua` in a text editor, and you can easily change these settings:
```lua
-- Maximum number of characters for bookmark name
local maxChar = 100
-- Number of bookmarks to be displayed per page
local bookmarksPerPage = 10
-- Whether to close the Bookmarker menu after loading a bookmark
local closeAfterLoad = true
-- Whether to close the Bookmarker menu after replacing a bookmark
local closeAfterReplace = true
-- Whether to ask for confirmation to replace a bookmark (Uses the Typer for confirmation)
local confirmReplace = false
-- Whether to ask for confirmation to delete a bookmark (Uses the Typer for confirmation)
local confirmDelete = false
-- The rate (in seconds) at which the bookmarker needs to refresh its interface; lower is more frequent
local rate = 1.5
-- The filename for the bookmarks file
local bookmarkerName = "bookmarker.json"
```It's recommended not to touch `bookmarkerName` but it's there to be changed in case you already have a file called `bookmarker.json` and don't want that to be overwritten, or to change it to `bookmarks.json` to convert bookmarks created by [mpv-bookmarker](https://github.com/nimatrueway/mpv-bookmark-lua-script).
## Usage
#### When the Bookmarker menu is closed
* *`B` or whichever key you configured in `input.conf`*: Pull up the Bookmarker menu
* *`b` or whichever key you configured in `input.conf`*: Quickly add a new bookmark
* *`ctrl+b` or whichever key you configured in `input.conf`*: Quickly load the latest bookmark#### When the Bookmarker menu is open
* *`B` or whichever key you configured in `input.conf`*: Close the Bookmarker menu
* `ESC`: Close the Bookmarker menu
* `UP/DOWN`: Navigate through the bookmarks on the current page (Hold to quickly scroll)
* `LEFT/RIGHT`: Navigate through pages of bookmarks (Hold to quickly scroll)
* `ENTER`: Load the currently selected bookmark
* `DELETE`: Delete the currently selected bookmark
* `s`: Save a bookmark of the current media file and position
* `shift+s`: Save a bookmark of the current media file and position (shows a text input, allowing you to type)
* `p`: Replace the currently selected bookmark with the current media file and position
* `r`: Rename the currently selected bookmark (shows a text input, allowing you to type)
* `f`: Change the filepath of the currently selected bookmark (shows a text input, allowing you to type)
* `m`: Move the currently selected bookmarkReplacing a bookmark is intended for when you have a bookmark for your current progress in a TV series. When you've finished a new episode, you can select this bookmark and press `p` to instantly rewrite that bookmark with your current progress, leaving the name and its position in the list of bookmarks intact.
Changing the filepath of a bookmark is intended to quickly change a bookmark in case you moved the media file to a different folder, or perhaps the drive letter of your external drive changed.#### When allowing text input
The Typer (as I named it) allows you to type text for various ends, like renaming a bookmark or changing its filepath.
* `ESC`: Cancel text input and return to the Bookmarker menu
* `ENTER`: Confirm text input and save/rename the bookmark
* `LEFT/RIGHT`: Move the cursor through the text, allowing you to input text in different places (Hold to quickly scroll)
* `BACKSPACE`: Remove the character preceding the cursor (Hold to rapidly remove multiple)
* `DELETE`: Remove the character after the cursor (Hold to rapidly remove multiple)
* `Any text character`: Type for the text input. Allows special characters, spaces, numbers. Does not allow letters with accents (Hold to rapidly add characters)During text input for a bookmark's name, you can write `%t` or `%p` to input a timestamp in the name. (Note: This does not work for a bookmark's filepath.)
* `%t` is a timestamp in the format of hh:mm:ss.mmm
* `%p` is a timestamp in the format of S.mmmFor example, `Awesome moment @ %t` will show up as `Awesome moment @ 00:13:41.673` in the menu
#### When moving bookmarks
* `ESC`: Cancel moving and return to the Bookmarker menu
* `ENTER`: Confirm moving the bookmark
* `m`: Confirm moving the bookmark
* `s`: Save a bookmark of the current file and position
* `UP/DOWN`: Navigate through the bookmarks on the current page (Hold to quickly scroll)
* `LEFT/RIGHT`: Navigate through pages of bookmarks (Hold to quickly scroll)## Testing
This has been tested on Windows. In theory, it should also work for Unix systems, but it hasn't been tested on those.
## Changelog
#### Version 1.3.1
* `DEL` button now deletes the character after the cursor instead of clearing the whole string
* Styling added for certain lines
* Currently selected line is now bold and yellow
* Typer cursor changed from `;` to a bold and yellow `|`#### Version 1.3.0
* Added the ability to replace bookmarks with the currently playing file and position (See Usage for more info)
* Bookmarks from [mpv-bookmarker](https://github.com/nimatrueway/mpv-bookmark-lua-script) can now be loaded and will be automatically converted
* Certain keys are now repeated while holding the button, eliminating the need to constantly tap the same button
* Added the option to automatically close the menu after replacing a bookmark
* Added the option whether to ask for confirmation before replacing/deleting a bookmark
* Added more error messages
* Slightly changed up how forced controls are programmed and activated to accomodate the repeated keys
* Slightly changed up how bookmarks are created in the code to accomodate replacing them#### Version 1.2.0
* Added a cursor to the Typer, allowing you to insert text in other places than the end of the line
* Added the ability to change the filepath of a bookmark, in case you moved files to a different folder, or your external drive is suddenly assigned a different drive letter
* Changed the way filepaths are saved and loaded, to accomodate the ability to edit them
* Introduced version numbers to the bookmarks for potential backward compatibility
* Because of this, all older bookmarks should still be compatible with version 1.2.0
* The default bookmark name now uses `media-title` instead of `filename`
* Changed some of the messages and added a few more error messages#### Version 1.1.0
* Added minor property expansion to the Typer
* You can type `%t` or `%p` for the bookmark name and have it expand into the time or position respectively
* Added checks for all faulty behavior that I could think of and added error messages for those situations
* Cleaned up the code a bit#### Version 1.0.2
* Added keypad keys to the Typer
* It's possible to commit moving files with the keypad enter key as well#### Version 1.0.1
* Added the option to close the bookmarker menu after loading a bookmark
#### Version 1.0.0
* Initial release