GithubHelp home page GithubHelp logo

roguescholar / mpc-qt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rossy/mpc-qt

0.0 1.0 0.0 2.41 MB

Media Player Classic Qute Theater

License: GNU General Public License v2.0

C++ 96.42% Shell 0.49% Python 0.69% QMake 1.09% HTML 1.32%

mpc-qt's Introduction

Media Player Classic - Qute Theater

A clone of Media Player Classic reimplemented in Qt.

Screenshot

Media Player Classic - Home Cinema (mpc-hc) is considered by many to be the quintessential media player for the Windows desktop. Media Player Classic - Qute Theater (mpc-qt) aims to reproduce most of the interface and functionality of mpc-hc while using libmpv to play video instead of DirectShow.

Releases

There is currently no official build/release. Despite this, you may build it from source and determine if the experience from the current codebase is satisfactory to you. If not, please open an issue that may direct the developers in a helpful direction.

Compiling from source offers several advantages over pre-built releases, such as the ability to use the most current codebase instead of a snapshot of some earlier state. There could also be unofficial packages in some Linux distribution archives (e.g. Arch User Repository, FreshPorts) available for installation.

Features

Nearly everything that mpc-hc does. For the most part, unwritten portions relate to setting options and streaming from devices.

Improvements over MPC-HC

Multiple playlists: When you're watching shows on your backlog, load every show into separate playlists and still keep track of the last played file for each playlist. Finally you can eliminate the need to keep track of your progress in a spreadsheet, all while never leaving the comfort of your favorite media player.

Quick queuing: Out-of-order playback in the same style of xmms/qmmp. Got some compilation albums in a playlist, but want to hear only some rock tracks for a while? Now you can, without obliterating your playlist.

Playlist searching: Multi-threaded playlist searching, in the same style as other media players. Find the tracks you want, when you want them.

Screenshot templates: Take screenshots with a custom, sleek and stylized filename. Only include the information that you want.

Looped playback: Selectively show part of video/music tracks. Amazing, isn't it?

Custom metadata: Display custom metadata in the playlist window. Want to show the artist as well as the title, down to even the encoder used? Nothing is stopping you.

Upcoming features

Native filter-chain support: Comprehensive integration of mpv/ffmpeg's filter interface/library, right inside your media player.

Encoding support like VirtualDub: Churn out memes faster. No need to open a video editor when your media player can do your job for you.

Race Inspired Cosmetic Enhancements: In-app custom styling support.

Suggestions welcome.

Compiling

Prerequisites

You need git, make, qmake, the current Qt 5 Software Development Kit, as well as a recent version of libarchive and version 0.29.0 or newer of libmpv with the accompanying development headers for both libraries installed on your system before you can attempt a build. On Debian-based Linux distributions (xUbuntu, Linux Mint, et al.) you can usually install all of these with this one shell command:

sudo apt -y install git libarchive-dev libmpv-dev libqt5x11extras5-dev make qmake qt5-default qtcreator qttools5-dev-tools

The major options of note available in the Makefile are --enable-libmpv-shared for shared library support (you want to use this unless you also built libmpv from source), and --enable-libarchive if you want to use mpc-qt as a comic book viewer.

I don't know sh..., I mean git

First ensure you have the prerequisites mentioned above, then open a terminal emulator and start by downloading a copy of this repository to your computer. This command will do that and make the new folder containing the code your working directory:

git clone https://github.com/RogueScholar/mpc-qt.git && cd mpc-qt

Then build with qmake and make.

qmake -makefile && make -j$(nproc)

If your terminal emulator returns to a command prompt without reporting any errors, you can install your spiffy new build with this command:

sudo make install

You're done! Take note of the folder displayed in your shell prompt though, because in the future, should you wish to compile another build with any improvements to the codebase since this one, you can return to it and update your copy of the source code with one simple command:

make clean && git pull origin master

The re-build process is done with the same qmake and make install commands as before.

I have compiler/linker errors

First, check the version of libmpv on your system; some package repositories (cough Debian cough) have an ancient version of mpv. On Debian-based Linux distributions this command will show you what you have and any other versions that are available:

apt-cache -a show libmpv-dev

If you see a version older than 0.29.0 listed as installed, you can either find another package compatible with your distribution of at least that version, or you can uninstall your current package and build libmpv yourself with these commands:

sudo apt purge libmpv libmpv-dev
git clone https://github.com/mpv-player/mpv-build.git && cd mpv-build
./use-ffmpeg-master
./use-libass-master
./use-mpv-master
sudo apt -y install devscripts equivs
rm -f mpv-build-deps\_\*\_\*.deb
mk-build-deps -s sudo -i
echo --enable-libmpv-shared > mpv_options
./update
./build -j$(nproc)
sudo ./install
sudo ldconfig

If you encountered no errors, the latest version of libmpv should now be installed to /usr/local.

Microsoft Windows build systems

While this program is meant for Linux systems, it is possible to compile it on Microsoft Windows computers with the MSYS2 edition of Qt Creator due to the cross-platform nature of the Qt 5 toolkit. MSVC is not supported, though. Also, the build process needs librsvg, ImageMagick and Inkscape to create the Windows .ico file for the desktop/Start menu shortcuts to display. Use pacman -Ss <package name> to find them.

mpc-qt can be compiled with a libmpv linked to MSYS2's ffmpeg libraries, or by using the prebuilt library from srsfckn.biz. To use the prebuilt library, after cloning this repository download libmpv from the mpv windows release page, and extract it somewhere. Place the libraries for your architechture from mpv-dev.7z (e.g. mpv-dev.7z/64) into mpv-dev/lib. Then place the include files from mpv-dev.7z (usually at mpv-dev.zip/include) into mpv-dev/include/mpv. Compile with the 64-bit Qt 5 framework as usual.

Bleeding-edge git master builds that use new features not yet in a release can usually be made with Shinchiro builds of libmpv. Unpack in the same manner as above.

mpc-qt's People

Contributors

cmdrkotori avatar albertosottile avatar lgbaldoni avatar chainikdn avatar frechdachs avatar rossy avatar mikhailnov avatar ahjolinna avatar fichtefoll avatar ilya87 avatar jbeich avatar joshuaptfan avatar roguescholar avatar shalokshalom avatar smarquespt avatar micrococo avatar

Watchers

James Cloos avatar

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.