bomi
bomi copied to clipboard
Remove custom Mpv
I know this is the most up to date fork but it seems that no one will take it up because of the custom mpv. Can you remove that and make the gui parts from the code thats there and have it access mpv directly that would eliminate so many problems. Also im 99% sure mpv includes most the stuff that was so custom at the time so all options should be able to be added to interface. im not sure if your commit of https://github.com/d-s-x/bomi/commit/a29d40f091f3d982cd14fa4f013df2173f4f4026 was heading to that. I was hopeing that was the case. Any info would be appriciated.
Hi, I'm working on exactly this in private branch (wanted to publish when it's ready because no one wants to co-develop bomi anyway).
It's almost finished but some things require repairs :)
That is exciting i had a feeling that was the case :). I figured it be smarter to since you wouldn't have to update every change to mpv. Bomi is nice because it has all the mpv options available such as scaling filters, colorspaces etc. Very feature rich gui for mpv idk why the original guy decided it was a good idea to use a custom mpv. At least this way you would only have to update it to add options or remove them from the frontend and bug fixes. You dont have to worry about the mpv aspect as much.
Im sure once you post some more developers will come and help since it'll be easier for them to manage. I heard the source was a mess as he left it. Bomi is the best video player and with mpc hc gone now im sure the popularity will sky rocket again when your done.
why the original guy decided it was a good idea to use a custom mpv
Because he had abilities to add changes to mpv faster than upstream. Also he can skip negotiations with upstream and add things even if mpv maintainers were against some changes. For him the goal was not to create mpv frontend but full-fledged video player.
But now he doesn't have much spare time to keep up with mpv. Neither do anyone.
My plan is following:
- remove mpv customizations and bomi code/features that depends on them (95% done)
- update mpv to closest tag (0.10.0) (95% - have been done in other branch already)
- link against libmpv.so (dynamic instead of static) (0%)
- fix regressions (0%)
Unfortunately I don't have much free time aswell so the work progressing very slowly.
Yea take your time its been a year since anyone really worked on bomi lol. But once you can get to that point of having it use external mpv. Then it should only need updated once mpv adds new features which would be easier than maintaining a whole mpv by yourself.
I tried seeing how far I could get with trial and error similar to what you were doing @d-s-x. I'm up to mpv v0.18.0 so far, though I usually commented stuff out than try to fix them. The commits usually link the breaking mpv commit, so it'll be easy to revisit later.
https://github.com/Zren/bomi/compare/76142d35d7fe6e9acd057d3e15258239eb917788...zdev-mpv
I was hoping to not have to patch mpv itself, but they used "new" as a parameter name (in a C file). Since it's a C++ keyword, the compiler doesn't like that.
I wrote a quick script to run git apply ../mpv-patches/fix-new-keyword.diff after checkout out the next mpv tag here:
https://github.com/Zren/bomi/blob/zdev-mpv/checkoutmpv
@Zren, I took different approach and removed all mpv customizations with bomi features that depends on the customizations. Then I've tried to link against libmpv just to find out that bomi uses non-public members and wont work this way. This is depressing. I think it's easier to re-implement whole thing (at-least 20% of it) with recent libmpv rather than trying to patch existing code. Patching around separate layer for subtitles alone gave me enough headache. And almost all features depends on inner mpv structures and functions.
Some things could potentially exposed as API, but IU have no idea what internal mpv APIs bomi uses.
@mw4, I believe most things already properly exposed via API. For example, bomi uses some private mpv methods to switch audio streams. I'm sure there is already a better way to do it rather than exposing mpv internals as API just to make bomi link with libmpv.so
@d-s-x What's the status? Bomi is still the only MPlayer frontend that offers many advantages of MPlayer in the right-click menu. In addition, some alternatives are not cross-platform.
MPV Easy Player and BakaMPlayer are two more projects with potential, but they offer less settings (e.g. no motion smoothing). The latter has its last official release also in 2015.
If anyone is still looking for an alternative, I use PotPlayer now. It replaced bomi in every aspect for me.
@Thunderbolt32,
What's the status?
Well, nothing changed since comment-353769812
I use bomi "as is" because it just works™. Sometimes it stops working though but some guys on AUR are making patches faster than I do.
Do they come upstream?
Do they come upstream?
Patches? No. They are kept as separate files https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=bomi-git
And why?
And why?
I don't know. There are maintainers' emails in the PKGBUILD - ask them not me.
Upload them?