Coder Social home page Coder Social logo

qmp's Introduction

QMP

Quick Media Player - A JavaFX based media launcher for live settings

Introduction

The need for this came about when streaming church services during lockdown. It turned out surprisingly difficult to drag a media player into the right place on an extended desktop, maximise it to fill the screen, and get it playing, in a professional looking way.

So that's what QMP helps with: it lets you build a list of media clips you may want to play, and launch each with a double click at a pre-defined location, scaled to a given size, in a border-less window.

I've been developing on Windows, but being JavaFX-based, hopefully it will work on other platforms, either out of the box, or with potential to fix up without too much pain (certainly compared to other movie player projects I tried to use.

It was written to an urgent deadline, so is untidy here and there, and there is low-hanging fruit for some quick-fixes if anyone fancies it. (eg, Hacktoberfest!)

Usage

  • You'll need a Java Development Kit with JavaFX. My favourite is Azul's Zulu Java who offer builds for Windows, Linux and MacOS, in x86/x64/ARM flavours. I have been developing with Java 8 LTS. Or choose your favourite; in the end, I'd like a JavaFX capable javac on the command-line, in order to...

  • Clone the repo, and run compile.bat or compile.sh for the extremely simple compile script. I know I should learn to use gradle or some such, but really, the effort for such a simple compilation is currently beyond my stamina.

  • Use run.bat or run.sh to launch - again, very simple.

Main screen

Main Screenshot

  • You can manage playlists (new, load, save/as) from the File menu.
  • Add movies by dragging them from another window onto the list, or use the add button.
  • Re-order movies (just for your convenience) with the up/down buttons.
  • Remove movies from the list with the delete button.
  • Play movies by doubling clicking them, or highlighting them and clicking the play button.
  • The Play turns into pause while the movie plays, and turns into resume if you pause the movie.
  • Left-most button rewinds a movie at any time.
  • The stop button stops the movie and removes the movie window.

Settings

Main Screenshot Main Screenshot

  • Settings -> Screen Settings is the only option so far.

  • Fairly simple - you can manually set the location and size of the video playind window (when it appears), or you can autodetect monitors, and pick a full-screen one.

Issues to fix:

See the issues list, or create new ones!

  • Automatic check/install updates would be great, and fairly easy.
  • There are issues with playing MOVs created with Apple devices, which sometimes can be fixed by renaming them to MP4...
  • There are also codec issues with more recent Apple devices, which can be fixed with conversion through ffmpeg.
  • There are no tests. Because I don't really know how to do this in JavaFX, so I am only doing human testing. This would be good to learn.

Known Issues I'm not sure how to fix.

  • The interface on Windows supports dragging and dropping movies into the playlist - however this does not work if you run as administrator. Not sure exactly why you would, but perhaps this happens accidentally.

qmp's People

Contributors

weshinsley avatar

Watchers

 avatar  avatar

qmp's Issues

Crashes on deselection

Deselecting the movie (control+click) does not update buttons, and then clicking on buttons throws an exception

Invalid character issues

If a filename contains a '&', then adding the file causes invalid XML and everything goes hideously wrong the next time you start up QMP. Maybe base-64 on the filename, and strip the bad chars out of the human-readable name when writing the XML

Movie playing time

Think about showing elapsed/to go time of a movie in some way. Possibly controllable... this isn't (so far) meant to be a fully featured media player, but could do this if it doesn't clutter the interface too much

Auto-updating

Something lightweight - pull NEWS.md from the public repo to see what the latest master version is. Shell to git pull and self-compile, since those dependencies already exist if you've got the repo so far.

Write README

And include in the readme that... drag and drop doesn't work if you run as administrator.
I will never get those 2 hours back.

Can scroll/click below the added items

You can stroll off the bottom of the list of files and reveal loads of empty lines, which you can click on, and it plays the last movie in the list. Shouldn't be able to do that

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.