Git Product home page Git Product logo

kanishka-linux / kawaii-player Goto Github PK

View Code? Open in Web Editor NEW
617.0 617.0 44.0 15.23 MB

Multimedia player, media library manager and portable media server with PC-To-PC casting feature.

License: GNU General Public License v3.0

Shell 0.09% Python 86.06% HTML 0.52% JavaScript 4.03% CSS 0.52% Cython 3.63% C 5.16%
cast media-library media-player media-server mplayer mpv multimedia peer-to-peer pyqt5 python streaming youtube

kawaii-player's People

Contributors

jjrcop avatar kanishka-linux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kawaii-player's Issues

Error compiling Cython file

> python setup.py sdist
Error compiling Cython file:
------------------------------------------------------------
...
        assert self._ctx
        cdef uint64_t name = <uint64_t>id(self)
        self.callback = callback
        self.callbackthread.set(callback)
        with nogil:
            mpv_set_wakeup_callback(self._ctx, _c_callback, <void*>name)
                                               ^
------------------------------------------------------------

pympv\mpv.pyx:681:47: Cannot assign type 'void (void *) except * nogil' to 'void (*)(void *) noexcept'. Exception values are incompatible. Suggest adding 'noexcept' to the type of '_c_callback'.

Error compiling Cython file:
------------------------------------------------------------
...
        else:
            raise PyMPVError("Unknown api_type %r" % api_type)

        if opengl_init_params is not None:
            self._get_proc_address = opengl_init_params["get_proc_address"]
            gl_params.get_proc_address = &_c_getprocaddress
                                         ^
------------------------------------------------------------

pympv\mpv.pyx:866:41: Cannot assign type 'void *(*)(void *, const char *) except? NULL nogil' to 'void *(*)(void *, const char *) noexcept'. Exception values are incompatible. Suggest adding 'noexcept' to the type of the value being assigned.

Error compiling Cython file:
------------------------------------------------------------
...

        return RenderFrameInfo()._from_struct(&info)

    def set_update_callback(self, cb):
        with nogil:
            mpv_render_context_set_update_callback(self._ctx, &_c_updatecb, <void *>cb)
                                                              ^
------------------------------------------------------------

pympv\mpv.pyx:945:62: Cannot assign type 'void (*)(void *) except * nogil' to 'mpv_render_update_fn' (alias of 'void (*)(void *) noexcept nogil'). Exception values are incompatible. Suggest adding 'noexcept' to the type of the value being assigned.
Traceback (most recent call last):
  File "D:\Desktop\kawaii-player-master\setup.py", line 82, in <module>
    ext_modules = cythonize(extensions, force=True),
  File "C:\python\lib\site-packages\Cython\Build\Dependencies.py", line 1154, in cythonize
    cythonize_one(*args)
  File "C:\python\lib\site-packages\Cython\Build\Dependencies.py", line 1321, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: pympv/mpv.pyx

IPTV M3u Playlists

First off, I want to commend you on the excellent application. It has become my favorite media player on Linux. I have a question about playlists. I have an IPTV subscription and if I open the provided URL with mpv alone, I can play the streams, but I do not have access to the playlist directly. In order to play a different station, I have to advance the playlist manually one channel at a time until I get where I want to be. No fun when there are over 3000 stations. With your application, when I load the URL, it plays the first channel, but I haven't been able to figure out how to move through the playlist. Is there a set of directions I have overlooked in the readme or is this functionality not possible?

Replace mpv_detach_destroy with mpv_destroy

Unfortunately, my attempt to try out the Kawaii Player failed.

kawaii-player
/usr/lib/python3.10/site-packages/kawaii_player kawaii_player.py /home/sgs/
['/usr/lib/python3.10/site-packages/kawaii_player', '/usr/bin', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/usr/lib/python3.10/site-packages']
--using default pycurl--
Traceback (most recent call last):
File "/usr/bin/kawaii-player", line 33, in <module>
sys.exit(load_entry_point('kawaii-player==5.0.0', 'gui_scripts', 'kawaii-player')())
File "/usr/bin/kawaii-player", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/kawaii_player/kawaii_player.py", line 93, in <module>
from guisignals import GUISignals
File "/usr/lib/python3.10/site-packages/kawaii_player/guisignals.py", line 27, in <module>
from settings_widget import LoginPCToPC
File "/usr/lib/python3.10/site-packages/kawaii_player/settings_widget.py", line 32, in <module>
from widgets.optionwidgets import QPushButtonExtra
File "/usr/lib/python3.10/site-packages/kawaii_player/widgets/optionwidgets.py", line 16, in <module>
from mpv_bak import MPV
File "/usr/lib/python3.10/site-packages/kawaii_player/mpv_bak.py", line 409, in <module>
_handle_func('mpv_detach_destroy',          [],                                         None, errcheck=None)
File "/usr/lib/python3.10/site-packages/kawaii_player/mpv_bak.py", line 366, in _handle_func
func = getattr(backend, name)
File "/usr/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__
func = self.__getitem__(name)
File "/usr/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/libmpv.so.2: undefined symbol: mpv_detach_destroy
ldconfig -p | grep libmpv
libmpv.so.2 (libc6,x86-64) => /usr/lib/libmpv.so.2
libmpv.so (libc6,x86-64) => /usr/lib/libmpv.so

linuxmint/hypnotix#254

FIX prebuffer next song

currently there is a gap in playback between songs from youtube
kawaii should prebuffer the playlist to X songs/x GB/x minutes of playback

Having dependencies problem on Maui Linux

I got this error:

The following packages have unmet dependencies: python3-pyqt5.qtwebkit : Depends: python3-pyqt5 (= 5.5.1+dfsg-3ubuntu4) but 5.5.1+dfsg-3+16.04+build2 is to be installed E: Unable to correct problems, you have held broken packages.

trying to install python3-pyqt5 alone tell me a newer version is already installed.

screenshot_20170317_064657

Kawaii-Player doesn't play nice (or work at all) with Ubuntu 20.04

I noticed this upon a fresh install of Ubuntu running the most recent Ubuntu version. It seems that Kawaii Player doesn't work well with 20.04.
Screenshot from 2020-05-06 19-44-41

That is all that is shown when I try and run any file. Doesn't have to be an .mkv,, mp4 also doesn't work.

EDIT: I forgot to mention, I installed this via .deb which in Ubuntu relies on the Ubuntu's flavor Software "store(?)".

shortcuts in input.conf

Shortcuts in input.conf in the directory ./config/kawaii-player/src/input.conf don't work
i am adding my own shortcuts to that file.

Suggestions and feedback on PC-To-PC casting feature

Recently few commits have been pushed implementing pc-to-pc casting feature. In this feature one can cast local file or playlist managed by kawaii-player from one computer to another computer.

Current Design:

  1. Currently this feature has been designed as master-slave protocol.

  2. In master-slave design, one PC running kawaii-player will be assigned as Master, while another PC running kawaii-player will be assigned as slave.

  3. Master can send audio/video and other playback commands. Slave can receive and play audio/video and execute playback commands as given by master.

  4. It is possible to setup username and password for slave. Authentication will be done via its web interface.

How to use this feature?

  1. Install kawaii-player from master branch on two computers let's say Master and Slave. Add few items in the library of Master and update its Video/Music section.

  2. On Master, go to preferences->Other.

    • Find 'PC To PC Casting' option. Set it to Master from No.
    • Then go to media server section, setup ip address and port number properly and start its media server.
    • Now select any playlist managed by kawaii-player (Here playlist means rightmost column which contains playback entries). Right click playlist, users will see new entry in its contextmenu named 'PC To PC Casting'. From this context menu first setup IP address of slave which master wants to control.
  3. Now repeat similar procedure on slave computer.

    • Enable slave mode on it (Preferences->Other->PC To PC Casting->Slave)
    • Start media server of slave
    • There won't be 'PC To PC Casting' contextmenu in playlist of slave, since its function is to receive commands from master.
  4. Once setup is complete on master and slave, select any playlist of master and from its contextmenu send either single item or entire playlist to slave. For thumbnails, enable 'Preferences->Appearance->List With Thumbnail' option on both.

  5. For controlling other playback activities on slave, enable its remote control functionality.

    • 'Preferences->Media Server->Turn On Remote Control' OR 'More->Turn On Remote Control'
    • Once remote control is enabled on slave, goto its web interface via browser and click 'R:Off' button to enable controlling via web interface and to see expanded controls.

Does it work with chromecast?
No, this feature won't work with chromecast, instead this feature will help users to create their own version of casting device. This feature intends to work as a free, open and cross-platform software solution to audio/video casting. Use any OS of your choice on master and install any OS on slave, and use any browser to control slave. No restrictions whatsoever on users.

Any other benefits apart from being free, open and cross-platform software solution to audio/video casting?

  • Users can get much better playback functionality on slave. As kawaii-player uses mpv/mplayer as a playback engine, there is almost nothing that mpv/mplayer can't play. Almost all popular audio/video formats can be played without any transcoding in original quality.
  • It is possible to exploit full range of options provided by mpv for playback on slave from master. For example: color correction, precise seeking, subtitle rendering, playback speed, taking screenshot (with or without subtitle) etc..
  • Almost zero load on master and minimal load on slave (only required for audio/video playback), as there is no on-the-fly video transcoding.
  • Users can cast entire playlist from master to slave along with thumbnails.

If possible consider providing suggestions and feedback on following points

  1. Currently master client application can send only single entry or entire playlist to slave. What more options are needed on master for controlling slave? mpv provides multiple options, it is almost impossible to provide all of them. But it is possible to implement subset of them. Now the question is what should be that subset, and if more controls are provided then how they should be exposed. Sending various commands to slave via contextmenu of master is tedious, so how should control panel for slave be designed on master for better experience.

  2. Instead of providing more control options on master and cluttering the interface, should more options be provided in web interface. Most users will use web interface (on mobiles) for controlling the slave, as it is convenient. So what control options should be accommodated in web interface apart from existing options?

If users/developers want to discuss any other point not mentioned above (including alternative to master-slave design or authentication) then they are welcome to do so.

Cannot start in kawaii-player in arch

I installed the kawaii-player from the AUR and its dependices and then when I tried to start it through terminal it spat out this and nothing happened I am using kde plasma in arch
/usr/lib/python3.10/site-packages/kawaii_player kawaii_player.py /home/jaiden ['/usr/lib/python3.10/site-packages/kawaii_player', '/usr/bin', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/home/jaiden/.local/lib/python3.10/site-packages', '/usr/lib/python3.10/site-packages'] --using pycurl-- QTWEBENGINE Using QTWEBENGINE /home/jaiden/.config/kawaii-player/tmp posix taglib --tagging-module-- DEBUG:OpenGL.platform.ctypesloader:Loaded libGL.so => libGL.so.1 <CDLL 'libGL.so.1', handle 556c6dd279f0 at 0x7f2dc619dc30> INFO:OpenGL.acceleratesupport:No OpenGL_accelerate module loaded: No module named 'OpenGL_accelerate' libvlc not detected posix openbox-kde 1920 1080 1080 1920 not enough values to unpack (expected 2, got 1) wrong values in config file INFO::kawaii_player::update_video_dict_criteria: {'anime': 'Anime', 'movies': 'Movies', 'tv shows': 'TV Shows', 'cartoons': 'Cartoons', 'others': 'Others'}::['Anime', 'Movies', 'TV Shows', 'Cartoons', 'Others']::--1808-- INFO:kawaii_player.kawaii_player:{'anime': 'Anime', 'movies': 'Movies', 'tv shows': 'TV Shows', 'cartoons': 'Cartoons', 'others': 'Others'}::['Anime', 'Movies', 'TV Shows', 'Cartoons', 'Others']::--1808-- QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout DEBUG::kawaii_player::main: #BROWSER_BACKEND=QTWEBENGINE,QTWEBKIT DEBUG:kawaii_player.kawaii_player:#BROWSER_BACKEND=QTWEBENGINE,QTWEBKIT DEBUG::kawaii_player::main: #GET_LIBRARY=pycurl,curl,wget DEBUG:kawaii_player.kawaii_player:#GET_LIBRARY=pycurl,curl,wget DEBUG::kawaii_player::main: #IMAGE_FIT_OPTION=0-9 DEBUG:kawaii_player.kawaii_player:#IMAGE_FIT_OPTION=0-9 DEBUG::kawaii_player::main: #YTDL_PATH=default,automatic DEBUG:kawaii_player.kawaii_player:#YTDL_PATH=default,automatic INFO::kawaii_player::main: mpv_conf: False INFO:kawaii_player.kawaii_player:mpv_conf: False DEBUG::kawaii_player::main: #THEME=default,system,dark DEBUG:kawaii_player.kawaii_player:#THEME=default,system,dark DEBUG::kawaii_player::main: #EXTRA_PLAYERS=vlc,kodi etc.. DEBUG:kawaii_player.kawaii_player:#EXTRA_PLAYERS=vlc,kodi etc.. DEBUG::kawaii_player::main: #GLOBAL_FONT=Name of Font DEBUG:kawaii_player.kawaii_player:#GLOBAL_FONT=Name of Font DEBUG::kawaii_player::main: #THUMBNAIL_TEXT_COLOR/LIST_TEXT_COLOR=red,green,blue,yellow, gray,white,black,cyan,magenta,darkgray,lightgray,darkred, darkblue,darkyellow,transparent DEBUG:kawaii_player.kawaii_player:#THUMBNAIL_TEXT_COLOR/LIST_TEXT_COLOR=red,green,blue,yellow, gray,white,black,cyan,magenta,darkgray,lightgray,darkred, darkblue,darkyellow,transparent DEBUG::kawaii_player::main: #For Dark Theme, use lightgray, if white color looks bright DEBUG:kawaii_player.kawaii_player:#For Dark Theme, use lightgray, if white color looks bright DEBUG::kawaii_player::main: Nimbus Sans14 DEBUG:kawaii_player.kawaii_player:Nimbus Sans14 DEBUG::stylesheet::apply_stylesheet: min-height-box=height: 39px DEBUG:kawaii_player.kawaii_player:min-height-box=height: 39px DEBUG::stylesheet::apply_stylesheet: min-height-box=height: 39px DEBUG:kawaii_player.kawaii_player:min-height-box=height: 39px DEBUG::stylesheet::apply_stylesheet: min-height-box=height: 39px DEBUG:kawaii_player.kawaii_player:min-height-box=height: 39px 0 0 plugins (5, 0, 0, 1) > (0, 0, 0, 0) Addons loading .... Addons loading .... Addons loading .... Addons loading .... <class 'str'> MyServer --addon-changed-- <class 'MyServer.MyServer'> MyServer --addon-changed-- MyServer select MyServer ['Login', 'Logout', 'Discover', 'History', 'newversion'] MyServer 0 ==site_index Video video -1 0 1 --dock-option--- 75497482 Event Filter Installed in new_tray_widget Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/kawaii_player/widgets/thumbnail.py", line 109, in resizeEvent self.setMaximumHeight(2.5*ui.height_allowed) TypeError: setMaximumHeight(self, int): argument 1 has unexpected type 'float' Aborted (core dumped)

How to play videos

Hello folks,

as simple as it sounds, I couldn't find how to play Video files with this application – I.e. playing in sense of playing a video file in the current folder like one does with mpv and such.

Best wishes, Sevu

Updated install instructions for Debian/Ubuntu

Rather than instructing people to use gdebi or another graphical front end, use apt-get -f install to install missing dependencies, like so:

dpkg -i kawaii-player.deb && apt-get -f install

This is why the -f flag to apt-get install exists.

Cython.Compiler.Errors.CompileError: mpv.pyx

Hey, I'm on fedora and I run into this issue when running python3 setup.py sdist

full output:

[1/1] Cythonizing mpv.pyx
warning: mpv.pyx:765:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See cython/cython#4310

Error compiling Cython file:

...
assert self._ctx
cdef uint64_t name = <uint64_t>id(self)
self.callback = callback
self.callbackthread.set(callback)
with nogil:
mpv_set_wakeup_callback(self._ctx, _c_callback, <void*>name)
^

mpv.pyx:681:47: Cannot assign type 'void (void ) except * nogil' to 'void ()(void *) noexcept'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (void *) except * nogil'.

Error compiling Cython file:

...
else:
raise PyMPVError("Unknown api_type %r" % api_type)

    if opengl_init_params is not None:
        self._get_proc_address = opengl_init_params["get_proc_address"]
        gl_params.get_proc_address = &_c_getprocaddress
                                     ^

mpv.pyx:866:41: Cannot assign type 'void ()(void *, const char *) except? NULL nogil' to 'void ()(void *, const char *) noexcept'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void *(void *, const char *) except? NULL nogil'.

Error compiling Cython file:

...

    return RenderFrameInfo()._from_struct(&info)

def set_update_callback(self, cb):
    with nogil:
        mpv_render_context_set_update_callback(self._ctx, &_c_updatecb, <void *>cb)
                                                          ^

mpv.pyx:945:62: Cannot assign type 'void (*)(void *) except * nogil' to 'mpv_render_update_fn'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (void *) except * nogil'.
Traceback (most recent call last):
File "/home/asher/pympv/setup.py", line 57, in
extensions = cythonize(extensions, force=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
cythonize_one(*args)
File "/usr/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: mpv.pyx

[Feature request]: External audio

The Russian anime community has a terrible disease: it does not like to attach sound tracks inside the container.

  • It would be nice to add an external soundtrack selection

  • It would be ideal to pick up automatically, setting the path by mask
    ./{LANG Sound}/{DUBER}/{episode regex}

  • I can help, but have no experience in python

  • It can be done by addon?

Can't close program

On openSUSE Tumbleweed, it remains running even after closing the main window.
Is there a hidden "quit" button elsewhere?

[Feature request]: Larger icon

Just a minor issue: kawaii-player/tray.png is used as desktop icon, but being just 48x48 it comes out either tiny or grainy on larger resolutions.

Would it be possible to have a bigger one or better yet a svg icon?

torrent support - broken python bindings

[matthias@cosmos kawaii-player]$ kawaii-player 
/usr/share/kawaii-player kawaii_player.py /home/matthias/Documents/makepkg/kawaii-player
['/usr/share/kawaii-player', '/usr/share/kawaii-player', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/lib/python3.6/site-packages']
--using default pycurl--
file_not_exists
Using QTWEBENGINE
/home/matthias/.config/kawaii-player/tmp posix
taglib --tagging-module--
No module named 'libtorrent'
posix /usr/share/xsessions/plasma
768 1366
303 --width--allowed--
Could not parse stylesheet of object 0x238c5d0
addons loading....
addons loading....
addons loading....
0 0
plugins
(1, 1, 1, 0) > (0, 0, 0, 0)
Addons loading ....
Addons loading ....
Addons loading ....
<class 'str'> Shoutcast --addon-changed--
<class 'Shoutcast.Shoutcast'> Shoutcast --addon-changed--
Shoutcast select
Shoutcast
['History', 'Genre']
Shoutcast 0 ==site_index
Video video
-1 0
1 --dock-option---
111149067
Event Filter Installed in new_tray_widget
Could not parse stylesheet of object 0x238c5d0
Could not parse stylesheet of object 0x23e02c0
[1, 1]
Could not parse stylesheet of object 0x2706b30


I get this message via OSD:

"python3 bindings for libtorrent are broken
Torrent Streaming feature will be disabled"

Which packages are probably meant?

How to open the application?

I'm on 64-bit Windows 10, I tried following installation but I'm SOOO confused. This was the last step I did, but I can't find any application (.exe) to run.
image

pip install error

Hello,

I'm trying to install player in Gentoo. I got all first steps running ok but pip install 'pkg_available_in_directory' (with package being kawaii-player-5.1.0.tar.gz) throws an error against missing mpv.c . here's the output of pip install command (as user) :

Processing ./kawaii-player-5.1.0.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pympv@ git+https://github.com/marcan/pympv.git (from kawaii-player==5.1.0)
  Cloning https://github.com/marcan/pympv.git to /tmp/pip-install-qksqkgq_/pympv_e37c3fe2e2f24bf28b38af4de2bd4a76
  Running command git clone --filter=blob:none --quiet https://github.com/marcan/pympv.git /tmp/pip-install-qksqkgq_/pympv_e37c3fe2e2f24bf28b38af4de2bd4a76
  Resolved https://github.com/marcan/pympv.git to commit a971cf477348f1188b0433b250a0aa513eb4db08
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting PyQt5 (from kawaii-player==5.1.0)
  Using cached PyQt5-5.15.9-cp37-abi3-manylinux_2_17_x86_64.whl (8.4 MB)
Collecting pycurl (from kawaii-player==5.1.0)
  Using cached pycurl-7.45.2-cp311-cp311-linux_x86_64.whl
Collecting bs4 (from kawaii-player==5.1.0)
  Using cached bs4-0.0.1-py3-none-any.whl
Collecting Pillow (from kawaii-player==5.1.0)
  Obtaining dependency information for Pillow from https://files.pythonhosted.org/packages/16/89/818fa238e37a47a29bb8495ca2cafdd514599a89f19ada7916348a74b5f9/Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata
  Using cached Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (9.5 kB)
Collecting mutagen (from kawaii-player==5.1.0)
  Using cached mutagen-1.46.0-py3-none-any.whl (193 kB)
Collecting lxml (from kawaii-player==5.1.0)
  Obtaining dependency information for lxml from https://files.pythonhosted.org/packages/ed/62/ffc30348ae141f69f9f23b65ba769db7ca209856c9a9b3406279e0ea24de/lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl.metadata
  Using cached lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (3.8 kB)
Collecting youtube-dl (from kawaii-player==5.1.0)
  Using cached youtube_dl-2021.12.17-py2.py3-none-any.whl (1.9 MB)
Collecting certifi (from kawaii-player==5.1.0)
  Using cached certifi-2023.5.7-py3-none-any.whl (156 kB)
Collecting PyQtWebEngine (from kawaii-player==5.1.0)
  Using cached PyQtWebEngine-5.15.6-cp37-abi3-manylinux1_x86_64.whl (230 kB)
Collecting PyOpenGL (from kawaii-player==5.1.0)
  Obtaining dependency information for PyOpenGL from https://files.pythonhosted.org/packages/99/48/00e31747821d3fc56faddd00a4725454d1e694a8b67d715cf20f531506a5/PyOpenGL-3.1.7-py3-none-any.whl.metadata
  Using cached PyOpenGL-3.1.7-py3-none-any.whl.metadata (3.2 kB)
Collecting beautifulsoup4 (from bs4->kawaii-player==5.1.0)
  Using cached beautifulsoup4-4.12.2-py3-none-any.whl (142 kB)
Collecting PyQt5-sip<13,>=12.11 (from PyQt5->kawaii-player==5.1.0)
  Using cached PyQt5_sip-12.12.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl (371 kB)
Collecting PyQt5-Qt5>=5.15.2 (from PyQt5->kawaii-player==5.1.0)
  Using cached PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (59.9 MB)
Collecting PyQtWebEngine-Qt5>=5.15.0 (from PyQtWebEngine->kawaii-player==5.1.0)
  Using cached PyQtWebEngine_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (67.5 MB)
Collecting soupsieve>1.2 (from beautifulsoup4->bs4->kawaii-player==5.1.0)
  Using cached soupsieve-2.4.1-py3-none-any.whl (36 kB)
Using cached lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl (7.9 MB)
Using cached Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB)
Using cached PyOpenGL-3.1.7-py3-none-any.whl (2.4 MB)
Building wheels for collected packages: kawaii-player, pympv
  Building wheel for kawaii-player (pyproject.toml) ... done
  Created wheel for kawaii-player: filename=kawaii_player-5.1.0-py3-none-any.whl size=907228 sha256=b328cc7e9cc016bc592458e7ca8830457ad45539bcde20d2ab0d3f9cf53e8fc9
  Stored in directory: /home/jack/.cache/pip/wheels/93/c5/10/388c28206f1cd1b961afcfa8208123a340166887cf094d9de4
  Building wheel for pympv (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for pympv (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [10 lines of output]
      running bdist_wheel
      running build
      running build_ext
      building 'mpv' extension
      creating build
      creating build/temp.linux-x86_64-cpython-311
      x86_64-pc-linux-gnu-gcc -Wsign-compare -DNDEBUG -fPIC -I/var/src/kawaii-player/pyenv/include -I/usr/include/python3.11 -c mpv.c -o build/temp.linux-x86_64-cpython-311/mpv.o
      cc1: erreur fatale: mpv.c : Aucun fichier ou dossier de ce type
      compilation terminée.
      error: command '/usr/bin/x86_64-pc-linux-gnu-gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pympv
Successfully built kawaii-player
Failed to build pympv
ERROR: Could not build wheels for pympv, which is required to install pyproject.toml-based projects

mpv is installed via my package manager, I don't understant why it needs mpv.c file. Do I need to get it from sources?
What am I missing?
Thanks for your kind help.

Message "restart player to apply settings" keep showing up

First, great work! 👍 I'm using Kawaii-player in Debian Testing with KDE, changed theme to system(Breeze) and now every time KP starts I get restart player to apply settings message even though theme's already being used. Is there any way to fix that?

minor bit in readme

The 1st & easiest choice for ubuntu 16.04 and newer & some debian would be to just install with apt as it resolves dependencies . (- apt, not apt-get.

Cannot Access From Outside Network on ubuntu 22.04

Debugging:

209.14.71.80 - - [19/Jul/2023 06:38:12] code 400, message Bad request syntax ('\x16\x03\x01\x02\x00\x01\x00\x01ü\x03\x03lk\\èõ\x87')
209.14.71.80 - - [19/Jul/2023 06:38:12] "ülk\èõ" 400 -
209.14.71.80 - - [19/Jul/2023 06:42:41] code 400, message Bad request version ('\x00\x02\x01\x00ÿ\x01\x00\x01\x00Di\x00\x05\x00\x03\x02h2\x00-\x00\x02\x01\x01\x00#\x00\x00\x00\x05\x00\x05\x01\x00\x00\x00\x00\x00')
^Æü$Þ FGeËíø3âW- [19/Jul/2023 06:42:41] "üí¥`:½¦
 -àW?Ð2³Ë ?þ1¼òÞò!ÝØÌåû° À+À/À,À0̨̩ÀÀºº
                                         ÿDih2-#" 400 -
209.14.71.80 - - [19/Jul/2023 06:42:41] code 400, message Bad request version ('\x02h2\x08http/1.1\x00')
209.14.71.80 - - [19/Jul/2023 06:42:41] "üc1P.F?
î
 ì ÑÅK§ Sc.îÿ$ï,(ÇÌuA:á
                       T(ã°9ï úúÀ+À/À,À0̨̩ÀÀ::-Dih2
                                                     #
                                                      http/1.1" 400 -

Please Help, why dont work. i use arch linux

['/usr/lib/python3.11/site-packages/kawaii_player', '/usr/bin', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/usr/lib/python3.11/site-packages']
--using default pycurl--
Traceback (most recent call last):
File "/sbin/kawaii-player-console", line 33, in
sys.exit(load_entry_point('kawaii-player==5.0.0', 'console_scripts', 'kawaii-player-console')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/sbin/kawaii-player-console", line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/metadata/init.py", line 202, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/usr/lib/python3.11/site-packages/kawaii_player/kawaii_player.py", line 93, in
from guisignals import GUISignals
File "/usr/lib/python3.11/site-packages/kawaii_player/guisignals.py", line 27, in
from settings_widget import LoginPCToPC
File "/usr/lib/python3.11/site-packages/kawaii_player/settings_widget.py", line 32, in
from widgets.optionwidgets import QPushButtonExtra
File "/usr/lib/python3.11/site-packages/kawaii_player/widgets/optionwidgets.py", line 16, in
from mpv_bak import MPV
File "/usr/lib/python3.11/site-packages/kawaii_player/mpv_bak.py", line 409, in
_handle_func('mpv_detach_destroy', [], None, errcheck=None)
File "/usr/lib/python3.11/site-packages/kawaii_player/mpv_bak.py", line 366, in _handle_func
func = getattr(backend, name)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ctypes/init.py", line 389, in getattr
func = self.getitem(name)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ctypes/init.py", line 394, in getitem
func = self._FuncPtr((name_or_ordinal, self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: /usr/lib/libmpv.so.2: undefined symbol: mpv_detach_destroy

Other(than English)Language support

I've noticed there's no way to change the language settings to other than English, and think it'd be a great addition and improvement in an already great project such as this one. I can help with Spanish, just not coding because I'm not coder but translate text strings only; settings, dialog boxes messages and stuff like that which don't require knowing how to code to do it. This might be done using poedit or some other software.

Unable to launch/start kawaii-player

I installed kawaii-player via GDebi (kawaii-player-4.2.0-1.deb)
OS: ParrotSec v4.9
mpv & libmpv version: mpv (0.32.0-1) unstable
python-mpv version: python-mpv (0.4.6-1) unstable

Additionally installs:
freeglut3 libboost-python1.67.0 libmpv-dev libqt5opengl5 python-pip-whl python3-dbus.mainloop.pyqt5 python3-libtorrent python3-opengl python3-pip python3-pyqt5.qtopengl python3-pyqt5.qtwebkit python3-taglib python3-wheel

this is the output when i try execute kawaii-player in the terminal:

taglib --tagging-module--
DEBUG:OpenGL.platform.ctypesloader:Loaded libGL.so => libGL.so.1 <CDLL 'libGL.so.1', handle 2d9b890 at 0x7f2ee8912ee0>
INFO:OpenGL.acceleratesupport:No OpenGL_accelerate module loaded: No module named 'OpenGL_accelerate'
posix mate
1280 800
800 1280
not enough values to unpack (expected 2, got 1) wrong values in config file
/usr/share/kawaii-player/kawaii_player.py:595: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.text.setMaximumHeight(self.height_allowed+50)
/usr/share/kawaii-player/kawaii_player.py:597: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.label.setMaximumHeight(self.height_allowed)
/usr/share/kawaii-player/kawaii_player.py:598: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.label.setMinimumHeight(self.height_allowed)
/usr/share/kawaii-player/kawaii_player.py:601: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.cover_label.setMaximumHeight(self.height_allowed+50)
/usr/share/kawaii-player/kawaii_player.py:602: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.cover_label.setMinimumHeight(self.height_allowed)
/usr/share/kawaii-player/kawaii_player.py:611: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.label_new.setMaximumHeight(2.5*self.height_allowed)
INFO::kawaii_player::update_video_dict_criteria: {'anime': 'Anime', 'movies': 'Movies', 'tv shows': 'TV Shows', 'cartoons': 'Cartoons', 'others': 'Others'}::['Anime', 'Movies', 'TV Shows', 'Cartoons', 'Others']::--1808--
INFO:__main__:{'anime': 'Anime', 'movies': 'Movies', 'tv shows': 'TV Shows', 'cartoons': 'Cartoons', 'others': 'Others'}::['Anime', 'Movies', 'TV Shows', 'Cartoons', 'Others']::--1808--
QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout
QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout
QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout
QLayout: Attempting to add QLayout "" to ExtraToolBar "frame_extra_toolbar", which already has a layout
[1023, 28, 337, 226]
[454, 29, 910, 340] --music--mode--dimension--set--
best ----quality---
4 --site-index--
0 --addon-index--
Search --option--
0 --option-index--
  -------
0 --name-index--
0 --episode-index--
INFO::kawaii_player::main: [4, 0, 0, 0, 0]
INFO:__main__:[4, 0, 0, 0, 0]
INFO::kawaii_player::main: [0, 0, 0]
INFO:__main__:[0, 0, 0]
0 --video-aspect--
DEBUG::kawaii_player::main: fs=False
DEBUG:__main__:fs=False
DEBUG::kawaii_player::main: #BROWSER_BACKEND=QTWEBENGINE,QTWEBKIT
DEBUG:__main__:#BROWSER_BACKEND=QTWEBENGINE,QTWEBKIT
DEBUG::kawaii_player::main: #GET_LIBRARY=pycurl,curl,wget
DEBUG:__main__:#GET_LIBRARY=pycurl,curl,wget
DEBUG::kawaii_player::main: #IMAGE_FIT_OPTION=0-9
DEBUG:__main__:#IMAGE_FIT_OPTION=0-9
DEBUG::kawaii_player::main: #YTDL_PATH=default,automatic
DEBUG:__main__:#YTDL_PATH=default,automatic
INFO::kawaii_player::main: mpv_conf: False
INFO:__main__:mpv_conf: False
DEBUG::kawaii_player::main: #THEME=default,system,dark
DEBUG:__main__:#THEME=default,system,dark
DEBUG::kawaii_player::main: #EXTRA_PLAYERS=vlc,kodi etc..
DEBUG:__main__:#EXTRA_PLAYERS=vlc,kodi etc..
DEBUG::kawaii_player::main: #GLOBAL_FONT=Name of Font
DEBUG:__main__:#GLOBAL_FONT=Name of Font
DEBUG::kawaii_player::main: #THUMBNAIL_TEXT_COLOR/LIST_TEXT_COLOR=red,green,blue,yellow, gray,white,black,cyan,magenta,darkgray,lightgray,darkred, darkblue,darkyellow,transparent
DEBUG:__main__:#THUMBNAIL_TEXT_COLOR/LIST_TEXT_COLOR=red,green,blue,yellow, gray,white,black,cyan,magenta,darkgray,lightgray,darkred, darkblue,darkyellow,transparent
DEBUG::kawaii_player::main: #For Dark Theme, use lightgray, if white color looks bright
DEBUG:__main__:#For Dark Theme, use lightgray, if white color looks bright
DEBUG::kawaii_player::main: DejaVu Sans14
DEBUG:__main__:DejaVu Sans14
DEBUG::stylesheet::apply_stylesheet: min-height-box=height: 29px
DEBUG:__main__:min-height-box=height: 29px
DEBUG::stylesheet::apply_stylesheet: min-height-box=height: 29px
DEBUG:__main__:min-height-box=height: 29px
DEBUG::stylesheet::apply_stylesheet: min-height-box=height: 29px
DEBUG:__main__:min-height-box=height: 29px
0 0
plugins
<class 'str'> MyServer --addon-changed--
<class 'MyServer.MyServer'> MyServer --addon-changed--
MyServer select
MyServer
['Login', 'Logout', 'Discover', 'History', 'newversion']
MyServer 4 ==site_index
0 2
0 --dock-option---
65011718
Event Filter Installed in new_tray_widget
/usr/share/kawaii-player/kawaii_player.py:2029: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.text.setMaximumHeight(self.height_allowed+50)
/usr/share/kawaii-player/kawaii_player.py:2031: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.label.setMaximumHeight(self.height_allowed)
/usr/share/kawaii-player/kawaii_player.py:2032: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.label.setMinimumHeight(self.height_allowed)
/usr/share/kawaii-player/kawaii_player.py:2035: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.cover_label.setMaximumHeight(self.height_allowed+50)
/usr/share/kawaii-player/kawaii_player.py:2036: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.cover_label.setMinimumHeight(self.height_allowed)
/usr/share/kawaii-player/kawaii_player.py:2044: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.label_new.setMaximumHeight(2.5*self.height_allowed)
[0, 0]
not enough values to unpack (expected 2, got 1) wrong values in config file
Traceback (most recent call last):
  File "/usr/share/kawaii-player/kawaii_player.py", line 14944, in <module>
    main()
  File "/usr/share/kawaii-player/kawaii_player.py", line 14800, in main
    ui.setup_opengl_widget(app)
  File "/usr/share/kawaii-player/kawaii_player.py", line 13337, in setup_opengl_widget
    self.tab_5 = MpvOpenglWidget(MainWindow, self, logger, TMPDIR, libmpv_api, app)
  File "/usr/share/kawaii-player/mpv_opengl.py", line 349, in __init__
    self.init_opengl_render()
  File "/usr/share/kawaii-player/mpv_opengl.py", line 462, in init_opengl_render
    self.mpv = mpv.Context()
AttributeError: module 'mpv' has no attribute 'Context'

$DESKTOP_SESSION not set resulting in "AttributeError: 'NoneType' object has no attribute 'lower'"

$DESKTOP_SESSION isn't set within my environment, resulting in the error:

File "/usr/share/kawaii-player/stylesheet.py", line 13, in init
desktop_session = desktop_session.lower()
AttributeError: 'NoneType' object has no attribute 'lower'

Temporarily bypassed by removing the if/else line 11-15, replacing it with desktop_session = 'lxde' (create a default case if NoneType).

Distro: Arch
wm: i3

ADD sponsorblock to block ads

Sponsorblock will filter out those nasty youtube ads in the browser (if it uses a chromium or firefox engine)
..and also for mpv

Don't require QT5

I'm planning to use the web interface only, and so, don't need the GUI features. Is there a way to just load up a TUI or web interface?

Support for the Universal Playlist Format?

I just found out about this player, good work! I like many of your ideas, especially about having a playlist you can access from anywhere, which is something I've been working on too. I wanted to show you what I developed just to see if you'd have any interest in supporting it. It's a playlist format that's designed to be portable across computers and even across services, without needing to move the actual files.

The spec is here, right now it's geared towards audio, but there's no reason why it can't be used for video as well:

http://universalplaylist.stavros.io/

Thanks!

server available in mobile browser, but seems to serve only 127.0.0.1: urls

Hi,
I just did a fresh install via .deb.
Most stuff just works! Great job!

But - when I access the media server from my mobile phone, there is something odd. See this screenshot below. When I downloaded the m3u playlist, all urls in there (on the phone!) seemed to point to 127.0.0.1: (see second screenshot, after opening that url)

I accessed the media server via the local network address. Is this intended behavior, e.g. always serve 127.0.0.1: addresses? That can't be right ^^

image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.