Code Monkey home page Code Monkey logo

hui-mcu-logger's Introduction

HUI/MCU Logger

A simple C++ console application that translates and logs the HUI and Mackie Control protocol output of your DAW. With it, you can monitor the messages your DAW sends to a connected Mackie Control or HUI device.

I'm developing this utility to help solve a specific circuit optimization problem in my DIY control surface project, the MCon. More information about this project is available at https://martzsoundandmusic.com/project-mcon-overview/.

For this application to be useful to you, you must either have both an MCU and HUI connected to your DAW (yikes) or be running emulations of them. I have developed emulations of both in Max/MSP. If you'd like to use them, they are available to download here and here.

This utility connects to both protocols simultaneously, as the final MCon will. The purpose of this tool is to allow me to more clearly identify how DAWs group their output messages in these protocols, which will allow me to make informed decisions on how best to optimize my demultiplexing circuits. Therefore, it may skip handling messages which aren't relevant to LED, display, or motor output.


Getting Started

  1. Use Git to clone the repository:

git clone --recurse-submodules https://github.com/theMartzSound/HUI-MCU-Logger.git

  1. Install Boost library 1.72.0, if you haven't already.
  2. In the file premake5.lua, add the path to your Boost directory to line 8.
  3. To build the solution and project, run the appropriate script in /scripts/ (currently, there is only one).

Note that this repository does make use of a submodule, so don't forget to use --recurse-submodules. If you do forget, your local repo will be missing files, and you'll receive compilation errors when you build.

The Plan

At the time of this writing, the logger simply prompts you to pick an input and output port for the emulated MCU and HUI devices, then logs each MIDI message in hexadecimal until you press Enter.

When development is finished, the application will translate and log the messages in plain English. The point of the tool is to allow me to more clearly identify how these protocols group their output messages, which will allow me to make informed decisions on how best to optimize my output circuits.

Compatibility

  • Windows 64-bit with Visual Studio 2019 (in progress)

This is a very small, single-use app, so I'm probably only going to finish it on Windows. However, it's just a simple console app made with exclusively multi-platform libraries, so it shouldn't require much modification to build on macOS or Linux.

Libraries Used

hui-mcu-logger's People

Contributors

themartzsound avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.