Kawaii Player Versions Save

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

v6.0.0-1

5 months ago
  • Update buiild/install process for kawaii-palyer to make it compatible with mpv opengl-render API. Please check updated installation instructions.
  • completely remove support for mpv opengl-cb API
  • Consolidate support for libvlc as an alternate backend and make it reliable for playback
  • add support for yt-dlp and deprecate youtube-dl
  • changes in web-ui
    • added button for casting url
    • allow changing playback engine from web-interface
  • make installation easier and performance robust of kawaii-player on raspberry-pi (4B+) devices
  • minor bug-fixes - please check the commit history

v5.0.0-1

3 years ago

Major features for this release

  • Added support for Raspberry-Pi 4+
  • Added support for libvlc as playback engine (mainly for raspberry-pi)
  • Added support for INPUT_IPC_SERVER for mpv binary (tested only on GNU/Linux and OSX)
  • One can change default config directory. Add new config directory path to ~/.config/kawaii-player/new_home.txt and restart application.

Deprecating

  • Deprecating Slave mode for mpv binary. Users should use mpv input ipc server. In other_options.txt set MPV_INPUT_IPC_SERVER=True.
  • Removing support for mpv binary on windows, since using input ipc server on windows is cumbersome. For Windows only libmpv will be supported from this release onwards.
  • opengl-cb api will be deprecated and no longer will be supported from now on. Users need to install pympv to use libmpv backend

For installation on raspberry-pi see this repository

For list of all changes see this commit history

Note: libvlc support is mainly to support hardware accelerated video playback on RPi. All the controls on the application GUI won't work nicely with it. libvlc should be used in conjuction with web-ui for controlling player remotely.

v4.2.0-1

4 years ago

New Features

  1. When using libmpv, it is possible to show transparent widgets (ie playlist, titlelist, control frame etc..) directly on video. This property is available in Preferences->Appearance->Widgets on video.

  2. In dark theme, users can manually change color of background and control frame. Few combinations are available by default Preferences->Appearance->Try. Users can choose any color, but most likely only dark shade of any color may look good on this theme (along with bold fonts).

  3. Added Playlist Continue option in Preferences->Player

Bug fixes and modifications

  1. fixed: cache pause seconds option when using libmpv

  2. fixed: irregular global font size by fixing stylesheet

  3. It is possible to pass http headers as dictionary to ccurl function

  4. No need to restart the application whenever changing mpv config options from Preferences, when using libmpv. (However, changing some options like vo/ao may need restart)

Feature removal

  1. Setting external player from Preferences has been removed. Option is still available, but user will need to manually edit the config files.

  2. Music mode deprecated. As one can use detached video mode as music mode, the music mode somewhat became irrelevant. Moreover it became buggy and difficult to maintain over the time.

Sample Screenshot:

screenshot

v4.1.0-1

4 years ago

New Features

  • Thumbnail wall mode now applicable for both titlelist and playlist. (Thumbnail wall mode is lighter and faster compared to regular thumbnail grid mode, press F1 to switch to this mode).

  • Change number of thumbnails in each row using keys - and =

  • automatic resizing of thumbnails in thumbnail wall mode on widget resize

Bug fixes

  • Fixed: constant reappearance of cursor after fixed duration (in full-screen mode) on linux
  • Fixed: UI lock when libmpv could not generate thumbnails/preview due to corrupted file
  • Fixed: Automatic subtitle loading in pc-to-pc casting mode when using libmpv
  • Fixed: Maximum recursion depth limit error when window title is not available
  • Fixed: UnicodeEncodeError when sending playlist in pc-to-pc casting mode from master to slave

Modifications and improvements

  • Allow setting timeout in wait_for_property
  • Generate new tokens for every playlist, when sending items from master to slave in pc-to-pc casting mode
  • Allow adding external audio by using command add-external-audio. Add keyboard shortcut to this command in the Shortcuts settings.

Apart from above, multiple bug-fixes when using libmpv backend in gnu/linux, windows and mac.

For full list of changes see the commit history

Note: Distro based on Ubuntu 18.04 LTS, might not package latest libmpv. In such cases, users should use only mpv binary. Using old version of libmpv can be unstable. For older mpv versions (most probably 0.27 or earlier), users will need to change vo to opengl from gpu in the config settings box.

v4.0.0-1

5 years ago

New Features

  • Experimental support for directly using libmpv as backend, instead of binary.

  • Proper support added for macOS when using libmpv as backend, allowing embedding of video within application.

  • For generating preview and thumbnails, libmpv will be used by default.

  • Automatically prevent screen turn off or screensaver when playing video.

  • Removed variable_width_list property, since it is not required now. Application will automatically resize widgets when screen changes, on dual monitor/screen setup, even if application is placed on non-primary screen.

  • Added Device Pixel Ratio property in preferences. By default it is set to 1.0. For high resolution displays, it will be grater that 1.0. For retina displays it is 2.0. If video is appearing smaller then increase this value, when using libmpv as backend. If not sure, set it to 0.0, and application will try to adjust this value automatically.

  • Support added for both opengl-cb and opengl-render api of libmpv.

  • Accurate live preview and improved gapless playback of network streams when using libmpv

  • option added to switch on/off native fullscreen mode on macOS

  • For full list of changes see this commit history

New Dependencies

Names are given as per PyPI packages, which may change depending on the distro.

  • PyOpenGL

  • PyQtWebEngine (This is separate package now and won't be included in default PyQt5 installation)

Optional dependency

  • pympv (If user wants to use latest opengl-render api of libmpv)

Credits for integrating libmpv with kawaii-player

  • It started with this gist by github user cosven

  • python-mpv package, written by github user jaseg, with minor modifications. No need to install it separately. The main file with minor modifications is included in the kawaii-player.

  • pympv. This package is optional and needs to be installed from PyPI, if user wants to use latest rendering api of mpv.

Note: Those who want to use mpv/mplayer binaries, they can still use it. Support for binary mpv/mplayer won't be deprecated in the application. Advantage of using libmpv (apart from making cleaner code) is that, it will make application work better and uniform across all platforms (gnu/linux, windows and mac).

Note: Playing video within thumbnails, won't work with libmpv as of now. So this feature has been disabled for libmpv, but it works as usual when using mpv binary.

Note: No binary of kawaii-player will be included in this release. Users have to install the application from source. Binaries of older stable version v3.8 is available here.

v3.9.0-1

5 years ago
  • Experimental support added for macOS
  • Better global font resizing support, useful for large screens/monitors.
  • Better support added for dual monitors and large screens.
  • Added new option Variable Width List in Preferences->Appearance, which will allow various lists to resize themselves properly on dual-monitor setup, when kawaii-player placed on non-primary screen.
  • Various bugs fixed when using web based remote-control
  • Transparent cover will be used for posters in default theme
  • High quality thumbnails will be displayed on the fanart-widget, in dark and system theme.

Note: This release i.e. v3.9.0 won't include any binaries. Users have to build everything from source, as explained in the README.

Note: Binaries for earlier version i.e. 3.8.0 are available here (only for Ubuntu and Windows 10).

v3.8.0-1

5 years ago
  • Many issues fixed in system theme.

    system_theme

    Screenshot with Adwaita Dark Theme.

    About System Theme: Once System theme is selected, application can integrate itself properly with default theme of desktop.

    • Transparency issue of sidebar fixed.

    • Issue of MainWindow expanding beyond screen-width fixed

      Some tips on getting best out of system theme:

      • kawaii-player is qt based desktop application, hence theme settings may not apply in gtk based desktop. Therefore, in non-qt desktop environment (especially gtk based), use qt5ct (i.e. qt5 configuration tool) in order to control theme, fonts and other appearance issues of qt based applications. qt5ct is available in most of the gnu/linux distro which users can install using native package manager. There is no need for Windows 10 users to do this, system theme is working fine on it.

      • Depending on brightness of theme user may need to change color of fonts from settings (preferences) box. For dark system theme, most of default settings will work. But for light theme user may need to tweak some things especially font-colors.

  • Almost complete rewrite of code related to torrent streaming feature.

    • Torrent pieces will be prioritized for quick start.

    • Seeking within torrent stream fixed.

    • Added new small widget for showing torrent pieces information.

      This widget accepts few more text characters (+, - and *) as commands, which will show some more information on running torrents.

    • Can handle multiple torrents simultaneously.

    • No need to stop one torrent in order to play another one.

    • Completed torrents will seed automatically.

  • PC-To-PC Casting final touch

    image

  1. In above screenshot, user will find that there is slave control tab-box to the left. This tab won't be required from this release. Once user will toggle master/slave button to 'slave' available in extra-toolbar, it is possible to use regular buttons available in lowermost control frame to control slave. Apart from that, seek-slider of master will also be in sync with slave. Users can click on seek-slider of master to change seek position on slave.

  2. In PC-To-PC casting feature, one computer is assigned as master and other is assigned as slave, and one can cast videos from master to slave. In this release master/slave toggle feature has been added to the web-interface, to control casting activity from master to slave.

    • Once, user will open web-interface of master using any browser (either desktop or mobile), they will find master/slave toggle button (which will be seen after, clicking R:Off button). Users need to toggle master/slave button available in web-interface and set it to slave, to enable casting of videos from master computer to slave computer via web interface of master.

    • The same web interface will be utilized for controlling other playback activities of slave. In this case, all commands given via web interface will be routed via master computer to slave, hence users will notice some extra time delay. This delay can be small unnoticeable or noticeable depending on network congestion.

    • This setup is particularly useful, if master computer is used as media-server from which we want to cast audio/video/playlists to slave computers, using web interface of master.

  • Changes in some default settings.

    • Dark Theme is now default.

    • Thumbnails will be shown by default in list.

    • Live preview is ON by default.

  • Bug fixes and other changes

    • Few minor bugs fixed in offline mode.

    • Bug fixed when showing live preview of dropped video.

    • imp relaced with importlib for importing addons

    • Bug fixed when downloading m3u files from web-interface. Now m3u files won't auto-play inside browser.

  • sha256sum of uploaded packages

    • ec22745a93a19d373d01dc5b46d9575c833a454d41085005bd4b467e70ac52bb --> kawaii-player-3.8.0-1.tar.bz2

    • dda8e5199cb2900131c9dce9deb08b5dda2d47bcb7a042b606f9f1a2c4731689 --> kawaii-player-3.8.0-1.deb

    • 1a79faa79eeea4d64003da2f41f3fb04be06de068788d3ad3b9203db5dd83812 --> kawaii-player-3.8.0-1.windows10.x86_64-bin.7z

v3.7.1-1-beta

5 years ago
  • Last version 3.7.0 was released just few days back, but after that few more features have been added, which, I think, are far more entertaining and more or less complete the PC-To-PC casting feature. Hence, this quick beta-release has been made for testing purpose.

image

New Features:

  1. In above screenshot, user will find that there is slave control tab-box to the left. This tab won't be required from this release. Once user will toggle master/slave button to 'slave' available in extra-toolbar, it is possible to use regular buttons available in lowermost control frame to control slave. Apart from that, seek-slider of master will also be in sync with slave. Users can click on seek-slider of master to change seek position on slave.

  2. In PC-To-PC casting feature, one computer is assigned as master and other is assigned as slave, and one can cast videos from master to slave. In this release master/slave toggle feature has been added to the web-interface, to control casting activity from master to slave.

    • Once, user will open web-interface of master using any browser (either desktop or mobile), they will find master/slave toggle button (which will be seen after, clicking R:Off button). Users need to toggle master/slave button available in web-interface and set it to slave, to enable casting of videos from master computer to slave computer via web interface of master.

    • The same web interface will be utilized for controlling other playback activities of slave. In this case, all commands given via web interface will be routed via master computer to slave, hence users will notice some extra time delay. This delay can be small unnoticeable or noticeable depending on network congestion.

    • This setup is particularly useful, if master computer is used as media-server from which we want to cast audio/video/playlists to slave computers, using web interface of master.

Bug fixes

  1. Few minor bugs fixed in offline mode.

Note: As it is beta release, no binaries will be made available. Users have to build package from source. Binaries will be made available on next proper stable release.

Earlier stable v3.7.0 release with binaries is available here

v3.7.0-1

5 years ago

pc_to_pc

  • New Features:

    • Automatic creation of default fanart from original video source, if no fanart is selected/downloaded.

    • Added drag and drop support for fanart/posters. Now image file or image url can be dropped directly in video/music section, which will be then selected as background fanart or poster for selected Title.

    • Improved support for mplayer as backend. Most of the GUI controls will work with mplayer also.

    • Improved PC-To-PC casting support. For details on pc-to-pc casting refer this section

      • When casting video from master to slave, the fanart from master will also be sent to slave along with video.

      • All the controls available in Extra Toolbar can be used to control playback activity on slave from master. In the Extra Toolbar, users will get new Master/Slave Toggle button. Users can use this button to toggle playback control between master and slave. In above screenshot, this toggle button is shown at top right corner of Extra Toolbar.

      • New context menu has been added for automatic discovery of slaves, which are broadcasting themselves. Slaves can broadcast themselves by following, Preferences->Media Server->Broadcast Server.

  • Other Changes

    1. Complete rewrite of code related to ytdl support.

    2. Separate class created for GUISignals containing both signals and slots.

    3. Removed unnecessary bash scripts from source files.

v3.6.0-1

5 years ago

New Features

  1. Added new module Vinanti for managing session between master and slave in PC-To-PC casting mode. Vinanti, which has been developed recently, is highly modular async HTTP library for python without extra dependencies, which users can use in their own projects easily.

  2. Added new module tvdb-async, based on Vinanti for fetching metadata asynchronously from thetvdb.com. This module makes use of Levenshtein algorithm for better matching. It is also highly modular, and people can use it in their own projects.

  3. Added new control box to control slave from master in PC-To-PC casting mode. Currently it has only basic controls. Few more controls will be added to it in future. Users can access this control box via 'Preferences->Slave'. Users can use it if web based control is not working properly.

Bug-fixes and code clean-up

  • Removed multiple unnecessary local and global variables and lot of code cleaning to make way for new modules.

Future Roadmap

  1. Replace pycurl/curl/wget with Vinanti as main HTTP request library, which can simplify lot of design issues. It is difficult at the moment and may take time.

  2. Allow using Extra-Toolbar for controlling slave in PC-To-PC casting mode. Currently controls in extra toolbar can control only local playback. I'm thinking of providing a way to toggle use of extra-toolbar between local playback and playback on slave. This will allow master to have extremely fine grained control over plyback activity on slave.