Coder Social home page Coder Social logo

apc40-mode's Introduction

apc40-mode

========== By Christopher Albin Edmonds For more information visit http://www.tunecrew.com/ or mailto:[email protected] For copyright information please see the end of this file

========== apc40-mode is a simple Java utility to switch between the three firmware modes of the Akai APC40 MIDI Controller, as described at http://www.akaipro.com/apc40map and in http://www.akaipro.com/extras/product/apc40/APC40_Communications_Protocol_rev_1.pdf

It is currently Mac OS X only, and because Apple's Java implementation is broken with some aspects of javax.sound.midi, it requires the mmj libraries found here - http://www.humatic.de/htools/mmj.htm

To install the mmj libraries, download the package from http://www.humatic.de/webapps/php/download/pick.php?app=mmj and unzip mmj.zip. Copy libmmj.jnilib and mmj.jar into /Library/Java/Extensions/ and you're done.

To build apc40-mode from scratch, simply use "javac APC40Mode.java". A class file is included, however, so this shouldn't be necessary.

To use apc40-mode, cd to the directory where APC40Mode.class is located and invoke it with "java APC40Mode mode".

mode can be 0, 1 or 2, corresponding to the following modes:

0 - Generic Mode

1 - Ableton Live Mode

2 - Alternate Ableton Live Mode

Note that upon power-up, the APC40 enters Generic Mode. If you open Ableton Live with the APC40 powered and connected, and wait until you see the "red square" around the clips in Live, the APC40 will enter Ableton Live Mode, and will remain in this mode when you quit Live. (This will only occur if the APC40 is configured as a control surface in Live's preferences)

========== TO-DO

  • Make this work on Windows & Linux by using standard javax.sound.midi, and let application auto-detect platform to choose which library to use
  • Test on APC20 (does it have different modes too?)
  • Add comments to the code
  • Add usage message to the code
  • Convert DEBUG flag to input argument
  • Package mmj libraries, binary and source into one jar
  • Create GUI wrapper

========== Copyright 2013 Christopher Albin Edmonds

apc40-mode is dual-licensed. For non-commericial use, the GNU Lesser General Public License applies, as described in the following copying permission statement:

This file is part of apc40-mode.

apc40-mode is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

apc40-mode is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with apc40-mode. If not, see http://www.gnu.org/licenses/.

For commercial use, please contact the author for license terms.

apc40-mode's People

Contributors

tunecrew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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