Skip to content

Commit 586f5cf

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/work-0.9.2'
2 parents 3d95dff + 45b7cdf commit 586f5cf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1260
-990
lines changed

Builds/MacOSX/Dexed.xcodeproj/project.pbxproj

+2-1
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@
262262
2CA19470CA427333F8CAC0A5 /* juce_ImagePreviewComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImagePreviewComponent.cpp; path = ../../JuceLibraryCode/modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp; sourceTree = SOURCE_ROOT; };
263263
2CA60524355CF872ADB42EA4 /* CAVectorUnit.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = Extras/CoreAudio/PublicUtility/CAVectorUnit.cpp; sourceTree = DEVELOPER_DIR; };
264264
2CB4C73C121FCDEF65CBAC79 /* juce_mac_MainMenu.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MainMenu.mm; path = ../../JuceLibraryCode/modules/juce_gui_basics/native/juce_mac_MainMenu.mm; sourceTree = SOURCE_ROOT; };
265+
2CBFFF86BDEB0B89734D6956 /* Switch_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Switch_32x32.png; path = ../../Resources/ui/Switch_32x32.png; sourceTree = SOURCE_ROOT; };
265266
2D26E2304C0F6FC633936014 /* lfo.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = lfo.cc; path = ../../Source/msfa/lfo.cc; sourceTree = SOURCE_ROOT; };
266267
2D8A5B5929909ADD898D7E00 /* juce_HashMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HashMap.h; path = ../../JuceLibraryCode/modules/juce_core/containers/juce_HashMap.h; sourceTree = SOURCE_ROOT; };
267268
2D9932D322EDA14CC872D08B /* juce_MemoryOutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryOutputStream.h; path = ../../JuceLibraryCode/modules/juce_core/streams/juce_MemoryOutputStream.h; sourceTree = SOURCE_ROOT; };
@@ -2581,6 +2582,7 @@
25812582
F472964B0FFEE5615B72CE3D /* Resources */ = {
25822583
isa = PBXGroup;
25832584
children = (
2585+
2CBFFF86BDEB0B89734D6956 /* Switch_32x32.png */,
25842586
0D5761BE1D2DEA319B57D740 /* Switch_48x26.png */,
25852587
E6F65C031FCBB192F3927D4C /* ButtonUnlabeled_50x30.png */,
25862588
8B19E0BEAD29F2C0D46FA89C /* Knob_34x34.png */,
@@ -2881,7 +2883,6 @@
28812883
isa = XCBuildConfiguration;
28822884
buildSettings = {
28832885
ALWAYS_SEARCH_USER_PATHS = NO;
2884-
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
28852886
DEBUG_INFORMATION_FORMAT = dwarf;
28862887
GCC_C_LANGUAGE_STANDARD = c99;
28872888
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;

Builds/VisualStudio2012/Dexed.v11.suo

0 Bytes
Binary file not shown.

Builds/VisualStudio2012/Dexed.vcxproj

+1
Original file line numberDiff line numberDiff line change
@@ -1555,6 +1555,7 @@
15551555
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
15561556
</ItemGroup>
15571557
<ItemGroup>
1558+
<None Include="..\..\Resources\ui\Switch_32x32.png"/>
15581559
<None Include="..\..\Resources\ui\Switch_48x26.png"/>
15591560
<None Include="..\..\Resources\ui\ButtonUnlabeled_50x30.png"/>
15601561
<None Include="..\..\Resources\ui\Knob_34x34.png"/>

Builds/VisualStudio2012/Dexed.vcxproj.filters

+3
Original file line numberDiff line numberDiff line change
@@ -2723,6 +2723,9 @@
27232723
</ClInclude>
27242724
</ItemGroup>
27252725
<ItemGroup>
2726+
<None Include="..\..\Resources\ui\Switch_32x32.png">
2727+
<Filter>Dexed\Resources</Filter>
2728+
</None>
27262729
<None Include="..\..\Resources\ui\Switch_48x26.png">
27272730
<Filter>Dexed\Resources</Filter>
27282731
</None>

Dexed.jucer

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
buildRTAS="0" buildAAX="0" pluginManufacturerEmail="support@yourcompany.com">
1313
<MAINGROUP id="kHXTgw" name="Dexed">
1414
<GROUP id="{F12593AE-639A-6F59-5819-ACE25AF86F95}" name="Resources">
15+
<FILE id="CD5ehh" name="Switch_32x32.png" compile="0" resource="1"
16+
file="Resources/ui/Switch_32x32.png"/>
1517
<FILE id="SXelfa" name="Switch_48x26.png" compile="0" resource="1"
1618
file="Resources/ui/Switch_48x26.png"/>
1719
<FILE id="AjTNZm" name="ButtonUnlabeled_50x30.png" compile="0" resource="1"
@@ -191,5 +193,7 @@
191193
<MODULES id="juce_gui_basics" showAllCode="1" useLocalCopy="1"/>
192194
<MODULES id="juce_gui_extra" showAllCode="1" useLocalCopy="1"/>
193195
</MODULES>
194-
<JUCEOPTIONS JUCE_QUICKTIME="disabled"/>
196+
<JUCEOPTIONS JUCE_QUICKTIME="disabled" JUCE_USE_FLAC="disabled" JUCE_USE_OGGVORBIS="disabled"
197+
JUCE_USE_MP3AUDIOFORMAT="disabled" JUCE_USE_LAME_AUDIO_FORMAT="disabled"
198+
JUCE_USE_WINDOWS_MEDIA_FORMAT="disabled" JUCE_WEB_BROWSER="disabled"/>
195199
</JUCERPROJECT>

Documentation/TX802-SYSEX.pdf

291 KB
Binary file not shown.

Documentation/sysex-format.txt

+292
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
1+
Sysex Documentation
2+
===================
3+
4+
(Message GUS:472)
5+
Received: from mailhub.iastate.edu by po-3.iastate.edu
6+
id AA06806; Sat, 25 Sep 93 16:13:53 -0500
7+
Received: from Waisman.Wisc.EDU (don.waisman.wisc.edu) by mailhub.iastate.edu
8+
id AA23002; Sat, 25 Sep 1993 16:14:09 -0500
9+
Received: from Waisman.Wisc.EDU by Waisman.Wisc.EDU (PMDF V4.2-10 #2484) id
10+
<01H3DDLUXLDSBMA3H1@Waisman.Wisc.EDU>; Sat, 25 Sep 1993 16:13:40 CDT
11+
Date: Sat, 25 Sep 1993 16:13:40 -0500 (CDT)
12+
From: "Ewan A. Macpherson" <MACPHERSON@waisman.wisc.edu>
13+
Subject: DX7 Data Format
14+
To: xeno@iastate.edu
15+
Message-Id: <01H3DDLUY4O2BMA3H1@Waisman.Wisc.EDU>
16+
Organization: Waisman Center, University of Wisconsin-Madison
17+
X-Vms-To: IN::"xeno@iastate.edu"
18+
Mime-Version: 1.0
19+
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
20+
Content-Transfer-Encoding: 7BIT
21+
22+
Gary:
23+
24+
I don't know anything about the differences between the DX7 and DX7s, but this
25+
DX7 info may be useful. I posted this to r.m.s. before xmas.
26+
27+
I've seen many requests for public domain / shareware DX editors, but I've
28+
never seen a definitive reply. They're usually along the lines of "I was
29+
roaching around on CompuServe last month, and I think I remember seeing one..."
30+
31+
Anyway, hope this helps ...
32+
33+
=========================================================================
34+
35+
For those interested in unpacking the uscd.edu DX7 patch data, here is
36+
DX7 data format information.
37+
38+
compiled from - the DX7 MIDI Data Format Sheet
39+
- article by Steve DeFuria (Keyboard Jan 87)
40+
- looking at what my DX7 spits out
41+
42+
I have kept the kinda weird notation used in the DX7 Data Sheet to reduce
43+
typing errors. Where it doesn't quite make sense to me I've added comments.
44+
(And I will not be liable for errors etc ....)
45+
46+
Contents: A: SYSEX Message: Bulk Data for 1 Voice
47+
B: SYSEX Message: Bulk Data for 32 Voices
48+
C: SYSEX Message: Parameter Change
49+
D: Data Structure: Single Voice Dump & Voice Parameter #'s
50+
E: Function Parameter #'s
51+
F: Data Structure: Bulk Dump Packed Format
52+
53+
////////////////////////////////////////////////////////////
54+
A:
55+
SYSEX Message: Bulk Data for 1 Voice
56+
------------------------------------
57+
bits hex description
58+
59+
11110000 F0 Status byte - start sysex
60+
0iiiiiii 43 ID # (i=67; Yamaha)
61+
0sssnnnn 00 Sub-status (s=0) & channel number (n=0; ch 1)
62+
0fffffff 00 format number (f=0; 1 voice)
63+
0bbbbbbb 01 byte count MS byte
64+
0bbbbbbb 1B byte count LS byte (b=155; 1 voice)
65+
0ddddddd ** data byte 1
66+
67+
| | |
68+
69+
0ddddddd ** data byte 155
70+
0eeeeeee ** checksum (masked 2's complement of sum of 155 bytes)
71+
11110111 F7 Status - end sysex
72+
73+
74+
75+
///////////////////////////////////////////////////////////
76+
B:
77+
SYSEX Message: Bulk Data for 32 Voices
78+
--------------------------------------
79+
bits hex description
80+
81+
11110000 F0 Status byte - start sysex
82+
0iiiiiii 43 ID # (i=67; Yamaha)
83+
0sssnnnn 00 Sub-status (s=0) & channel number (n=0; ch 1)
84+
0fffffff 09 format number (f=9; 32 voices)
85+
0bbbbbbb 20 byte count MS byte
86+
0bbbbbbb 00 byte count LS byte (b=4096; 32 voices)
87+
0ddddddd ** data byte 1
88+
89+
| | |
90+
91+
0ddddddd ** data byte 4096 (there are 128 bytes / voice)
92+
0eeeeeee ** checksum (masked 2's comp. of sum of 4096 bytes)
93+
11110111 F7 Status - end sysex
94+
95+
96+
/////////////////////////////////////////////////////////////
97+
C:
98+
SYSEX MESSAGE: Parameter Change
99+
-------------------------------
100+
bits hex description
101+
102+
11110000 F0 Status byte - start sysex
103+
0iiiiiii 43 ID # (i=67; Yamaha)
104+
0sssnnnn 10 Sub-status (s=1) & channel number (n=0; ch 1)
105+
0gggggpp ** parameter group # (g=0; voice, g=2; function)
106+
0ppppppp ** parameter # (these are listed in next section)
107+
Note that voice parameter #'s can go over 128 so
108+
the pp bits in the group byte are either 00 for
109+
par# 0-127 or 01 for par# 128-155. In the latter case
110+
you add 128 to the 0ppppppp byte to compute par#.
111+
0ddddddd ** data byte
112+
11110111 F7 Status - end sysex
113+
114+
115+
//////////////////////////////////////////////////////////////
116+
117+
D:
118+
Data Structure: Single Voice Dump & Parameter #'s (single voice format, g=0)
119+
-------------------------------------------------------------------------
120+
121+
Parameter
122+
Number Parameter Value Range
123+
--------- --------- -----------
124+
0 OP6 EG rate 1 0-99
125+
1 " " rate 2 "
126+
2 " " rate 3 "
127+
3 " " rate 4 "
128+
4 " " level 1 "
129+
5 " " level 2 "
130+
6 " " level 3 "
131+
7 " " level 4 "
132+
8 OP6 KBD LEV SCL BRK PT " C3= $27
133+
9 " " " " LFT DEPTH "
134+
10 " " " " RHT DEPTH "
135+
11 " " " " LFT CURVE 0-3 0=-LIN, -EXP, +EXP, +LIN
136+
12 " " " " RHT CURVE " " " " "
137+
13 OP6 KBD RATE SCALING 0-7
138+
14 OP6 AMP MOD SENSITIVITY 0-3
139+
15 OP6 KEY VEL SENSITIVITY 0-7
140+
16 OP6 OPERATOR OUTPUT LEVEL 0-99
141+
17 OP6 OSC MODE (fixed/ratio) 0-1 0=ratio
142+
18 OP6 OSC FREQ COARSE 0-31
143+
19 OP6 OSC FREQ FINE 0-99
144+
20 OP6 OSC DETUNE 0-14 0: det=-7
145+
21 \
146+
| > repeat above for OSC 5, OSC 4, ... OSC 1
147+
125 /
148+
126 PITCH EG RATE 1 0-99
149+
127 " " RATE 2 "
150+
128 " " RATE 3 "
151+
129 " " RATE 4 "
152+
130 " " LEVEL 1 "
153+
131 " " LEVEL 2 "
154+
132 " " LEVEL 3 "
155+
133 " " LEVEL 4 "
156+
134 ALGORITHM # 0-31
157+
135 FEEDBACK 0-7
158+
136 OSCILLATOR SYNC 0-1
159+
137 LFO SPEED 0-99
160+
138 " DELAY "
161+
139 " PITCH MOD DEPTH "
162+
140 " AMP MOD DEPTH "
163+
141 LFO SYNC 0-1
164+
142 " WAVEFORM 0-5, (data sheet claims 9-4 ?!?)
165+
0:TR, 1:SD, 2:SU, 3:SQ, 4:SI, 5:SH
166+
143 PITCH MOD SENSITIVITY 0-7
167+
144 TRANSPOSE 0-48 12 = C2
168+
145 VOICE NAME CHAR 1 ASCII
169+
146 VOICE NAME CHAR 2 ASCII
170+
147 VOICE NAME CHAR 3 ASCII
171+
148 VOICE NAME CHAR 4 ASCII
172+
149 VOICE NAME CHAR 5 ASCII
173+
150 VOICE NAME CHAR 6 ASCII
174+
151 VOICE NAME CHAR 7 ASCII
175+
152 VOICE NAME CHAR 8 ASCII
176+
153 VOICE NAME CHAR 9 ASCII
177+
154 VOICE NAME CHAR 10 ASCII
178+
155 OPERATOR ON/OFF
179+
bit6 = 0 / bit 5: OP1 / ... / bit 0: OP6
180+
181+
Note that there are actually 156 parameters listed here, one more than in
182+
a single voice dump. The OPERATOR ON/OFF parameter is not stored with the
183+
voice, and is only transmitted or received while editing a voice. So it
184+
only shows up in parameter change SYS-EX's.
185+
186+
187+
////////////////////////////////////////////////////////
188+
189+
E:
190+
Function Parameters: (g=2)
191+
-------------------------
192+
193+
Parameter
194+
Number Parameter Range
195+
--------- ---------- ------
196+
64 MONO/POLY MODE CHANGE 0-1 O=POLY
197+
65 PITCH BEND RANGE 0-12
198+
66 " " STEP 0-12
199+
67 PORTAMENTO MODE 0-1 0=RETAIN 1=FOLLOW
200+
68 " GLISS 0-1
201+
69 " TIME 0-99
202+
70 MOD WHEEL RANGE 0-99
203+
71 " " ASSIGN 0-7 b0: pitch, b1:amp, b2: EG bias
204+
72 FOOT CONTROL RANGE 0-99
205+
73 " " ASSIGN 0-7 "
206+
74 BREATH CONT RANGE 0-99
207+
75 " " ASSIGN 0-7 "
208+
76 AFTERTOUCH RANGE 0-99
209+
77 " ASSIGN 0-7 "
210+
211+
///////////////////////////////////////////////////////////////
212+
213+
F:
214+
Data Structure: Bulk Dump Packed Format
215+
---------------------------------------
216+
217+
OK, now the tricky bit. For a bulk dump the 155 voice parameters for each
218+
voice are packed into 32 consecutive 128 byte chunks as follows ...
219+
220+
byte bit #
221+
# 6 5 4 3 2 1 0 param A range param B range
222+
---- --- --- --- --- --- --- --- ------------ ----- ------------ -----
223+
0 R1 OP6 EG R1 0-99
224+
1 R2 OP6 EG R2 0-99
225+
2 R3 OP6 EG R3 0-99
226+
3 R4 OP6 EG R4 0-99
227+
4 L1 OP6 EG L1 0-99
228+
5 L2 OP6 EG L2 0-99
229+
6 L3 OP6 EG L3 0-99
230+
7 L4 OP6 EG L4 0-99
231+
8 BP LEV SCL BRK PT 0-99
232+
9 LD SCL LEFT DEPTH 0-99
233+
10 RD SCL RGHT DEPTH 0-99
234+
11 0 0 0 | RC | LC | SCL LEFT CURVE 0-3 SCL RGHT CURVE 0-3
235+
12 | DET | RS | OSC DETUNE 0-14 OSC RATE SCALE 0-7
236+
13 0 0 | KVS | AMS | KEY VEL SENS 0-7 AMP MOD SENS 0-3
237+
14 OL OP6 OUTPUT LEV 0-99
238+
15 0 | FC | M | FREQ COARSE 0-31 OSC MODE 0-1
239+
16 FF FREQ FINE 0-99
240+
17 \
241+
| > these 17 bytes for OSC 5
242+
33 /
243+
34 \
244+
| > these 17 bytes for OSC 4
245+
50 /
246+
51 \
247+
| > these 17 bytes for OSC 3
248+
67 /
249+
68 \
250+
| > these 17 bytes for OSC 2
251+
84 /
252+
85 \
253+
| > these 17 bytes for OSC 1
254+
101 /
255+
256+
byte bit #
257+
# 6 5 4 3 2 1 0 param A range param B range
258+
---- --- --- --- --- --- --- --- ------------ ----- ------------ -----
259+
102 PR1 PITCH EG R1 0-99
260+
103 PR2 PITCH EG R2 0-99
261+
104 PR3 PITCH EG R3 0-99
262+
105 PR4 PITCH EG R4 0-99
263+
106 PL1 PITCH EG L1 0-99
264+
107 PL2 PITCH EG L2 0-99
265+
108 PL3 PITCH EG L3 0-99
266+
109 PL4 PITCH EG L4 0-99
267+
110 0 0 | ALG | ALGORITHM 0-31
268+
111 0 0 0 |OKS| FB | OSC KEY SYNC 0-1 FEEDBACK 0-7
269+
112 LFS LFO SPEED 0-99
270+
113 LFD LFO DELAY 0-99
271+
114 LPMD LF PT MOD DEP 0-99
272+
115 LAMD LF AM MOD DEP 0-99
273+
116 | LPMS | LFW |LKS| LF PT MOD SNS 0-7 WAVE 0-5, SYNC 0-1
274+
117 TRNSP TRANSPOSE 0-48
275+
118 NAME CHAR 1 VOICE NAME 1 ASCII
276+
119 NAME CHAR 2 VOICE NAME 2 ASCII
277+
120 NAME CHAR 3 VOICE NAME 3 ASCII
278+
121 NAME CHAR 4 VOICE NAME 4 ASCII
279+
122 NAME CHAR 5 VOICE NAME 5 ASCII
280+
123 NAME CHAR 6 VOICE NAME 6 ASCII
281+
124 NAME CHAR 7 VOICE NAME 7 ASCII
282+
125 NAME CHAR 8 VOICE NAME 8 ASCII
283+
126 NAME CHAR 9 VOICE NAME 9 ASCII
284+
127 NAME CHAR 10 VOICE NAME 10 ASCII
285+
286+
/////////////////////////////////////////////////////////////////////
287+
288+
And that's it.
289+
290+
Hope this is useful.
291+
292+
ewan.

JuceLibraryCode/AppConfig.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -83,23 +83,23 @@
8383
// juce_audio_formats flags:
8484

8585
#ifndef JUCE_USE_FLAC
86-
//#define JUCE_USE_FLAC
86+
#define JUCE_USE_FLAC 0
8787
#endif
8888

8989
#ifndef JUCE_USE_OGGVORBIS
90-
//#define JUCE_USE_OGGVORBIS
90+
#define JUCE_USE_OGGVORBIS 0
9191
#endif
9292

9393
#ifndef JUCE_USE_MP3AUDIOFORMAT
94-
//#define JUCE_USE_MP3AUDIOFORMAT
94+
#define JUCE_USE_MP3AUDIOFORMAT 0
9595
#endif
9696

9797
#ifndef JUCE_USE_LAME_AUDIO_FORMAT
98-
//#define JUCE_USE_LAME_AUDIO_FORMAT
98+
#define JUCE_USE_LAME_AUDIO_FORMAT 0
9999
#endif
100100

101101
#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
102-
//#define JUCE_USE_WINDOWS_MEDIA_FORMAT
102+
#define JUCE_USE_WINDOWS_MEDIA_FORMAT 0
103103
#endif
104104

105105
//==============================================================================
@@ -178,7 +178,7 @@
178178
// juce_gui_extra flags:
179179

180180
#ifndef JUCE_WEB_BROWSER
181-
//#define JUCE_WEB_BROWSER
181+
#define JUCE_WEB_BROWSER 0
182182
#endif
183183

184184
#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR

0 commit comments

Comments
 (0)