Versions |
0.0.0.0, 0.0.1.0, 0.0.2.0, 0.0.3.0, 0.0.4.0, 0.0.4.0, 0.0.5.0 |
Change log |
CHANGELOG.md |
Dependencies |
base (>=4.9 && <4.10), 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 (>=0.20 && <0.21), haskell-gi-base (==0.20.8), 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-31T11:53:36Z |
Movie Monad
A free and simple to use video player built with Haskell.
Screenshots
Linux
Mac
Features
- Local or Remote Video Playback
- Window Size Quick Select
- Responsive Window Resizing
- Fullscreen Mode
- Seek
- Play and Pause
- Volume
- Subtitles
- Disable
- List and Pick from the Available Languages
- Command-line Play
movie-monad ./path/to/video/file.mp4
movie-monad http://www.domain.tld/path/to/video/file.mp4
Keyboard Shortcuts
- Mute/Unmute
- Fullscreen/Windowed
- Show Controls
- Volume Up
- Volume Down
ArrowDown
AudioLowerVolume
- Seek Left
- Seek Right
- Play/Pause
Tested On
Linux
Mac
Dependencies
Run
Build
Install & Run
Linux
AppImage
Download & Run
# 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 Wget (https://www.gnu.org/software/wget/)
# Visit https://github.com/lettier/movie-monad/releases
# Download the latest AppImage movie-monad-0.0.4.0-x86_64.AppImage
wget https://github.com/lettier/movie-monad/releases/download/0.0.4.0/movie-monad-0.0.4.0-x86_64.AppImage
chmod a+x movie-monad-0.0.4.0-x86_64.AppImage
./movie-monad-0.0.4.0-x86_64.AppImage
Install
# 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 Wget (https://www.gnu.org/software/wget/)
wget "https://raw.githubusercontent.com/lettier/movie-monad/master/scripts/sh/install-app-image.sh" -O "movie-monad-install-app-image.sh"
chmod +x "movie-monad-install-app-image.sh"
./movie-monad-install-app-image.sh
cd
# Install Git (https://git-scm.com/downloads)
sudo pacman -S git
# Install Movie Monad from the AUR (https://aur.archlinux.org/packages/movie-monad/)
mkdir -p movie-monad-tmp
cd movie-monad-tmp
git clone https://aur.archlinux.org/movie-monad.git
cd movie-monad
makepkg -sic
cd
rm -rf movie-monad-tmp
movie-monad
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
# 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
# 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.
Copyright
(C) 2017 David Lettier
lettier.com