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 revision Previous revision
Next revision
Previous revision
speakjet_definition_list [2006/06/12 00:14]
audiocommander
speakjet_definition_list [2006/12/05 14:28] (current)
audiocommander updated to latest version and removed dev-nfo
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)