macOS

MediaElch is build upon Qt. Qt itself requires macOS 10.12 or later and therefore MediaElch does as well.

Install XCode (e.g. through the Mac App Store) and Homebrew. Instead of XCode you can also just install the XCode Command Line Tools (open a Terminal and execute xcode-select --install).

Command Line Build

# [Optional] Install git (it should have already been installed by XCode)
brew install git

# Install tools and dependencies
brew install subversion qt media-info ffmpeg

# Clone MediaElch
git clone https://github.com/Komet/MediaElch.git && cd MediaElch
git submodule update --init

# Download necessary headers
svn checkout https://github.com/MediaArea/MediaInfoLib/trunk/Source/MediaInfoDLL
svn checkout https://github.com/MediaArea/ZenLib/trunk/Source/ZenLib

# Build MediaElch
mkdir build && cd build
qmake ..
make -j4

QtCreator Build

Download the Qt online installer. Run it and select the latest Qt version for installation (e.g. Qt 5.10.1). Check that following components are selected:

  • macOS

  • QtCreator

Download the MediaElch source code by clicking “Download” or using git:
git clone https://github.com/Komet/MediaElch.git && git submodule update --init.

You have to download ffmpeg for Windows to be able to create random screenshots of video files. After building MediaElch, place ffmpeg inside MediaElch.app/Contents/MacOS.

Other Libraries

  1. Install MediaInfo as it is required for MediaElch to get stream details.
    Install it using Homebrew: brew install media-info

  2. Download MediaInfoLib.
    Copy the folder Source/MediaInfoDLL to path/to/MediaElch/MediaInfoDLL

  3. Download ZenLib. Copy the folder Source/ZenLib to path/to/MediaElch/ZenLib

Build

Start QtCreator and open /path/to/MediaElch/MediaElch.pro.
Configure it as “Release” and click “Run” (Strg+R).

Troubleshooting (CMake Build)

Depending on your macOS version, you may need to set the used C++ standard library. See https://stackoverflow.com/questions/52502852/cmake-cant-find-stdc11-after-xcode-10-update

# Bash (command line)
export CXXFLAGS="-stdlib=libc++"
# Or in CMake
set(CMAKE_CXX_FLAGS "-stdlib=libc++")

Todo

Add build instructions using MacPorts and not only Homebrew.