lwilletts / mpvc Goto Github PK
View Code? Open in Web Editor NEWAn mpc-like control interface for mpv.
License: MIT License
An mpc-like control interface for mpv.
License: MIT License
But --input-ipc-server
is still very new, having only been added last mpv release, breaking compatibility with older mpv versions. I think the best solution will be to wait until mpv git removes --input-unix-socket
completely, then start using and recommending it.
I've been a long time enjoyer of mpvc since 2017, with my personal little addition mentioned here: #40 (comment).
However, after many years of not updating mpvc I finally took the time to try the new commits.
Since commit 7f3543c mpvc seems to have lost the ability to add folders or YT videos to a playlist.
For example when adding a YT video with:
mpvc add ytvideourl
I get:
/tmp/mpvsocket does not exist. Use mpv --input-ipc-server to start one.
and if I manually create the socket with mpv:
No files added to /tmp/mpvsocket
It works only when I add files with absolute paths.
I use:
Debian Sid
bash 5.2.0
mpv 0.34.1
Allows the user to move a track in the current playlist to somewhere else in the playlist, respecting ranges.
Main barrier is implementing a safe way to get ONLY two args and no more.
Many commits have been made since 2016, can we get a 1.3 release?
Would be great for packaging this as ports without needing to use git.
Thanks.
Just reminding myself to do this ^^
I believe bc is a required utility for POSIX. Is it okay to remove from the dep checks / README?
What do you think about using --idle=once if an mpv process isn't found? Using the "once" parameter would allow mpv to stop after it finishes its work rather than continue to retain resources while not in use. I don't think the cost of starting up a new mpv process is very big. People that want the single long-lived mpv behaviour can still start it externally with --idle=yes.
Hi there,
Forked the code at https://github.com/gmt4/mpvc/commits/master,
For now it's been just a few minor things to get going, such as:
mpvc -a https://...
Just to let you know in case there's something you find useful.
nc
- busybox's nc does not have the -U
or -N
flags
Solution: install socat
grep
- busybox's grep does not have the -G
flag
Solution: install gnugrep
Could there be a work around?
Might I suggest a better way to use mpvc
and mps-youtube
?
set download_command mpvc add https://youtu.be/%i#%f -- --vid=no
Then add tracks in mpsyt using, for example: da 1-5
Advantages:
mpvc current
you actually see info for the track playing instead of a crazy googlevideo.com link.mpvc -i
the filename will include more interesting track information which can better parsed in the script.Title.
I'm not knowledgeable enough to implement this myself, but an "insert" or "addnext" function like in mpc would be useful. All it does is add a song after the currently playing song in the queue.
Otherwise, I really like this script.
Main barrier is that mpv depends on knowing the path to the files, not just the filename as mpv doesn't have a database file to use!
Is it worth mentioning that mpvc -a $(find . -type f)
will not work if the filenames have spaces? To use find this way you would need to use find . -type f -print0 | xargs -0 mpvc -a
but at that point you might as well just pipe directly to mpvc. Nothing is really gained by using the command line argument syntax here.
mpvc -a *
will still work fine however.
Had this one in the mpc options section commented out for awhile to be implemented, but I talked to the one of the lead devs for mpv and he doesn't want to implement this option directly in mpv, so we'll have to fake do it in mpvc directly. Probably by storing a variable in a file somewhere.
https://youtu.be/-RLFYJibT6k
So this is happening to me (xst - bash) and my friend (alacritty - mksh[?]). When you start the mpvc, looks like it make a glitch that begin to hidden/blend/mix(?) some words in a level that even make the terminal stop working of receivecommands.
Im using VoidLinux.
And thanks for the program!
Just to put it on the radar, would be nice to have an equivalent to mpc --format with relevant options.
nice script :)
Title.
to match mpc, for better script integration.
mpc has mpc idleloop
, which will output mpd events as they happen - this is useful for acting as a trigger for say, panel mpd status updates - I would like the same to be possible with mpvc - maybe have it monitor for a change in the socket type of thing?
If the file metadata contains '&', the %tag% will be inserted back like:
echo 'one %two% three' | sed 's#%two%#four&five#g'
would return:
'one four%two%five three' rather than 'one four&five three'
'&' will fix that behaviour but I'm not sure of an easy way to do that.
Great project ! Love that it uses simple good old Unix tools and requires no complicated dependencies
I'm trying to test this on Archlinux. Unfortunately we currently only have a "mpvc-git" PKGBUILD recipee. It builds pulling from github master. And worse, it is currently broken, https://aur.archlinux.org/packages/mpvc-git.
I would like to test this with a proper "mpvc" PKGBUILD. Not a "mpvc-git" PKGBUILD. The last release is from 2020. And I see a lot of activity recently since last year.
Could you please tag and release a new one ?
Thanks in advance
Thanks for your work on this tool and the new 1.4 release.
From the README
To install mpvc:
...
Distro packages:
Arch Linux package: pacaur -y mpvc-git
This is broken and not working. Since you are also the maintainer of that PKGBUILD could you check it out and correct ?
https://aur.archlinux.org/packages/mpvc-git
Thanks in advance.
The following is an issue someone emailed to me:
Hi,
I noticed an error when -q -a are used together and then immediately -R.
I looked at the code and the playlist appends are backgrounded, so
mpvc exits but items are still being added, so I think it just need a
wait.
Probably as part of --play.
Describe the Issue
Using --playnext on a track when there is a queued playlist inserts the track into the previous position of the current track.
To Reproduce
Steps to reproduce the behavior:
mpv --input-ipc-server=/tmp/mpvsocket [playlist link]
mpvc -A [video link]
Expected behavior
The current track stays in the same position and the new track is inserted into the next position.
Title.
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.