movie-monad: Plays videos using GStreamer and GTK+.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Desktop video player that uses GStreamer and GTK+.


[Skip to Readme]

Properties

Versions 0.0.0.0, 0.0.1.0, 0.0.2.0, 0.0.2.0, 0.0.3.0, 0.0.4.0, 0.0.5.0
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), filepath (>=1.4 && <1.5), gi-gdk (>=3.0 && <3.1), gi-gdkpixbuf (>=2.0 && <2.1), gi-glib (>=2.0 && <2.1), gi-gobject (>=2.0 && <2.1), gi-gst (>=1.0 && <1.1), gi-gstvideo (>=1.0 && <1.1), gi-gtk (==3.0.18), haskell-gi-base (==0.20.4), MissingH (>=1.4 && <1.5), network-uri (>=2.6 && <2.7), process (>=1.4 && <1.5), system-fileio (>=0.3 && <0.4), system-filepath (>=0.4 && <0.5), text (>=1.2 && <1.3), time (>=1.6 && <1.7) [details]
License BSD-3-Clause
Copyright 2017 David Lettier
Author Lettier
Maintainer Lettier
Category Application , Multimedia , Multimedia Player , Video
Home page https://github.com/lettier/movie-monad
Source repo head: git clone https://github.com/lettier/movie-monad.git
Uploaded by lettier at 2017-12-12T10:48:18Z

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for movie-monad-0.0.2.0

[back to package description]

Movie Monad

Movie Monad

A desktop video player built with Haskell that uses GStreamer and GTK+.

Screenshots

GUI showing Sintel from the Blender Foundation

GUI showing Big Buck Bunny from the Blender Foundation

GUI showing the About window as seen on the Mac

Features

Keyboard Shortcuts

Tested On

Linux

Mac

Dependencies

Run

Build

Install & Run

Linux

AppImage

# Install GTK+ >= 3.10 (https://www.gtk.org/download/index.php)
# Install GStreamer >= 1.0 (https://gstreamer.freedesktop.org/download/)
# Install GStreamer Good Plug-ins (https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
# Install GStreamer Bad Plug-ins >= 1.8 (https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
# Visit https://github.com/lettier/movie-monad/releases
# * equals the current version
# Download the latest AppImage movie-monad-*-x86_64.AppImage
wget https://github.com/lettier/movie-monad/releases/download/*/movie-monad-*-x86_64.AppImage
chmod a+x movie-monad-*-x86_64.AppImage
./movie-monad-*-x86_64.AppImage
# If you would like to install the AppImage, you can run the following
cd
wget "https://raw.githubusercontent.com/lettier/movie-monad/master/packaging/linux/movie-monad-install.sh" -O "movie-monad-install.sh"
chmod +x "movie-monad-install.sh"
./movie-monad-install.sh

Mac

# Install Homebrew (https://brew.sh/#install)
cd ~/Downloads
brew update && brew upgrade
brew install git
git clone https://github.com/lettier/movie-monad.git
cd movie-monad
brew cask install haskell-platform
brew install pkg-config libffi libav libsvg librsvg libogg libvorbis openh264 theora \
  gobject-introspection cairo gdk-pixbuf gsettings-desktop-schemas gtk+3 gtk-mac-integration \
  gstreamer gst-libav gst-plugins-base gst-plugins-good
brew install --with-gtk+3 gst-plugins-bad
stack setup
stack install hsc2hs
stack install
export PATH=$PATH:"$HOME/.local/bin/"
movie-monad

Hackage

# Install GObject Introspection (https://wiki.gnome.org/action/show/Projects/GObjectIntrospection)
# Install GTK+ >= 3.10 (https://www.gtk.org/download/index.php)
# Install GStreamer >= 1.0 (https://gstreamer.freedesktop.org/download/)
# Install GStreamer Good Plug-ins (https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
# Install GStreamer Bad Plug-ins >= 1.8 (https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
# Install Cabal, GHC == 8.0.2 (https://www.haskell.org/platform/prior.html)
# Install Cabal Install (https://www.haskell.org/platform/prior.html)
cabal install movie-monad
movie-monad

GitHub

# Install GObject Introspection (https://wiki.gnome.org/action/show/Projects/GObjectIntrospection)
# Install GTK+ >= 3.10 (https://www.gtk.org/download/index.php)
# Install GStreamer >= 1.0 (https://gstreamer.freedesktop.org/download/)
# Install GStreamer Good Plug-ins (https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
# Install GStreamer Bad Plug-ins >= 1.8 (https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
# Install Git (https://git-scm.com/downloads)
# Install GNU Make (https://www.gnu.org/software/make/)
# Install Haskell, GHC == 8.0.2 (https://www.haskell.org/platform/prior.html)
# Install Haksell Stack (https://www.haskell.org/platform/)
git clone https://github.com/lettier/movie-monad.git
cd movie-monad/
make
make install
make run

Developer Documentation

Let's make a GTK Video Player with Haskell

License

See LICENSE.

(C) 2017 David Lettier
lettier.com