GithubHelp home page GithubHelp logo

flueke / mesycontrol Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 5.42 MB

GUI and remote control for devices using the mesytec RC bus via MRC-1/MRCC

License: GNU General Public License v2.0

CMake 32.53% C 0.07% C++ 5.84% Shell 0.07% HTML 8.70% Python 51.22% Makefile 0.02% Batchfile 0.01% NSIS 1.47% Dockerfile 0.08%

mesycontrol's Introduction

mesycontrol - Remote control for mesytec NIM devices.

See https://mesytec.com/products/mesycontrol/mesycontrol.html for info and downloads.

Binary releases are available from https://mesytec.com/downloads/mesycontrol/ . This includes a precompiled mesycontrol_server binary for running the server on Raspberry Pi computers.

Installation

Either use the precompiled binaries from the mesytec website or build the software yourself according to the steps below.

Build requirements

These packages are required to build the server binary and install and run the mesycontrol_gui python package via pip:

  ca-certificates build-essential git cmake python3 python3-pip
  libboost-all-dev libprotobuf-dev protobuf-compiler libqt5widgets5

If you want to create the standalone binary distribution of the client software pyinstaller is needed: pip3 install pyinstaller

Build steps

mesycontrol uses cmake for the configuration and build steps. If building under windows msys2 is needed and -G"MSYS Makefiles" has to be added to the cmake command lines.

  • server
   git clone --recurse-submodules https://github.com/flueke/mesycontrol
   mkdir -p mesycontrol/build
   cd mesycontrol/build
   cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~/local/mesycontrol ..
   make -j install
  • client python package and gui
   git clone --recurse-submodules https://github.com/flueke/mesycontrol
   mkdir -p mesycontrol/build
   cd mesycontrol/build
   # The cmake step is required to generate a python file containing version information.
   cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~/local/mesycontrol ..
   cd ../src/client
   python3 setup.py generate_py_protobufs   # Generate python protbuf code.
   pip3 install --user src/client           # Install for the local user.

The above uses pip to fetch dependencies of the client package and install it for the local user. After the above steps mesycontrol_gui should be in your path and you should be able to import mesycontrol from python.

  • client binary/exe package

These commands build the server and - with the help of pyinstaller - a deployable binary package of the mesycontrol_gui client. These packages are stand-alone runnable as they contain the Qt and python .so/.dll files.

   pip3 install pyinstaller
   git clone --recurse-submodules https://github.com/flueke/mesycontrol
   mkdir -p mesycontrol/build
   cd mesycontrol/build
   cmake -DCMAKE_BUILD_TYPE=Release -DMESYCONTROL_BUILD_CLIENT=ON ..
   make -j package

mesycontrol's People

Contributors

anntzer avatar blink1073 avatar campagnola avatar fabioz avatar flueke avatar gpoulin avatar ibressler avatar jnevrly avatar kif avatar meganbkratz avatar pfctdayelise avatar termim avatar tfeldmann avatar zarch avatar

Stargazers

 avatar  avatar

Watchers

 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.