User Tools

Site Tools


speakjet_definition_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
speakjet_definition_list [2006/06/12 00:14] audiocommanderspeakjet_definition_list [2006/12/05 14:28] (current) – updated to latest version and removed dev-nfo audiocommander
Line 1: Line 1:
 ====== SCP and MSA #defines for the SpeakJet ====== ====== SCP and MSA #defines for the SpeakJet ======
  
-:!: **ImportantNote:\\ +\\
-This file is currently under development and can change radically!\\ +
-Maybe you want to wait some days until this note disappears to add your SJ-Definitions** +
- +
-It can be used for your C-based MBHP_IIC_SpeakJet Project: +
- +
-Feel free to edit and add defines! +
- +
 <code c> <code c>
- 
 /* /*
   IIC_SpeakJetDefines.h   IIC_SpeakJetDefines.h
Line 20: Line 11:
    and ASM-Version of Doug Elliott, VA3DAE    and ASM-Version of Doug Elliott, VA3DAE
  *  *
- *  Released under CreativeCommons 2.5 by-nc-sa + *  Copyright 2006 Michael Markert, http://www.audiocommander.de
- *  http://creativecommons.org/licenses/by-nc-sa/2.5/+
  *  *
 + */
 +
 +/*
 + * Released under GNU General Public License
 + * http://www.gnu.org/licenses/gpl.html
 + 
 + * 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 NOT USE IT WITHIN PROPRIETARY CLOSED-SOURCE PROJECTS
  */  */
  
Line 31: Line 33:
  
  
- +// ********* SPEAKJET SCP ************* // 
-// ********* SPEAKJET MIDI ASSIGNMENTS * //+// Serial Control Protocol
 #ifdef _DEBUG_C #ifdef _DEBUG_C
  #pragma mark -  #pragma mark -
- #pragma mark SPEAKJET MIDI ASSIGNMENTS+ #pragma mark SCP
 #endif #endif
  
-// MIDI ASSIGNMENTS +// escape character ('\\') 0x5C to enter SCP Mode 
-// optimized for KORG microKONTROL +#define SCP_ESCAPE '\\' 
- +#define SCP_SEL0 '0' 
-#define SJCC_PHRASE 20 +#define SCP_SEL1 '1' 
-// pads 1 - 8: call phrase +#define SCP_SEL2 '2' 
-#define SJCC_PHRASE0 21 +#define SCP_SEL3 '3' 
-#define SJCC_PHRASE1 22 +#define SCP_SEL4 '4' 
-#define SJCC_PHRASE2 23 +#define SCP_SEL5 '5' 
-#define SJCC_PHRASE3 24 +#define SCP_SEL6 '6' 
-#define SJCC_PHRASE4 25 +#define SCP_SEL7 '7' 
-#define SJCC_PHRASE5 26 +#define SCP_EXIT 'X'
-#define SJCC_PHRASE6 27 +
-#define SJCC_PHRASE7 28 +
-// pads 9 - 12: slow/low/high/fast +
-#define SJCC_NEXT_SLOW 29 +
-#define SJCC_NEXT_LOW 30 +
-#define SJCC_NEXT_HIGH 31 +
-#define SJCC_NEXT_FAST 32 +
-// pads 13 - 16: pause 0(0ms) / 1(100ms) / 2(200ms) / 3(700ms+
-#define SJCC_PAUSE0 33 +
-#define SJCC_PAUSE1 34 +
-#define SJCC_PAUSE2 35 +
-#define SJCC_PAUSE3 36 +
- +
-// Encoders - 5: OSCx Level +
-#define SJCC_OSC1_LVL 101 +
-#define SJCC_OSC2_LVL 102 +
-#define SJCC_OSC3_LVL 103 +
-#define SJCC_OSC4_LVL 104 +
-#define SJCC_OSC5_LVL 105 +
-// Sliders 1 - 5: OSCx Frequency +
-#define SJCC_OSC1_FREQ 111 +
-#define SJCC_OSC2_FREQ 112 +
-#define SJCC_OSC3_FREQ 113 +
-#define SJCC_OSC4_FREQ 114 +
-#define SJCC_OSC5_FREQ 115 +
- +
-// Encoder - 8: ENV CTR / DIST / SPEED +
-#define SJCC_ENV_TYPE 106 +
-#define SJCC_DISTORTION 107 +
-#define SJCC_BEND 108 +
-// Slider 6 - 8: BEND / NEXT LOUD / MASTER VOL +
-#define SJCC_SPEED 116 +
-#define SJCC_NEXT_LOUD 117 +
-#define SJCC_MASTER_VOL 118 +
- +
-// Joystick X: Pitch +
-// Joystick Y: Bend +
- +
-// not used, but implemented: +
-#define SJCC_PITCH 255 +
- +
- +
  
 +#define SCP_READY 'V'
 +#define SCP_CLEAR_BUFFER 'R'
 +#define SCP_START 'T'
 +#define SCP_STOP 'S'
  
 +#define SCP_MEMTYPE 'H'
 +#define SCP_MEMADDR 'J'
 +#define SCP_MEMWRT 'N'
  
 +#define SCP_RESET 'W'
  
  
Line 104: Line 71:
 #endif #endif
  
 +// == SCP_MEMTYPE (H) ==
 +#define SCP_MEMTYPE_REGISTER '0'
 +#define SCP_MEMTYPE_EEPROM_H '3'
 +#define SCP_MEMTYPE_EEPROM_L '2'
 +
 +// == SCP_MEMADDR (J) ==
 // Envelope // Envelope
-#define SCP_ENV_FREQ +#define SCP_ENV_FREQ '0' 
-#define SCP_ENV_CTRL 8+#define SCP_ENV_CTRL '8
 +// Oscillator Frequency Register (not used, calculated) 
 +#define SCP_OSC1_FREQ '1' 
 +#define SCP_OSC2_FREQ '2' 
 +#define SCP_OSC3_FREQ '3' 
 +#define SCP_OSC4_FREQ '4' 
 +#define SCP_OSC5_FREQ '5' 
 +// Oscillator Level Register (not used, calculated) 
 +#define SCP_OSC1_LEVEL 11 
 +#define SCP_OSC2_LEVEL 12 
 +#define SCP_OSC3_LEVEL 13 
 +#define SCP_OSC4_LEVEL 14 
 +#define SCP_OSC5_LEVEL 15 
 +// Distortion 
 +#define SCP_DISTORTION '6' 
 +// Master 
 +#define SCP_MASTER_VOLUME '7' 
 + 
 +// == SCP_MEMWRT (N) ==
 // ENVType (send ENVType + ENVState!) // ENVType (send ENVType + ENVState!)
-#define SCP_ENV_SAW 0x0 +#define SCP_ENV_SAW '2' 
-#define SCP_ENV_SINE 0x1 +#define SCP_ENV_SINE '3' 
-#define SCP_ENV_TRIANGLE 0x2 +#define SCP_ENV_TRIANGLE '4' 
-#define SCP_ENV_SQUARE 0x3+#define SCP_ENV_SQUARE '5'
 // ENVState (send ENVType + ENVState!) // ENVState (send ENVType + ENVState!)
-#define SCP_ENV_OSC123 0x40 +#define SCP_ENV_OSC123 0x40 
-#define SCP_ENV_OSC45 0x80 +#define SCP_ENV_OSC45 0x80 
- +//  Default values 
-// Oscillators +#define SCP_FREQ_DEFAULT 440 
-#define SCP_OSC1_FREQ 1 +#define SCP_LEVEL_DEFAULT 20 // 63 MAX for Mixer 1: OSC 1, 2 & 3 
-#define SCP_OSC2_FREQ +//  Maximum accepted values 
-#define SCP_OSC3_FREQ 3 +#define SCP_FREQ_MAX 3999 
-#define SCP_OSC4_FREQ 4 +#define SCP_LEVEL_MAX 31 
-#define SCP_OSC5_FREQ 5 +#define SCP_DISTORTION_MAX 255
-#define SCP_FREQ_MAX 3999 +
- +
-#define SCP_OSC1_LEVEL 11 +
-#define SCP_OSC2_LEVEL 12 +
-#define SCP_OSC3_LEVEL 13 +
-#define SCP_OSC4_LEVEL 14 +
-#define SCP_OSC5_LEVEL 15 +
-#define SCP_LEVEL_MAX 31 // 63 MAX for Mixer 1 +
- +
-// Distortion +
-#define SCP_DISTORTION 6 +
-#define SCP_DISTORTION_MAX 255 +
- +
-// Master +
-#define SCP_MASTER_VOLUME 7+
 #define SCP_MASTER_VOLUME_MAX 255 #define SCP_MASTER_VOLUME_MAX 255
  
Line 143: Line 119:
  
  
- 
-// ********* SPEAKJET SCP ************* // 
-// Serial Control Protocol 
-#ifdef _DEBUG_C 
- #pragma mark - 
- #pragma mark SCP 
-#endif 
- 
-// escape character ('\\') 0x5C to enter SCP Mode 
-#define SCP_ESCAPE 0x5C 
-#define SCP_SEL0 0 
-#define SCP_SEL1 1 
-#define SCP_SEL2 2 
-#define SCP_SEL3 3 
-#define SCP_SEL4 4 
-#define SCP_SEL5 5 
-#define SCP_SEL6 6 
-#define SCP_SEL7 7 
-#define SCP_EXIT 'X' 
- 
-#define SCP_READY 'V' 
-#define SCP_CLEAR_BUFFER 'R' 
-#define SCP_START 'T' 
-#define SCP_STOP 'S' 
- 
-#define SCP_MEMTYPE 'H' 
-#define SCP_MEMADDR 'J' 
-#define SCP_MEMWRT 'N' 
- 
-#define SCP_RESET 'W' 
  
  
Line 186: Line 132:
  
 // 0 - 31 CONTROL CODES // 0 - 31 CONTROL CODES
-#define MSA_PAUSE0 0 +#define MSA_PAUSE0 0 // 0ms 
-#define MSA_PAUSE1 1 +#define MSA_PAUSE1 1 // 100ms 
-#define MSA_PAUSE2 2 +#define MSA_PAUSE2 2 // 200ms 
-#define MSA_PAUSE3 3 +#define MSA_PAUSE3 3 // 700ms 
-#define MSA_PAUSE4 4 +#define MSA_PAUSE4 4 // 30ms 
-#define MSA_PAUSE5 5 +#define MSA_PAUSE5 5 // 60ms 
-#define MSA_PAUSE6 6+#define MSA_PAUSE6 6 // 90ms
  
 #define MSA_NEXTFAST 7 #define MSA_NEXTFAST 7
Line 373: Line 319:
 #endif #endif
  
-#define MSA_EOP 255+#define MSA_EOP 255
  
  
  
-#endif /* _IIC_SPEAKJETDEFINES_H */ 
  
 +
 +
 +
 +
 +
 +
 +// <<--- Application related defines --->>
 +
 +// SCP ControlTypes
 +// realtime announces single SCP messages like "Clear Buffer"
 +// register is used for 3-part-msgs: select register, select memtype and write value
 +#define SCP_CTRLTYPE_REALTIME 0x0
 +#define SCP_CTRLTYPE_REGISTER 0x1
 +
 +// Articulation ControlTypes
 +#define ARTICULATION_JAW 0x1
 +#define ARTICULATION_TONGUE 0x2
 +#define ARTICULATION_GLOTTIS 0x3
 +
 +// OSC Harmonic Waveshapes
 +#define OSCSYNTH_WAVE_TRIANGLE 0
 +#define OSCSYNTH_WAVE_SQUARE 1
 +#define OSCSYNTH_WAVE_SAW 2
 +
 +
 +
 +
 +#endif /* _IIC_SPEAKJETDEFINES_H */
  
 </code> </code>
speakjet_definition_list.1150071290.txt.gz · Last modified: 2006/10/15 09:35 (external edit)