Control-Surface | Arduino library for creating MIDI controllers

 by   tttapa C++ Version: 1.2.0 License: GPL-3.0

kandi X-RAY | Control-Surface Summary

kandi X-RAY | Control-Surface Summary

Control-Surface is a C++ library typically used in Internet of Things (IoT), Arduino applications. Control-Surface has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub.

This library turns your Arduino-compatible board into a MIDI control surface. Just connect up some push buttons, potentiometers, LEDs ... and declare them in your code. Multiple different MIDI interfaces are supported: MIDI over USB, Serial MIDI (e.g. 5-pin DIN MIDI), Debug MIDI (prints out the messages in a readable format, and allows you to input text based messages), AppleMIDI over WiFi or Ethernet, MIDI over Bluetooth LE (experimental). For MIDI output, you can use push buttons, toggle switches, potentiometers, faders, rotary encoders, etc. All digital inputs are debounced, and all analog inputs are filtered using digital filters and hysteresis. This results in high accuracy without noise, without introducing latency. These can be used to send MIDI notes, Control Changes, Pitch Bends, Program/Patch changes, etc. For MIDI input, you can use LEDs to display the state of different settings, to display the audio level of each channel (VU meters), the positions of knobs (V-Pot LED rings), etc. You can also add an OLED display (e.g. SSD1306) to display a nice overview of which channels are set to mute or solo, display the time cursor, VU meters, etc. Bitmaps with play, mute, solo, record buttons, and others are included. A large portion of the Mackie Control Universal protocol is implemented. All controls can be arranged in banks: e.g. if you have only 4 physical volume faders, you can add them to a bank, and then you can control 8 channels (or more) by changing the bank setting. Apart from banks and bank selectors, you can also add transposers to change the key of your notes, for example. In order to save some IO pins, the library natively supports Shift Registers (e.g. 74HC595) and multiplexers (e.g. 74HC4051 or 74HC4067). If you are using a Teensy 3.x, you can use it as a USB audio interface. Just add an I²S DAC (e.g. PCM5102) and 5 lines of code, and you can start playing audio through your Teensy. You can also add volume controls and VU meters for these audio connections. Thanks to the structure of the library, you can easily add your own MIDI or display elements, using some minimal, high level code. All low level stuff is completely reusable (e.g. all MIDI operations, debouncing switches, filtering analog inputs, and so on).
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              Control-Surface has a medium active ecosystem.
              It has 942 star(s) with 115 fork(s). There are 52 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 211 open issues and 236 have been closed. On average issues are closed in 11 days. There are 8 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of Control-Surface is 1.2.0

            kandi-Quality Quality

              Control-Surface has 0 bugs and 0 code smells.

            kandi-Security Security

              Control-Surface has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              Control-Surface code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              Control-Surface is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              Control-Surface releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 2422 lines of code, 111 functions and 14 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Control-Surface
            Get all kandi verified functions for this library.

            Control-Surface Key Features

            No Key Features are available at this moment for Control-Surface.

            Control-Surface Examples and Code Snippets

            No Code Snippets are available at this moment for Control-Surface.

            Community Discussions

            Trending Discussions on Internet of Things (IoT)

            QUESTION

            Display data from two json files in react native
            Asked 2020-May-17 at 23:55

            I have js files Dashboard and Adverts. I managed to get Dashboard to list the information in one json file (advertisers), but when clicking on an advertiser I want it to navigate to a separate page that will display some data (Say title and text) from the second json file (productadverts). I can't get it to work. Below is the code for the Dashboard and next for Adverts. Then the json files

            ...

            ANSWER

            Answered 2020-May-17 at 23:55

            The new object to get params in React Navigation 5 is:

            Source https://stackoverflow.com/questions/61859411

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install Control-Surface

            See the Getting Started page to get started using the library.

            Support

            The automatically generated Doxygen documentation for this library can be found here: Documentation Test coverage information can be found here: Code Coverage Arduino examples can be found here: Examples. Have a look at the modules for an overview of the features of the library, it's the best entry point for the documentation.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/tttapa/Control-Surface.git

          • CLI

            gh repo clone tttapa/Control-Surface

          • sshUrl

            git@github.com:tttapa/Control-Surface.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link