acmidiprotocol
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
| — | acmidiprotocol [2008/07/29 01:37] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | [[audiocommander|audiocommander' | ||
| + | If, for example, two devices have implemented this protocol, one can change the harmony or bpm at one device and the other device automatically changes its harmony/bpm to the new values. | ||
| + | |||
| + | This version can be used for plain C as well as Objective-C: | ||
| + | |||
| + | < | ||
| + | /* | ||
| + | | ||
| + | | ||
| + | * | ||
| + | | ||
| + | | ||
| + | * | ||
| + | | ||
| + | | ||
| + | | ||
| + | * | ||
| + | * | ||
| + | | ||
| + | | ||
| + | | ||
| + | * | ||
| + | */ | ||
| + | |||
| + | / | ||
| + | * Released under GNU General Public License | ||
| + | * http:// | ||
| + | | ||
| + | * This program is free software; you can redistribute it and/or modify it under the terms | ||
| + | * of the GNU General Public License as published by the Free Software Foundation | ||
| + | * | ||
| + | * YOU ARE ALLOWED TO COPY AND CHANGE | ||
| + | * BUT YOU MUST RELEASE THE SOURCE TOO (UNDER GNU GPL) IF YOU RELEASE YOUR PRODUCT | ||
| + | * YOU ARE NOT ALLOWED TO USE IT WITHIN PROPRIETARY CLOSED-SOURCE PROJECTS | ||
| + | */ | ||
| + | |||
| + | |||
| + | #ifdef __OBJC__ | ||
| + | #pragma mark Cocoa ACMidiProtocol | ||
| + | | ||
| + | #import < | ||
| + | |||
| + | @protocol ACMidiProcessing < | ||
| + | |||
| + | -(unsigned int)processMIDIMessage: | ||
| + | | ||
| + | | ||
| + | |||
| + | @end | ||
| + | |||
| + | #endif /* __OBJC__ */ | ||
| + | |||
| + | |||
| + | |||
| + | #ifndef _ACMIDIPROTOCOL_H | ||
| + | #define _ACMIDIPROTOCOL_H | ||
| + | |||
| + | |||
| + | |||
| + | // Protocol Version Number for future compatibily | ||
| + | #define ACMIDICTRLPROTOCOL_VERSION | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | // ***** CONTROLLER CHANGES ***** | ||
| + | // The CC's use unused entries from the official Midi Tables (ACMidiDefines.h) | ||
| + | // Controllers 14..31 undefined & general purpose | ||
| + | // Controllers 80..90 general purpose & undefined | ||
| + | // Controllers 102..119 undefined | ||
| + | #ifdef _DEBUG_C | ||
| + | #pragma mark - | ||
| + | #pragma mark ++ CONTROLLER ++ | ||
| + | #endif | ||
| + | |||
| + | // ** SENSORS / AIN ** | ||
| + | // These are the default CC numbers for sensory measures | ||
| + | // send: YES | ||
| + | // receive: NO | ||
| + | // forward: NO | ||
| + | #ifdef _DEBUG_C | ||
| + | #pragma mark Sensors / AIN | ||
| + | #endif | ||
| + | |||
| + | #define MIDI_CC_SENSOR_A | ||
| + | #define MIDI_CC_SENSOR_B | ||
| + | #define MIDI_CC_SENSOR_C | ||
| + | #define MIDI_CC_SENSOR_D | ||
| + | #define MIDI_CC_SENSOR_E | ||
| + | #define MIDI_CC_SENSOR_F | ||
| + | #define MIDI_CC_SENSOR_G | ||
| + | #define MIDI_CC_SENSOR_H | ||
| + | |||
| + | // ** HARMONY ** | ||
| + | // harmony & scale setting methods | ||
| + | // send: YES if input by HUI | ||
| + | // receive: YES | ||
| + | // forward: NO | ||
| + | #ifdef _DEBUG_C | ||
| + | #pragma mark Harmony | ||
| + | #endif | ||
| + | |||
| + | #define MIDI_CC_HARMONY_BASE | ||
| + | #define MIDI_CC_HARMONY_SCALE | ||
| + | #define MIDI_CC_HARMONY_BASE_LISTEN | ||
| + | #define MIDI_CC_HARMONY_SCALE_RELATIVE_PREV | ||
| + | #define MIDI_CC_HARMONY_SCALE_RELATIVE_NEXT | ||
| + | #define MIDI_CC_HARMONY_RANDOM | ||
| + | #define MIDI_CC_HARMONY_RANDOM_RELATIVE | ||
| + | |||
| + | #define MIDI_CC_HARMONY_DETECTION | ||
| + | |||
| + | // ** SCALES ** | ||
| + | // scale names | ||
| + | #ifdef _DEBUG_C | ||
| + | #pragma mark Scales | ||
| + | #endif | ||
| + | |||
| + | #define SCALE_NONE | ||
| + | #define SCALE_AEOLIAN | ||
| + | #define SCALE_AHABA_RABBA | ||
| + | #define SCALE_ALGERIAN | ||
| + | #define SCALE_ARABIAN | ||
| + | #define SCALE_AUGMENTED | ||
| + | #define SCALE_BLUES | ||
| + | #define SCALE_BLUES_MAJOR | ||
| + | #define SCALE_BLUES_MINOR | ||
| + | #define SCALE_BYZANTINE | ||
| + | #define SCALE_CHROMATIC | ||
| + | #define SCALE_DIATONIC | ||
| + | #define SCALE_DORIAN | ||
| + | #define SCALE_FULLTONE | ||
| + | #define SCALE_GIPSY_MINOR | ||
| + | #define SCALE_HARMONIC_DOUBLE | ||
| + | #define SCALE_HARMONIC_MINOR | ||
| + | #define SCALE_HUNGARIAN_MAJOR | ||
| + | #define SCALE_HUNGARIAN_MINOR | ||
| + | #define SCALE_HUNGARIAN_PERSIAN | ||
| + | #define SCALE_JAPANESE | ||
| + | #define SCALE_JAPANESE_DIMINISHED | ||
| + | #define SCALE_KUMOI | ||
| + | #define SCALE_LOCRIAN | ||
| + | #define SCALE_LYDIAN | ||
| + | #define SCALE_MAJOR | ||
| + | #define SCALE_MELODIC_MAJOR | ||
| + | #define SCALE_MELODIC_MINOR | ||
| + | #define SCALE_MINOR | ||
| + | #define SCALE_MI_SHEBERACH | ||
| + | #define SCALE_MIXOLYDIAN | ||
| + | #define SCALE_MOHAMMEDAN | ||
| + | #define SCALE_NEOPOLITAN_MAJOR | ||
| + | #define SCALE_NEOPOLITAN_MINOR | ||
| + | #define SCALE_ORIENTAL | ||
| + | #define SCALE_OVERTONE | ||
| + | #define SCALE_PELOG | ||
| + | #define SCALE_PENTATONIC | ||
| + | #define SCALE_PENTATONIC_BLUES | ||
| + | #define SCALE_PENTATONIC_MAJOR | ||
| + | #define SCALE_PENTATONIC_MINOR | ||
| + | #define SCALE_PERSIAN | ||
| + | #define SCALE_PHRYGIAN | ||
| + | #define SCALE_SPANISH | ||
| + | |||
| + | // indian scales | ||
| + | #define SCALE_INDIAN_ | ||
| + | #define SCALE_INDIAN_ | ||
| + | #define SCALE_INDIAN_BHAVAPRIYA | ||
| + | #define SCALE_INDIAN_DHATUVARDHANI | ||
| + | #define SCALE_INDIAN_HEMAVITI | ||
| + | #define SCALE_INDIAN_JHANKARADHVANI | ||
| + | #define SCALE_INDIAN_KAMAVARDHANI | ||
| + | #define SCALE_INDIAN_NAVANITAM | ||
| + | #define SCALE_INDIAN_NITIMATI | ||
| + | #define SCALE_INDIAN_RAGHUPRIYA | ||
| + | #define SCALE_INDIAN_RAMAPRIYA | ||
| + | #define SCALE_INDIAN_SALAGAM | ||
| + | #define SCALE_INDIAN_SANMUKHAPRIYA | ||
| + | #define SCALE_INDIAN_SUBHAPANTUVARALI | ||
| + | #define SCALE_INDIAN_SUVARNANGI | ||
| + | |||
| + | |||
| + | // scale-ID' | ||
| + | #define SCALE_ID_NONE | ||
| + | #define SCALE_ID_MAJOR | ||
| + | #define SCALE_ID_MINOR | ||
| + | #define SCALE_ID_HARMONIC_MINOR | ||
| + | #define SCALE_ID_BLUES_MINOR | ||
| + | #define SCALE_ID_BLUES_MAJOR | ||
| + | #define SCALE_ID_DORIAN | ||
| + | #define SCALE_ID_JAPANESE | ||
| + | #define SCALE_ID_JAPANESE_DIMINISHED | ||
| + | #define SCALE_ID_KUMOI | ||
| + | #define SCALE_ID_LOCRIAN | ||
| + | #define SCALE_ID_LYDIAN | ||
| + | #define SCALE_ID_MI_SHEBERACH | ||
| + | #define SCALE_ID_MIXOLYDIAN | ||
| + | #define SCALE_ID_PELOG | ||
| + | #define SCALE_ID_PENTATONIC | ||
| + | #define SCALE_ID_PENTATONIC_BLUES | ||
| + | #define SCALE_ID_PENTATONIC_MAJOR | ||
| + | #define SCALE_ID_PENTATONIC_MINOR | ||
| + | #define SCALE_ID_PHRYGIAN | ||
| + | #define SCALE_ID_SPANISH | ||
| + | |||
| + | |||
| + | // ** QUANTIZERS ** | ||
| + | #ifdef _DEBUG_C | ||
| + | #pragma mark Quantizers | ||
| + | #endif | ||
| + | |||
| + | #define QUANTIZE_BPM | ||
| + | #define QUANTIZE_TOGGLE_NEXT | ||
| + | #define QUANTIZE_SET | ||
| + | |||
| + | #define SYNC_STOP | ||
| + | #define SYNC_START | ||
| + | |||
| + | |||
| + | |||
| + | #endif /* _ACMIDIPROTOCOL_H */ | ||
| + | </ | ||
acmidiprotocol.txt · Last modified: 2008/07/29 01:37 by 127.0.0.1
