mirror of
https://github.com/vsariola/sointu.git
synced 2025-07-14 11:04:23 -04:00
retro commit for released version 3.11
This commit is contained in:
Binary file not shown.
BIN
4klang_VSTi/8klang.dll
Normal file
BIN
4klang_VSTi/8klang.dll
Normal file
Binary file not shown.
BIN
4klang_VSTi/virgill - 4klang basics.4kp
Normal file
BIN
4klang_VSTi/virgill - 4klang basics.4kp
Normal file
Binary file not shown.
@ -47,7 +47,12 @@ go4k_synth_wrk resb go4k_synth.size
|
||||
global _go4k_delay_buffer_ofs
|
||||
_go4k_delay_buffer_ofs resd 1
|
||||
global _go4k_delay_buffer
|
||||
_go4k_delay_buffer resd 117*go4kDLL_wrk.size
|
||||
_go4k_delay_buffer resd 16*16*go4kDLL_wrk.size
|
||||
|
||||
%ifdef AUTHORING
|
||||
global __4klang_current_tick
|
||||
__4klang_current_tick resd 0
|
||||
%endif
|
||||
|
||||
%ifdef GO4K_USE_ENVELOPE_RECORDINGS
|
||||
global __4klang_envelope_buffer
|
||||
@ -130,10 +135,12 @@ section .text
|
||||
%endif
|
||||
|
||||
export_func FloatRandomNumber@0
|
||||
push eax
|
||||
imul eax,dword [_RandSeed],16007
|
||||
mov dword [_RandSeed], eax
|
||||
fild dword [_RandSeed]
|
||||
fidiv dword [c_RandDiv]
|
||||
pop eax
|
||||
ret
|
||||
|
||||
; //========================================================================================
|
||||
@ -279,8 +286,7 @@ go4kENV_func_do:
|
||||
mov eax, dword [ecx-8] ; // is the instrument in release mode (note off)?
|
||||
test eax, eax
|
||||
je go4kENV_func_process
|
||||
mov al, ENV_STATE_RELEASE
|
||||
mov dword [WRK+go4kENV_wrk.state], eax
|
||||
mov dword [WRK+go4kENV_wrk.state], ENV_STATE_RELEASE
|
||||
go4kENV_func_process:
|
||||
mov eax, dword [WRK+go4kENV_wrk.state]
|
||||
fld dword [WRK+go4kENV_wrk.level] ; // val -
|
||||
@ -384,8 +390,13 @@ section .g4kcods code align=1
|
||||
section .text
|
||||
%endif
|
||||
go4kVCO_sine:
|
||||
fxch ; // p c
|
||||
fstp st1 ; // p
|
||||
fucomi st1 ; // c p
|
||||
jnc short go4kVCO_func_sine_do
|
||||
fstp st1
|
||||
fsub st0, st0 ; // 0
|
||||
ret
|
||||
go4kVCO_func_sine_do
|
||||
fdivp st1, st0 ; // p/c
|
||||
fldpi ; // pi p
|
||||
fadd st0 ; // 2*pi p
|
||||
fmulp st1, st0 ; // 2*pi*p
|
||||
@ -462,11 +473,28 @@ export_func go4kVCO_func@0
|
||||
mov eax, dword [ecx-4]
|
||||
test eax, eax
|
||||
jne go4kVCO_func_do
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
movzx eax, byte [VAL-1] ; // get flags and check for stereo
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_nostereoout
|
||||
fldz
|
||||
go4kVCO_func_nostereoout:
|
||||
%endif
|
||||
fldz
|
||||
ret
|
||||
go4kVCO_func_do:
|
||||
%endif
|
||||
movzx eax, byte [VAL-1] ; // get flags
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_nopswap
|
||||
fld dword [WRK+go4kVCO_wrk.phase] ;// swap left/right phase values for first stereo run
|
||||
fld dword [WRK+go4kVCO_wrk.phase2]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase2]
|
||||
go4kVCO_func_nopswap:
|
||||
%endif
|
||||
go4kVCO_func_process:
|
||||
fld dword [edx+go4kVCO_val.transpose]
|
||||
fsub dword [c_0_5]
|
||||
%ifdef GO4K_USE_VCO_MOD_TM
|
||||
@ -476,6 +504,12 @@ go4kVCO_func_do:
|
||||
fld dword [edx+go4kVCO_val.detune]
|
||||
fsub dword [c_0_5]
|
||||
fadd st0
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_nodswap
|
||||
fchs ;// negate detune for stereo
|
||||
go4kVCO_func_nodswap:
|
||||
%endif
|
||||
faddp st1
|
||||
%ifdef GO4K_USE_VCO_MOD_DM
|
||||
fadd dword [WRK+go4kVCO_wrk.dm]
|
||||
@ -562,6 +596,18 @@ go4kVCO_func_end:
|
||||
fadd dword [WRK+go4kVCO_wrk.gm]
|
||||
%endif
|
||||
fmulp st1, st0
|
||||
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_stereodone
|
||||
sub al, byte VCO_STEREO
|
||||
fld dword [WRK+go4kVCO_wrk.phase] ;// swap left/right phase values again for second stereo run
|
||||
fld dword [WRK+go4kVCO_wrk.phase2]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase2]
|
||||
jmp go4kVCO_func_process
|
||||
go4kVCO_func_stereodone:
|
||||
%endif
|
||||
ret
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -590,16 +636,31 @@ export_func go4kVCF_func@0
|
||||
go4kVCF_func_do:
|
||||
%endif
|
||||
movzx eax, byte [VAL-1] ; // get type flag
|
||||
|
||||
fld dword [edx+go4kVCF_val.res] ; // r in
|
||||
%ifdef GO4K_USE_VCF_MOD_RM
|
||||
fadd dword [WRK+go4kVCF_wrk.rm]
|
||||
%endif
|
||||
fld dword [edx+go4kVCF_val.freq] ; // f r in
|
||||
fstp dword [esp-8]
|
||||
|
||||
fld dword [edx+go4kVCF_val.freq] ; // f in
|
||||
%ifdef GO4K_USE_VCF_MOD_FM
|
||||
fadd dword [WRK+go4kVCF_wrk.fm]
|
||||
%endif
|
||||
fmul st0, st0 ; // square the input so we never get negative and also have a smoother behaviour in the lower frequencies
|
||||
fst dword [WRK+go4kVCF_wrk.freq] ; // f r in
|
||||
fstp dword [esp-4] ; // in
|
||||
|
||||
%ifdef GO4K_USE_VCF_STEREO
|
||||
test al, byte STEREO
|
||||
jz short go4kVCF_func_process
|
||||
add WRK, go4kVCF_wrk.low2
|
||||
go4kVCF_func_stereoloop: ; // switch channels
|
||||
fxch st1 ; // inr inl
|
||||
%endif
|
||||
|
||||
go4kVCF_func_process:
|
||||
fld dword [esp-8]
|
||||
fld dword [esp-4]
|
||||
fmul dword [WRK+go4kVCF_wrk.band] ; // f*b r in
|
||||
fadd dword [WRK+go4kVCF_wrk.low] ; // l' r in
|
||||
fst dword [WRK+go4kVCF_wrk.low] ; // l' r in
|
||||
@ -607,7 +668,7 @@ go4kVCF_func_do:
|
||||
fmul dword [WRK+go4kVCF_wrk.band] ; // r*b in-l'
|
||||
fsubp st1, st0 ; // h'
|
||||
fst dword [WRK+go4kVCF_wrk.high] ; // h'
|
||||
fmul dword [WRK+go4kVCF_wrk.freq] ; // h'*f
|
||||
fmul dword [esp-4] ; // h'*f
|
||||
fadd dword [WRK+go4kVCF_wrk.band] ; // b'
|
||||
fstp dword [WRK+go4kVCF_wrk.band]
|
||||
fldz
|
||||
@ -630,15 +691,21 @@ go4kVCF_func_band:
|
||||
go4kVCF_func_peak:
|
||||
%ifdef GO4K_USE_VCF_PEAK
|
||||
test al, byte PEAK
|
||||
jz short go4kVCF_func_end
|
||||
jz short go4kVCF_func_processdone
|
||||
fadd dword [WRK+go4kVCF_wrk.low]
|
||||
fsub dword [WRK+go4kVCF_wrk.high]
|
||||
%endif
|
||||
go4kVCF_func_end: ; // value - - - -
|
||||
%ifdef GO4K_USE_UNDENORMALIZE
|
||||
fadd dword [c_0_5] ; add and sub small offset to prevent denormalization
|
||||
fsub dword [c_0_5]
|
||||
go4kVCF_func_processdone:
|
||||
|
||||
%ifdef GO4K_USE_VCF_STEREO
|
||||
test al, byte STEREO ; // outr inl
|
||||
jz short go4kVCF_func_end
|
||||
sub al, byte STEREO
|
||||
sub WRK, go4kVCF_wrk.low2
|
||||
jmp go4kVCF_func_stereoloop
|
||||
%endif
|
||||
|
||||
go4kVCF_func_end: ; // value - - - -
|
||||
ret
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -658,9 +725,17 @@ section .text
|
||||
export_func go4kDST_func@0
|
||||
%ifdef GO4K_USE_DST
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
push 2
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
push 3
|
||||
%else
|
||||
push 2
|
||||
%endif
|
||||
%else
|
||||
push 1
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
push 2
|
||||
%else
|
||||
push 1
|
||||
%endif
|
||||
%endif
|
||||
call go4kTransformValues
|
||||
%ifdef GO4K_USE_DST_CHECK
|
||||
@ -671,6 +746,7 @@ export_func go4kDST_func@0
|
||||
ret
|
||||
go4kDST_func_do:
|
||||
%endif
|
||||
movzx eax, byte [VAL-1] ; // get type flag
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
fld dword [edx+go4kDST_val.snhfreq] ; // snh in
|
||||
%ifdef GO4K_USE_DST_MOD_SH
|
||||
@ -688,6 +764,21 @@ go4kDST_func_do:
|
||||
fstp dword [WRK+go4kDST_wrk.snhphase]; // in
|
||||
%endif
|
||||
; // calc pregain and postgain
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
test al, byte STEREO ; // outr inl
|
||||
jz short go4kDST_func_mono
|
||||
fxch st1 ; // inr inl
|
||||
fld dword [edx+go4kDST_val.drive] ; // drive inr inl
|
||||
%ifdef GO4K_USE_DST_MOD_DM
|
||||
fadd dword [WRK+go4kDST_wrk.dm]
|
||||
%endif
|
||||
call go4kWaveshaper ; // outr inl
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
fst dword [WRK+go4kDST_wrk.out2] ; // outr inl
|
||||
%endif
|
||||
fxch st1 ; // inl outr
|
||||
go4kDST_func_mono:
|
||||
%endif
|
||||
fld dword [edx+go4kDST_val.drive] ; // drive in
|
||||
%ifdef GO4K_USE_DST_MOD_DM
|
||||
fadd dword [WRK+go4kDST_wrk.dm]
|
||||
@ -701,6 +792,12 @@ go4kDST_func_do:
|
||||
go4kDST_func_hold:
|
||||
fstp st0 ; // in
|
||||
fstp st0
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
test al, byte STEREO ; // outr inl
|
||||
jz short go4kDST_func_monohold
|
||||
fld dword [WRK+go4kDST_wrk.out2] ; // out2
|
||||
go4kDST_func_monohold:
|
||||
%endif
|
||||
fld dword [WRK+go4kDST_wrk.out] ; // out
|
||||
ret
|
||||
%endif
|
||||
@ -953,7 +1050,6 @@ go4kFOP_func_mul:
|
||||
jnz go4kFOP_func_addp2
|
||||
fmul st1
|
||||
ret
|
||||
%ifdef GO4K_USE_FOP_LOADNOTE
|
||||
go4kFOP_func_addp2:
|
||||
dec eax
|
||||
jnz go4kFOP_func_loadnote
|
||||
@ -961,18 +1057,15 @@ go4kFOP_func_addp2:
|
||||
faddp st2, st0
|
||||
ret
|
||||
go4kFOP_func_loadnote:
|
||||
dec eax
|
||||
jnz go4kFOP_func_mulp2
|
||||
fild dword [ecx-4]
|
||||
fmul dword [c_i128]
|
||||
ret
|
||||
%else
|
||||
go4kFOP_func_addp2:
|
||||
dec eax
|
||||
jnz go4kFOP_func_dummy+1 ; // now this is no valid jump address (just to please the packer) but if we run in that case we're fucked up anyway
|
||||
faddp st2, st0
|
||||
go4kFOP_func_dummy:
|
||||
faddp st2, st0
|
||||
go4kFOP_func_mulp2:
|
||||
fmulp st2, st0
|
||||
fmulp st2, st0
|
||||
ret
|
||||
%endif
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
section .g4kcodh code align=1
|
||||
@ -989,13 +1082,23 @@ section .text
|
||||
; // DIRTY :
|
||||
; //----------------------------------------------------------------------------------------
|
||||
export_func go4kFST_func@0
|
||||
push 2
|
||||
push 1
|
||||
call go4kTransformValues
|
||||
fld dword [edx+go4kFST_val.amount]
|
||||
fsub dword [c_0_5]
|
||||
fadd st0
|
||||
fmul st1
|
||||
fstp dword [ecx+eax*4] ; // eax already contains the destination from the go4kTransformValues call
|
||||
lodsw
|
||||
and eax, 0x00003fff ; // eax is destination slot
|
||||
test word [VAL-2], FST_ADD
|
||||
jz go4kFST_func_set
|
||||
fadd dword [ecx+eax*4]
|
||||
go4kFST_func_set:
|
||||
fstp dword [ecx+eax*4]
|
||||
test word [VAL-2], FST_POP
|
||||
jz go4kFST_func_done
|
||||
fstp st0
|
||||
go4kFST_func_done:
|
||||
ret
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -1041,30 +1144,39 @@ section .text
|
||||
; // DIRTY :
|
||||
; //----------------------------------------------------------------------------------------
|
||||
export_func go4kFSTG_func@0
|
||||
push 5
|
||||
push 1
|
||||
call go4kTransformValues
|
||||
%ifdef GO4K_USE_FSTG_CHECK
|
||||
; check if current note still active
|
||||
mov eax, dword [ecx-4]
|
||||
test eax, eax
|
||||
jne go4kFSTG_func_do
|
||||
ret
|
||||
lodsw
|
||||
jmp go4kFSTG_func_testpop
|
||||
go4kFSTG_func_do:
|
||||
%endif
|
||||
fld dword [edx+go4kFST_val.amount]
|
||||
fsub dword [c_0_5]
|
||||
fadd st0
|
||||
fmul st1
|
||||
mov eax, dword [VAL-4]
|
||||
lodsw
|
||||
and eax, 0x00003fff ; // eax is destination slot
|
||||
test word [VAL-2], FST_ADD
|
||||
jz go4kFSTG_func_set
|
||||
fadd dword [go4k_synth_wrk+eax*4]
|
||||
go4kFSTG_func_set:
|
||||
%if MAX_VOICES > 1
|
||||
fst dword [go4k_synth_wrk+eax]
|
||||
fstp dword [go4k_synth_wrk+eax+go4k_instrument.size]
|
||||
fst dword [go4k_synth_wrk+eax*4]
|
||||
fstp dword [go4k_synth_wrk+eax*4+go4k_instrument.size]
|
||||
%else
|
||||
fstp dword [go4k_synth_wrk+eax]
|
||||
fstp dword [go4k_synth_wrk+eax*4]
|
||||
%endif
|
||||
|
||||
go4kFSTG_func_testpop:
|
||||
test word [VAL-2], FST_POP
|
||||
jz go4kFSTG_func_done
|
||||
fstp st0
|
||||
go4kFSTG_func_done:
|
||||
ret
|
||||
|
||||
%endif
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -1117,7 +1229,7 @@ export_func go4kOUT_func@0 ;// l r
|
||||
push 2
|
||||
call go4kTransformValues
|
||||
pushad
|
||||
lea edi, [ecx+256*4]
|
||||
lea edi, [ecx+MAX_UNITS*MAX_UNIT_SLOTS*4]
|
||||
fld st1 ;// r l r
|
||||
fld st1 ;// l r l r
|
||||
fld dword [edx+go4kOUT_val.auxsend] ;// as l r l r
|
||||
@ -1158,13 +1270,13 @@ export_func go4kOUT_func@0 ;// l r
|
||||
fadd dword [WRK+go4kOUT_wrk.gm] ;// gm l r
|
||||
%endif
|
||||
fmulp st1, st0 ;// l' r
|
||||
fstp dword [ecx+256*4+0] ;// r
|
||||
fstp dword [ecx+MAX_UNITS*MAX_UNIT_SLOTS*4+0] ;// r
|
||||
fld dword [edx+go4kOUT_val.gain] ;// g r
|
||||
%ifdef GO4K_USE_OUT_MOD_GM
|
||||
fadd dword [WRK+go4kOUT_wrk.gm] ;// gm r
|
||||
%endif
|
||||
fmulp st1, st0 ;// r'
|
||||
fstp dword [ecx+256*4+4] ;// -
|
||||
fstp dword [ecx+MAX_UNITS*MAX_UNIT_SLOTS*4+4] ;// -
|
||||
|
||||
%endif
|
||||
ret
|
||||
@ -1248,7 +1360,7 @@ go4kUpdateInstrument_newNote:
|
||||
%endif
|
||||
pushad
|
||||
xor eax, eax
|
||||
mov ecx, (8+256*4)/4 ; // clear only relase, note and workspace
|
||||
mov ecx, (8+MAX_UNITS*MAX_UNIT_SLOTS*4)/4 ; // clear only relase, note and workspace
|
||||
rep stosd
|
||||
popad
|
||||
mov dword [edi+4], edx ; // set requested note as current note
|
||||
@ -1476,6 +1588,9 @@ go4k_render_nogroove:
|
||||
jl go4k_render_sampleloop
|
||||
pop ecx
|
||||
inc ecx
|
||||
%ifdef AUTHORING
|
||||
mov dword[__4klang_current_tick], ecx
|
||||
%endif
|
||||
cmp ecx, dword MAX_TICKS
|
||||
jl go4k_render_tickloop
|
||||
%ifdef GO4K_USE_BUFFER_RECORDINGS
|
||||
@ -1507,7 +1622,7 @@ go4k_VM_process_loop:
|
||||
test eax, eax
|
||||
je go4k_VM_process_done ; // command byte = 0? so done
|
||||
call dword [eax*4+go4k_synth_commands]
|
||||
add WRK, MAX_WORKSPACE_SLOTS*4 ; // go to next workspace slot
|
||||
add WRK, MAX_UNIT_SLOTS*4 ; // go to next workspace slot
|
||||
jmp short go4k_VM_process_loop
|
||||
go4k_VM_process_done:
|
||||
add edi, go4k_instrument.size ; // go to next instrument voice
|
||||
|
@ -7,7 +7,7 @@
|
||||
global _%1
|
||||
_%1:
|
||||
%endmacro
|
||||
%define USE_SECTIONS
|
||||
;%define USE_SECTIONS
|
||||
; //----------------------------------------------------------------------------------------
|
||||
; // basic defines for the song/synth
|
||||
; //----------------------------------------------------------------------------------------
|
||||
@ -52,22 +52,24 @@
|
||||
%define GO4K_USE_VCO_MOD_CM ; // removing this skips color modulation code
|
||||
%define GO4K_USE_VCO_MOD_GM ; // removing this skips gain modulation code
|
||||
%define GO4K_USE_VCO_MOD_SM ; // removing this skips shaping modulation code
|
||||
%define GO4K_USE_VCO_STEREO ; // removing this skips stereo code
|
||||
%define GO4K_USE_VCF_CHECK ; // removing this skips checks if processing is needed
|
||||
%define GO4K_USE_VCF_MOD_FM ; // removing this skips frequency modulation code
|
||||
%define GO4K_USE_VCF_MOD_RM ; // removing this skips resonance modulation code
|
||||
%define GO4K_USE_VCF_HIGH ; // removing this skips code for high output
|
||||
%define GO4K_USE_VCF_BAND ; // removing this skips code for band output
|
||||
%define GO4K_USE_VCF_PEAK ; // removing this skips code for peak output
|
||||
%define GO4K_USE_VCF_STEREO ; // removing this skips code for stereo filter output
|
||||
%define GO4K_USE_DST_CHECK ; // removing this skips checks if processing is needed
|
||||
%define GO4K_USE_DST_SH ; // removing this skips sample and hold code
|
||||
%define GO4K_USE_DST_MOD_DM ; // removing this skips distortion modulation code
|
||||
%define GO4K_USE_DST_MOD_SH ; // removing this skips sample and hold modulation code
|
||||
%define GO4K_USE_DST_STEREO ; // removing this skips stereo processing
|
||||
%define GO4K_USE_DLL_NOTE_SYNC ; // removing this will skip delay length adjusting code (karplus strong)
|
||||
%define GO4K_USE_DLL_CHORUS ; // removing this will skip delay chorus/flanger code
|
||||
%define GO4K_USE_DLL_CHORUS_CLAMP ; // removing this will skip chorus lfo phase clamping
|
||||
%define GO4K_USE_DLL_DAMP ; // removing this will skip dll damping code
|
||||
%define GO4K_USE_DLL_DC_FILTER ; // removing this will skip dll dc offset removal code
|
||||
%define GO4K_USE_FOP_LOADNOTE ; // removing this will skip load note code
|
||||
%define GO4K_USE_FSTG_CHECK ; // removing this skips checks if processing is needed
|
||||
%define GO4K_USE_PAN_MOD ; // removing this will skip panning modulation code
|
||||
%define GO4K_USE_OUT_MOD_AM ; // removing this skips output aux send modulation code
|
||||
@ -86,11 +88,12 @@
|
||||
; // synth defines
|
||||
; //----------------------------------------------------------------------------------------
|
||||
%define MAX_DELAY 65536
|
||||
%define MAX_WORKSPACE_SLOTS 8
|
||||
%define GO4K_BEGIN_CMDDEF(def_name)
|
||||
%define GO4K_END_CMDDEF db 0
|
||||
%define GO4K_BEGIN_PARAMDEF(def_name)
|
||||
%define GO4K_END_PARAMDEF
|
||||
%define MAX_UNITS 64
|
||||
%define MAX_UNIT_SLOTS 16
|
||||
%define GO4K_BEGIN_CMDDEF(def_name)
|
||||
%define GO4K_END_CMDDEF db 0
|
||||
%define GO4K_BEGIN_PARAMDEF(def_name)
|
||||
%define GO4K_END_PARAMDEF
|
||||
; //----------------------------------------------------------------------------------------
|
||||
; // ENV structs
|
||||
; //----------------------------------------------------------------------------------------
|
||||
@ -168,6 +171,7 @@ GO4K_VCO_ID equ 2
|
||||
%define NOISE 0x08
|
||||
%define LFO 0x10
|
||||
%define GATE 0x20
|
||||
%define VCO_STEREO 0x40
|
||||
struc go4kVCO_val
|
||||
;// unit paramters
|
||||
.transpose resd 1
|
||||
@ -197,6 +201,8 @@ struc go4kVCO_wrk
|
||||
.cm resd 1
|
||||
.sm resd 1
|
||||
.gm resd 1
|
||||
;// stero variables
|
||||
.phase2 resd 1
|
||||
.size
|
||||
endstruc
|
||||
; //----------------------------------------------------------------------------------------
|
||||
@ -214,6 +220,7 @@ GO4K_VCF_ID equ 3
|
||||
%define BANDSTOP 0x3
|
||||
%define ALLPASS 0x7
|
||||
%define PEAK 0x8
|
||||
%define STEREO 0x10
|
||||
%define FREQUENCY(val) val
|
||||
%define RESONANCE(val) val
|
||||
%define VCFTYPE(val) val
|
||||
@ -229,38 +236,54 @@ struc go4kVCF_wrk
|
||||
.low resd 1
|
||||
.high resd 1
|
||||
.band resd 1
|
||||
.freq resd 1
|
||||
.freq resd 1 ;// unused but kept so modulation target offsets stay same
|
||||
;// modulation targets
|
||||
.fm resd 1
|
||||
.rm resd 1
|
||||
;// stereo variables
|
||||
.low2 resd 1
|
||||
.high2 resd 1
|
||||
.band2 resd 1
|
||||
.size
|
||||
endstruc
|
||||
; //----------------------------------------------------------------------------------------
|
||||
; // DST structs
|
||||
; //----------------------------------------------------------------------------------------
|
||||
GO4K_DST_ID equ 4
|
||||
%macro GO4K_DST 2
|
||||
%macro GO4K_DST 3
|
||||
db %1
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
db %2
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
db %3
|
||||
%endif
|
||||
%else
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
db %3
|
||||
%endif
|
||||
%endif
|
||||
%endmacro
|
||||
%define DRIVE(val) val
|
||||
%define SNHFREQ(val) val
|
||||
%define FLAGS(val) val
|
||||
struc go4kDST_val
|
||||
;// unit paramters
|
||||
.drive resd 1
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
.snhfreq resd 1
|
||||
%endif
|
||||
.flags resd 1
|
||||
.size
|
||||
endstruc
|
||||
struc go4kDST_wrk
|
||||
;// work variables
|
||||
.out resd 1
|
||||
.snhphase resd 1
|
||||
;// modulation targets
|
||||
.dm resd 1
|
||||
.sm resd 1
|
||||
;// stereo variables
|
||||
.out2 resd 1
|
||||
.size
|
||||
endstruc
|
||||
; //----------------------------------------------------------------------------------------
|
||||
@ -342,6 +365,7 @@ GO4K_FOP_ID equ 6
|
||||
%define FOP_MUL 0x7
|
||||
%define FOP_ADDP2 0x8
|
||||
%define FOP_LOADNOTE 0x9
|
||||
%define FOP_MULP2 0xa
|
||||
struc go4kFOP_val
|
||||
.flags resd 1
|
||||
.size
|
||||
@ -355,10 +379,13 @@ endstruc
|
||||
GO4K_FST_ID equ 7
|
||||
%macro GO4K_FST 2
|
||||
db %1
|
||||
db %2
|
||||
dw %2
|
||||
%endmacro
|
||||
%define AMOUNT(val) val
|
||||
%define DEST(val) val
|
||||
%define FST_SET 0x0000
|
||||
%define FST_ADD 0x4000
|
||||
%define FST_POP 0x8000
|
||||
struc go4kFST_val
|
||||
.amount resd 1
|
||||
.op1 resd 1
|
||||
@ -455,7 +482,7 @@ endstruc
|
||||
GO4K_FSTG_ID equ 12
|
||||
%macro GO4K_FSTG 2
|
||||
db %1
|
||||
dd %2
|
||||
dw %2
|
||||
%endmacro
|
||||
struc go4kFSTG_val
|
||||
.amount resd 1
|
||||
@ -472,7 +499,7 @@ endstruc
|
||||
struc go4k_instrument
|
||||
.release resd 1
|
||||
.note resd 1
|
||||
.workspace resd 256
|
||||
.workspace resd MAX_UNITS*MAX_UNIT_SLOTS
|
||||
.dlloutl resd 1
|
||||
.dlloutr resd 1
|
||||
.outl resd 1
|
||||
@ -723,18 +750,18 @@ section .data
|
||||
go4k_synth_parameter_values
|
||||
GO4K_BEGIN_PARAMDEF(Instrument0)
|
||||
GO4K_ENV ATTAC(72),DECAY(96),SUSTAIN(96),RELEASE(88),GAIN(128)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(60),PHASE(32),GATES(0),COLOR(80),SHAPE(64),GAIN(128),FLAGS(PULSE)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(72),PHASE(32),GATES(0),COLOR(96),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_VCO TRANSPOSE(32),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(96),GAIN(128),FLAGS(SINE|LFO)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(61),DEST(3*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FST AMOUNT(61),DEST(3*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_FOP OP(FOP_ADDP)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(26),RESONANCE(128),VCFTYPE(PEAK)
|
||||
GO4K_VCF FREQUENCY(64),RESONANCE(64),VCFTYPE(LOWPASS)
|
||||
GO4K_DST DRIVE(104), SNHFREQ(128)
|
||||
GO4K_DST DRIVE(104), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_PAN PANNING(64)
|
||||
GO4K_DLL PREGAIN(96),DRY(128),FEEDBACK(96),DAMP(64),FREQUENCY(0),DEPTH(0),DELAY(16),COUNT(1)
|
||||
GO4K_FOP OP(FOP_XCH)
|
||||
@ -744,18 +771,18 @@ GO4K_BEGIN_PARAMDEF(Instrument0)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument1)
|
||||
GO4K_ENV ATTAC(72),DECAY(96),SUSTAIN(96),RELEASE(88),GAIN(128)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(60),PHASE(32),GATES(0),COLOR(80),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(72),PHASE(32),GATES(0),COLOR(96),SHAPE(112),GAIN(64),FLAGS(SINE)
|
||||
GO4K_VCO TRANSPOSE(80),DETUNE(112),PHASE(0),GATES(0),COLOR(64),SHAPE(16),GAIN(128),FLAGS(PULSE|LFO)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_FOP OP(FOP_ADDP)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(80),RESONANCE(24),VCFTYPE(LOWPASS)
|
||||
GO4K_VCF FREQUENCY(48),RESONANCE(24),VCFTYPE(HIGHPASS)
|
||||
GO4K_DST DRIVE(64), SNHFREQ(128)
|
||||
GO4K_DST DRIVE(64), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_PAN PANNING(64)
|
||||
GO4K_DLL PREGAIN(96),DRY(128),FEEDBACK(96),DAMP(64),FREQUENCY(0),DEPTH(0),DELAY(16),COUNT(1)
|
||||
GO4K_FOP OP(FOP_XCH)
|
||||
@ -765,18 +792,18 @@ GO4K_BEGIN_PARAMDEF(Instrument1)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument2)
|
||||
GO4K_ENV ATTAC(32),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(64)
|
||||
GO4K_FST AMOUNT(120),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(120),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(32),GATES(0),COLOR(80),SHAPE(64),GAIN(128),FLAGS(PULSE)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(72),PHASE(32),GATES(0),COLOR(96),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_VCO TRANSPOSE(32),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(96),GAIN(128),FLAGS(SINE|LFO)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_FOP OP(FOP_ADDP)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(18),RESONANCE(64),VCFTYPE(PEAK)
|
||||
GO4K_VCF FREQUENCY(32),RESONANCE(48),VCFTYPE(LOWPASS)
|
||||
GO4K_DST DRIVE(88), SNHFREQ(128)
|
||||
GO4K_DST DRIVE(88), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_PAN PANNING(64)
|
||||
GO4K_DLL PREGAIN(64),DRY(128),FEEDBACK(96),DAMP(64),FREQUENCY(0),DEPTH(0),DELAY(16),COUNT(1)
|
||||
GO4K_FOP OP(FOP_XCH)
|
||||
@ -786,7 +813,7 @@ GO4K_BEGIN_PARAMDEF(Instrument2)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument3)
|
||||
GO4K_ENV ATTAC(0),DECAY(76),SUSTAIN(0),RELEASE(0),GAIN(32)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(64),GATES(0),COLOR(64),SHAPE(64),GAIN(128),FLAGS(NOISE)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(80),RESONANCE(128),VCFTYPE(LOWPASS)
|
||||
@ -795,10 +822,10 @@ GO4K_BEGIN_PARAMDEF(Instrument3)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument4)
|
||||
GO4K_ENV ATTAC(0),DECAY(64),SUSTAIN(96),RELEASE(64),GAIN(128)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_ENV ATTAC(0),DECAY(70),SUSTAIN(0),RELEASE(0),GAIN(128)
|
||||
GO4K_DST DRIVE(32), SNHFREQ(128)
|
||||
GO4K_FST AMOUNT(80),DEST(6*MAX_WORKSPACE_SLOTS+1)
|
||||
GO4K_DST DRIVE(32), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_FST AMOUNT(80),DEST(6*MAX_UNIT_SLOTS+1)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_VCO TRANSPOSE(46),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
@ -819,10 +846,10 @@ GO4K_BEGIN_PARAMDEF(Instrument5)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument6)
|
||||
GO4K_ENV ATTAC(0),DECAY(72),SUSTAIN(0),RELEASE(72),GAIN(128)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_ENV ATTAC(0),DECAY(56),SUSTAIN(0),RELEASE(0),GAIN(128)
|
||||
GO4K_FST AMOUNT(108),DEST(6*MAX_WORKSPACE_SLOTS+1)
|
||||
GO4K_FST AMOUNT(72),DEST(7*MAX_WORKSPACE_SLOTS+1)
|
||||
GO4K_FST AMOUNT(108),DEST(6*MAX_UNIT_SLOTS+1)
|
||||
GO4K_FST AMOUNT(72),DEST(7*MAX_UNIT_SLOTS+1)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_VCO TRANSPOSE(32),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(32),GAIN(64),FLAGS(SINE)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(80),GAIN(64),FLAGS(SINE)
|
||||
@ -850,8 +877,8 @@ GO4K_BEGIN_PARAMDEF(Instrument8)
|
||||
GO4K_ENV ATTAC(0),DECAY(0),SUSTAIN(128),RELEASE(0),GAIN(128)
|
||||
GO4K_VCO TRANSPOSE(48),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(64),GAIN(128),FLAGS(TRISAW|LFO)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_FSTG AMOUNT(72),DEST(2*go4k_instrument.size*MAX_VOICES+10*MAX_WORKSPACE_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FSTG AMOUNT(66),DEST(1*go4k_instrument.size*MAX_VOICES+10*MAX_WORKSPACE_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FSTG AMOUNT(72),DEST(2*go4k_instrument.size*MAX_VOICES+10*MAX_UNIT_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FSTG AMOUNT(66),DEST(1*go4k_instrument.size*MAX_VOICES+10*MAX_UNIT_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_END_PARAMDEF
|
||||
;// global parameters
|
||||
|
@ -19,7 +19,11 @@ Go4kVSTi::Go4kVSTi (audioMasterCallback audioMaster) : AudioEffectX (audioMaster
|
||||
hasVu (false);
|
||||
hasClip (false);
|
||||
isSynth ();
|
||||
#ifdef _8KLANG
|
||||
setUniqueID ('8klg');
|
||||
#else
|
||||
setUniqueID ('4klg');
|
||||
#endif
|
||||
}
|
||||
initProcess ();
|
||||
suspend ();
|
||||
@ -99,7 +103,11 @@ bool Go4kVSTi::copyProgram (long destination)
|
||||
//-----------------------------------------------------------------------------------------
|
||||
bool Go4kVSTi::getEffectName (char* name)
|
||||
{
|
||||
#ifdef _8KLANG
|
||||
strcpy (name, "8klang");
|
||||
#else
|
||||
strcpy (name, "4klang");
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -113,7 +121,11 @@ bool Go4kVSTi::getVendorString (char* text)
|
||||
//-----------------------------------------------------------------------------------------
|
||||
bool Go4kVSTi::getProductString (char* text)
|
||||
{
|
||||
#ifdef _8KLANG
|
||||
strcpy (text, "8klang");
|
||||
#else
|
||||
strcpy (text, "4klang");
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -66,14 +66,12 @@ void Go4kVSTi_LoadUnit(char* filename, BYTE* slot);
|
||||
// save unit date from specified slot
|
||||
void Go4kVSTi_SaveUnit(char* filename, BYTE* slot);
|
||||
|
||||
#define EXPORT_OBJECT_FILE_
|
||||
void Go4kVSTi_SaveByteStream(HINSTANCE hInst, char* filename, int useenvlevels, int useenotevalues, int clipoutput, int undenormalize, int objformat, int output16);
|
||||
|
||||
#define MAX_POLYPHONY 2
|
||||
#define MAX_INSTRUMENTS 16
|
||||
#define MAX_SLOT_VALUES 32
|
||||
|
||||
#define MAX_SLOTS 32
|
||||
#define MAX_UNITS 64
|
||||
#define MAX_UNIT_SLOTS 16
|
||||
|
||||
enum UnitID
|
||||
{
|
||||
@ -120,6 +118,7 @@ typedef struct ENV_val
|
||||
#define VCO_NOISE 0x08
|
||||
#define VCO_LFO 0x10
|
||||
#define VCO_GATE 0x20
|
||||
#define VCO_STEREO 0x40
|
||||
typedef struct VCO_val
|
||||
{
|
||||
BYTE id;
|
||||
@ -153,6 +152,7 @@ typedef struct VCO11_val
|
||||
#define VCF_BANDSTOP 0x3
|
||||
#define VCF_ALLPASS 0x7
|
||||
#define VCF_PEAK 0x8
|
||||
#define VCF_STEREO 0x10
|
||||
typedef struct VCF_val
|
||||
{
|
||||
BYTE id;
|
||||
@ -167,6 +167,7 @@ typedef struct DST_val
|
||||
BYTE id;
|
||||
BYTE drive;
|
||||
BYTE snhfreq;
|
||||
BYTE stereo;
|
||||
// GUI STUFF
|
||||
} *DST_valP;
|
||||
|
||||
@ -213,17 +214,22 @@ typedef struct DLL10_val
|
||||
#define FOP_MUL 0x7
|
||||
#define FOP_ADDP2 0x8
|
||||
#define FOP_LOADNOTE 0x9
|
||||
#define FOP_MULP2 0xa
|
||||
typedef struct FOP_val
|
||||
{
|
||||
BYTE id;
|
||||
BYTE flags;
|
||||
} *FOP_valP;
|
||||
|
||||
#define FST_SET 0x00
|
||||
#define FST_ADD 0x10
|
||||
#define FST_MUL 0x20
|
||||
#define FST_POP 0x40
|
||||
typedef struct FST_val
|
||||
{
|
||||
BYTE id;
|
||||
BYTE amount;
|
||||
BYTE dest;
|
||||
BYTE type;
|
||||
// GUI STUFF
|
||||
char dest_stack;
|
||||
char dest_unit;
|
||||
@ -269,7 +275,7 @@ typedef struct InstrumentWorkspace
|
||||
{
|
||||
DWORD release;
|
||||
DWORD note;
|
||||
float workspace[256];
|
||||
float workspace[MAX_UNITS*MAX_UNIT_SLOTS];
|
||||
float dlloutl;
|
||||
float dlloutr;
|
||||
float outl;
|
||||
@ -280,8 +286,8 @@ typedef struct SynthObject
|
||||
{
|
||||
DWORD Polyphony;
|
||||
char InstrumentNames[MAX_INSTRUMENTS][64];
|
||||
BYTE InstrumentValues[MAX_INSTRUMENTS][MAX_SLOTS][MAX_SLOT_VALUES]; // 16 instruments a 32 slots a 32 dowrds
|
||||
BYTE GlobalValues[MAX_SLOTS][MAX_SLOT_VALUES]; // 32 slots a 32 dwords
|
||||
BYTE InstrumentValues[MAX_INSTRUMENTS][MAX_UNITS][MAX_UNIT_SLOTS]; // 16 instruments a 32 slots a 32 dowrds
|
||||
BYTE GlobalValues[MAX_UNITS][MAX_UNIT_SLOTS]; // 32 slots a 32 dwords
|
||||
InstrumentWorkspace InstrumentWork[MAX_INSTRUMENTS*MAX_POLYPHONY];
|
||||
InstrumentWorkspace GlobalWork;
|
||||
DWORD InstrumentSignalValid[MAX_INSTRUMENTS];
|
||||
@ -289,6 +295,7 @@ typedef struct SynthObject
|
||||
float SignalTrace[MAX_INSTRUMENTS];
|
||||
int ControlInstrument[MAX_INSTRUMENTS];
|
||||
int VoiceIndex[MAX_INSTRUMENTS];
|
||||
int HighestSlotIndex[17];
|
||||
} *SynthObjectP;
|
||||
|
||||
SynthObjectP Go4kVSTi_GetSynthObject();
|
@ -29,9 +29,10 @@ static int SelectedIUnit = 0;
|
||||
static int SelectedGUnit = 0;
|
||||
static int SelectedTab = T_INSTRUMENT;
|
||||
static int SelectedInstrument = 0;
|
||||
static int LinkToInstrument[16] = { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 };
|
||||
static int SetUnit = -1;
|
||||
static char SliderValTxt[128];
|
||||
static DWORD UnitCopyBuffer[MAX_SLOT_VALUES];
|
||||
static DWORD UnitCopyBuffer[MAX_UNIT_SLOTS];
|
||||
static int InstrumentScrollPos[MAX_INSTRUMENTS];
|
||||
static int GlobalScrollPos;
|
||||
static int InitDone = false;
|
||||
@ -183,17 +184,18 @@ char* GetUnitString(BYTE* unit, char* unitname)
|
||||
if (unit[0] == M_VCF)
|
||||
{
|
||||
VCF_valP val = (VCF_valP)unit;
|
||||
if (val->type == VCF_LOWPASS)
|
||||
int ft = val->type & ~VCF_STEREO;
|
||||
if (ft == VCF_LOWPASS)
|
||||
sprintf(UnitDesc, " (%s F:%d)","Low", val->freq);
|
||||
if (val->type == VCF_HIGHPASS)
|
||||
if (ft == VCF_HIGHPASS)
|
||||
sprintf(UnitDesc, " (%s F:%d)","High", val->freq);
|
||||
if (val->type == VCF_BANDPASS)
|
||||
if (ft == VCF_BANDPASS)
|
||||
sprintf(UnitDesc, " (%s F:%d)","Band", val->freq);
|
||||
if (val->type == VCF_BANDSTOP)
|
||||
if (ft == VCF_BANDSTOP)
|
||||
sprintf(UnitDesc, " (%s F:%d)","Notch", val->freq);
|
||||
if (val->type == VCF_PEAK)
|
||||
if (ft == VCF_PEAK)
|
||||
sprintf(UnitDesc, " (%s F:%d)","Peak", val->freq);
|
||||
if (val->type == VCF_ALLPASS)
|
||||
if (ft == VCF_ALLPASS)
|
||||
sprintf(UnitDesc, " (%s F:%d)","All", val->freq);
|
||||
}
|
||||
if (unit[0] == M_FOP)
|
||||
@ -217,6 +219,8 @@ char* GetUnitString(BYTE* unit, char* unitname)
|
||||
sprintf(UnitDesc, " (%s)","2+/Pop");
|
||||
if (val->flags == FOP_LOADNOTE)
|
||||
sprintf(UnitDesc, " (%s)","LoadNote");
|
||||
if (val->flags == FOP_MULP2)
|
||||
sprintf(UnitDesc, " (%s)","2*/Pop");
|
||||
}
|
||||
if (unit[0] == M_DLL)
|
||||
{
|
||||
@ -235,16 +239,24 @@ char* GetUnitString(BYTE* unit, char* unitname)
|
||||
}
|
||||
else
|
||||
{
|
||||
std::string st;
|
||||
if (val->type & FST_ADD)
|
||||
st = "+";
|
||||
if (val->type & FST_MUL)
|
||||
st = "*";
|
||||
if (val->type & FST_POP)
|
||||
st += ",Pop";
|
||||
|
||||
if ((val->dest_stack != -1) && (val->dest_stack != SelectedInstrument))
|
||||
{
|
||||
if (val->dest_stack == MAX_INSTRUMENTS)
|
||||
sprintf(UnitDesc, " (GU%d %s)", val->dest_unit+1, UnitModulationTargetShortNames[val->dest_id][val->dest_slot]);
|
||||
sprintf(UnitDesc, " (GU%d %s)%s", val->dest_unit+1, UnitModulationTargetShortNames[val->dest_id][val->dest_slot], st.c_str());
|
||||
else
|
||||
sprintf(UnitDesc, " (%dU%d %s)",val->dest_stack+1, val->dest_unit+1, UnitModulationTargetShortNames[val->dest_id][val->dest_slot]);
|
||||
sprintf(UnitDesc, " (%dU%d %s)%s",val->dest_stack+1, val->dest_unit+1, UnitModulationTargetShortNames[val->dest_id][val->dest_slot], st.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(UnitDesc, " (U%d %s)", val->dest_unit+1, UnitModulationTargetShortNames[val->dest_id][val->dest_slot]);
|
||||
sprintf(UnitDesc, " (U%d %s)%s", val->dest_unit+1, UnitModulationTargetShortNames[val->dest_id][val->dest_slot], st.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -329,8 +341,13 @@ BOOL CALLBACK MainDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM l
|
||||
const char* instrument[] = {"1", "2", "3", "4", "5", "6", "7", "8",
|
||||
"9", "10", "11", "12", "13", "14", "15", "16" };
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_INSTRUMENT, CB_ADDSTRING, (WPARAM)0, (LPARAM)(instrument[i]));
|
||||
SendDlgItemMessage(hwndDlg, IDC_INSTRUMENTLINK, CB_ADDSTRING, (WPARAM)0, (LPARAM)(instrument[i]));
|
||||
}
|
||||
SendDlgItemMessage(hwndDlg, IDC_INSTRUMENTLINK, CB_ADDSTRING, (WPARAM)0, (LPARAM)("None"));
|
||||
SendDlgItemMessage(hwndDlg, IDC_INSTRUMENT, CB_SETCURSEL, (WPARAM)0, (LPARAM)0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_INSTRUMENT, CB_SETCURSEL, (WPARAM)16, (LPARAM)0);
|
||||
|
||||
const char* patternsize[] = {"8", "16", "32", "64"};
|
||||
for (int i = 0; i < 4; i++)
|
||||
@ -381,6 +398,59 @@ BOOL CALLBACK MainDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM l
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
// link to combo box
|
||||
if (((HWND)lParam) == GetDlgItem(hwndDlg, IDC_INSTRUMENTLINK))
|
||||
{
|
||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
||||
{
|
||||
int linkToInstrument = SendDlgItemMessage(hwndDlg, IDC_INSTRUMENTLINK, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
|
||||
if (SelectedInstrument == linkToInstrument)
|
||||
{
|
||||
MessageBox(DialogWnd, "Instrument cannot be linked to itself!", "Info", MB_OK);
|
||||
return TRUE;
|
||||
}
|
||||
if (linkToInstrument < 16)
|
||||
{
|
||||
// compare instruments
|
||||
for (int u = 0; u < MAX_UNITS; u++)
|
||||
{
|
||||
// special case, compare manually
|
||||
if (SynthObjP->InstrumentValues[SelectedInstrument][u][0] == M_DLL)
|
||||
{
|
||||
DLL_valP ds = (DLL_valP)SynthObjP->InstrumentValues[SelectedInstrument][u];
|
||||
DLL_valP dl = (DLL_valP)SynthObjP->InstrumentValues[linkToInstrument][u];
|
||||
if (ds->pregain != dl->pregain ||
|
||||
ds->dry != dl->dry ||
|
||||
ds->feedback != dl->feedback ||
|
||||
ds->damp != dl->damp ||
|
||||
ds->freq != dl->freq ||
|
||||
ds->depth != dl->depth ||
|
||||
ds->guidelay != dl->guidelay ||
|
||||
ds->synctype != dl->synctype ||
|
||||
ds->leftreverb != dl->leftreverb ||
|
||||
ds->reverb != dl->reverb)
|
||||
{
|
||||
MessageBox(DialogWnd, "Instruments cannot be linked as they differ!", "Info", MB_OK);
|
||||
SendDlgItemMessage(hwndDlg, IDC_INSTRUMENTLINK, CB_SETCURSEL, (WPARAM)16, (LPARAM)0);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (memcmp(SynthObjP->InstrumentValues[SelectedInstrument][u], SynthObjP->InstrumentValues[linkToInstrument][u], MAX_UNIT_SLOTS))
|
||||
{
|
||||
MessageBox(DialogWnd, "Instruments cannot be linked as they differ!", "Info", MB_OK);
|
||||
SendDlgItemMessage(hwndDlg, IDC_INSTRUMENTLINK, CB_SETCURSEL, (WPARAM)16, (LPARAM)0);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// set link
|
||||
LinkToInstrument[SelectedInstrument] = linkToInstrument;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
// Polyphony
|
||||
else if (((HWND)lParam) == GetDlgItem(hwndDlg, IDC_POLYPHONY))
|
||||
{
|
||||
@ -498,6 +568,7 @@ BOOL CALLBACK MainDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM l
|
||||
for (int i = 0; i < MAX_INSTRUMENTS; i++)
|
||||
{
|
||||
UpdateSignalCount(i);
|
||||
LinkToInstrument[i] = 16;
|
||||
}
|
||||
UpdateControls(SelectedInstrument);
|
||||
}
|
||||
@ -620,12 +691,14 @@ BOOL CALLBACK MainDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM l
|
||||
InstrumentScrollPos[SelectedInstrument] = 0;
|
||||
SynthObjP->InstrumentSignalValid[SelectedInstrument] = 0;
|
||||
Go4kVSTi_LoadInstrument(ofn.lpstrFile, (char)SelectedInstrument);
|
||||
LinkToInstrument[SelectedInstrument] = 16;
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalScrollPos = 0;
|
||||
SynthObjP->GlobalSignalValid = 0;
|
||||
Go4kVSTi_LoadInstrument(ofn.lpstrFile, (char)16);
|
||||
LinkToInstrument[SelectedInstrument] = 16;
|
||||
}
|
||||
UpdateControls(SelectedInstrument);
|
||||
}
|
||||
@ -864,17 +937,17 @@ BOOL CALLBACK MainDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM l
|
||||
case IDC_UNIT_COPY:
|
||||
{
|
||||
if (SelectedTab == T_INSTRUMENT)
|
||||
memcpy(UnitCopyBuffer, SynthObjP->InstrumentValues[SelectedInstrument][SelectedIUnit], MAX_SLOT_VALUES);
|
||||
memcpy(UnitCopyBuffer, SynthObjP->InstrumentValues[SelectedInstrument][SelectedIUnit], MAX_UNIT_SLOTS);
|
||||
else
|
||||
memcpy(UnitCopyBuffer, SynthObjP->GlobalValues[SelectedGUnit], MAX_SLOT_VALUES);
|
||||
memcpy(UnitCopyBuffer, SynthObjP->GlobalValues[SelectedGUnit], MAX_UNIT_SLOTS);
|
||||
return TRUE;
|
||||
}
|
||||
case IDC_UNIT_PASTE:
|
||||
{
|
||||
if (SelectedTab == T_INSTRUMENT)
|
||||
memcpy(SynthObjP->InstrumentValues[SelectedInstrument][SelectedIUnit], UnitCopyBuffer, MAX_SLOT_VALUES);
|
||||
memcpy(SynthObjP->InstrumentValues[SelectedInstrument][SelectedIUnit], UnitCopyBuffer, MAX_UNIT_SLOTS);
|
||||
else
|
||||
memcpy(SynthObjP->GlobalValues[SelectedGUnit], UnitCopyBuffer, MAX_SLOT_VALUES);
|
||||
memcpy(SynthObjP->GlobalValues[SelectedGUnit], UnitCopyBuffer, MAX_UNIT_SLOTS);
|
||||
UpdateControls(SelectedInstrument);
|
||||
return TRUE;
|
||||
}
|
||||
@ -960,6 +1033,7 @@ BOOL CALLBACK MainDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM l
|
||||
for (int i = 0; i < MAX_INSTRUMENTS; i++)
|
||||
{
|
||||
UpdateSignalCount(i);
|
||||
LinkToInstrument[i] = 16;
|
||||
}
|
||||
UpdateControls(SelectedInstrument);
|
||||
}
|
||||
@ -981,6 +1055,7 @@ BOOL CALLBACK MainDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM l
|
||||
InstrumentScrollPos[SelectedInstrument] = 0;
|
||||
SynthObjP->InstrumentSignalValid[SelectedInstrument] = 0;
|
||||
Go4kVSTi_LoadInstrument(DropFileName, (char)SelectedInstrument);
|
||||
LinkToInstrument[SelectedInstrument] = 16;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1245,7 +1320,7 @@ void Go4kVSTiGUI_Create(HINSTANCE hInst)
|
||||
timerID = SetTimer(DialogWnd, timer, 200, TimerProc);
|
||||
backupTimerID = SetTimer(DialogWnd, backupTimer, 60*1000, BackupTimerProc);
|
||||
|
||||
memset(UnitCopyBuffer, 0, MAX_SLOT_VALUES);
|
||||
memset(UnitCopyBuffer, 0, MAX_UNIT_SLOTS);
|
||||
|
||||
// set fst instrument elements
|
||||
const char* idest[] = {"Local", "Instrument 1", "Instrument 2", "Instrument 3", "Instrument 4", "Instrument 5", "Instrument 6", "Instrument 7", "Instrument 8",
|
||||
@ -1313,6 +1388,38 @@ void Go4kVSTiGUI_Destroy()
|
||||
DestroyWindow(DialogWnd);
|
||||
}
|
||||
|
||||
void LinkInstrumentUnit(int selectedInstrument, int selectedIUnit)
|
||||
{
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
if (LinkToInstrument[i] == selectedInstrument)
|
||||
{
|
||||
if (SynthObjP->InstrumentValues[selectedInstrument][selectedIUnit][0] == M_DLL)
|
||||
{
|
||||
DLL_valP ds = (DLL_valP)SynthObjP->InstrumentValues[selectedInstrument][selectedIUnit];
|
||||
DLL_valP dl = (DLL_valP)SynthObjP->InstrumentValues[i][selectedIUnit];
|
||||
dl->id = ds->id;
|
||||
dl->pregain = ds->pregain;
|
||||
dl->dry = ds->dry;
|
||||
dl->feedback = ds->feedback;
|
||||
dl->damp = ds->damp;
|
||||
dl->freq = ds->freq;
|
||||
dl->depth = ds->depth;
|
||||
dl->guidelay = ds->guidelay;
|
||||
dl->synctype = ds->synctype;
|
||||
dl->leftreverb = ds->leftreverb;
|
||||
dl->reverb = ds->reverb;
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(SynthObjP->InstrumentValues[i][selectedIUnit],
|
||||
SynthObjP->InstrumentValues[selectedInstrument][selectedIUnit],
|
||||
MAX_UNIT_SLOTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
Go4kVSTi_UpdateDelayTimes();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -1331,10 +1438,11 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
ButtonGroupChanged(IDC_VCO_SINE, IDC_VCO_GATE, LOWORD(id), M_VCO, res);
|
||||
if (res)
|
||||
{
|
||||
v->flags = 0;
|
||||
if (SendDlgItemMessage(ModuleWnd[M_VCO], IDC_VCO_LFO, BM_GETCHECK, 0, 0)==BST_CHECKED)
|
||||
v->flags = VCO_LFO;
|
||||
else
|
||||
v->flags = 0;
|
||||
v->flags |= VCO_LFO;
|
||||
if (SendDlgItemMessage(ModuleWnd[M_VCO], IDC_VCO_STEREO, BM_GETCHECK, 0, 0)==BST_CHECKED)
|
||||
v->flags |= VCO_STEREO;
|
||||
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCO], IDC_VCO_TRANSPOSE), true);
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCO], IDC_VCO_TRANSPOSE_VAL), true);
|
||||
@ -1370,8 +1478,6 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
if (IDC_VCO_SINE == res)
|
||||
{
|
||||
v->flags |= VCO_SINE;
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCO], IDC_VCO_COLOR), false);
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCO], IDC_VCO_COLOR_VAL), false);
|
||||
}
|
||||
if (IDC_VCO_TRISAW == res)
|
||||
{
|
||||
@ -1403,6 +1509,13 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
else
|
||||
v->flags &= ~VCO_LFO;
|
||||
}
|
||||
if (LOWORD(id) == IDC_VCO_STEREO)
|
||||
{
|
||||
if (SendDlgItemMessage(ModuleWnd[M_VCO], IDC_VCO_STEREO, BM_GETCHECK, 0, 0)==BST_CHECKED)
|
||||
v->flags |= VCO_STEREO;
|
||||
else
|
||||
v->flags &= ~VCO_STEREO;
|
||||
}
|
||||
// gate bits changed?
|
||||
WORD gatebits;
|
||||
GetCheckboxGroupBitmask(IDC_VCO_GATE1, IDC_VCO_GATE16, LOWORD(id), M_VCO, gatebits, res);
|
||||
@ -1413,6 +1526,8 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
// adjust color slider
|
||||
InitSliderCenter(ModuleWnd[M_VCO], IDC_VCO_COLOR, 0, 128, v->color);
|
||||
}
|
||||
// update signalcount
|
||||
UpdateSignalCount(SelectedInstrument);
|
||||
}
|
||||
else if (uid == M_VCF)
|
||||
{
|
||||
@ -1420,19 +1535,42 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
ButtonGroupChanged(IDC_VCF_LOW, IDC_VCF_ALL, LOWORD(id), M_VCF, res);
|
||||
if (res)
|
||||
{
|
||||
int stereo = v->type & VCF_STEREO;
|
||||
if (res == IDC_VCF_LOW)
|
||||
v->type = VCF_LOWPASS;
|
||||
v->type = stereo | VCF_LOWPASS;
|
||||
else if (res == IDC_VCF_HIGH)
|
||||
v->type = VCF_HIGHPASS;
|
||||
v->type = stereo | VCF_HIGHPASS;
|
||||
else if (res == IDC_VCF_BAND)
|
||||
v->type = VCF_BANDPASS;
|
||||
v->type = stereo | VCF_BANDPASS;
|
||||
else if (res == IDC_VCF_NOTCH)
|
||||
v->type = VCF_BANDSTOP;
|
||||
v->type = stereo | VCF_BANDSTOP;
|
||||
else if (res == IDC_VCF_PEAK)
|
||||
v->type = VCF_PEAK;
|
||||
v->type = stereo | VCF_PEAK;
|
||||
else if (res == IDC_VCF_ALL)
|
||||
v->type = VCF_ALLPASS;
|
||||
v->type = stereo | VCF_ALLPASS;
|
||||
}
|
||||
if (LOWORD(id) == IDC_VCF_STEREO)
|
||||
{
|
||||
if (SendDlgItemMessage(ModuleWnd[M_VCF], IDC_VCF_STEREO, BM_GETCHECK, 0, 0)==BST_CHECKED)
|
||||
v->type |= VCF_STEREO;
|
||||
else
|
||||
v->type &= ~VCF_STEREO;
|
||||
}
|
||||
// update signalcount
|
||||
UpdateSignalCount(SelectedInstrument);
|
||||
}
|
||||
else if (uid == M_DST)
|
||||
{
|
||||
DST_valP v = (DST_valP)val;
|
||||
if (LOWORD(id) == IDC_DST_STEREO)
|
||||
{
|
||||
if (SendDlgItemMessage(ModuleWnd[M_DST], IDC_DST_STEREO, BM_GETCHECK, 0, 0)==BST_CHECKED)
|
||||
v->stereo = VCF_STEREO;
|
||||
else
|
||||
v->stereo = 0;
|
||||
}
|
||||
// update signalcount
|
||||
UpdateSignalCount(SelectedInstrument);
|
||||
}
|
||||
else if (uid == M_DLL)
|
||||
{
|
||||
@ -1504,7 +1642,7 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
SynthObjP->GlobalSignalValid = 0;
|
||||
}
|
||||
FOP_valP v = (FOP_valP)val;
|
||||
ButtonGroupChanged(IDC_FOP_POP, IDC_FOP_LOADNOTE, LOWORD(id), M_FOP, res);
|
||||
ButtonGroupChanged(IDC_FOP_POP, IDC_FOP_MULP2, LOWORD(id), M_FOP, res);
|
||||
if (res)
|
||||
{
|
||||
v->flags = 1 + res - IDC_FOP_POP;
|
||||
@ -1546,10 +1684,10 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_RESETCONTENT, (WPARAM)0, (LPARAM)0);
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_ADDSTRING, (WPARAM)0, (LPARAM)"- Nothing Selected -");
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
char unitname[128], unitname2[128];
|
||||
sprintf(unitname, "%d: %s", i+1, GetUnitString(&units[i*MAX_SLOT_VALUES], unitname2));
|
||||
sprintf(unitname, "%d: %s", i+1, GetUnitString(&units[i*MAX_UNIT_SLOTS], unitname2));
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_ADDSTRING, (WPARAM)0, (LPARAM)unitname);
|
||||
}
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_SETCURSEL, (WPARAM)0, (LPARAM)0);
|
||||
@ -1636,6 +1774,28 @@ void SetButtonParams(int uid, BYTE* val, WPARAM id, LPARAM lParam)
|
||||
|
||||
v->dest_id = slots[0];
|
||||
}
|
||||
ButtonGroupChanged(IDC_FST_SET, IDC_FST_MUL, LOWORD(id), M_FST, res);
|
||||
if (res)
|
||||
{
|
||||
int pop = v->type & FST_POP;
|
||||
if (res == IDC_FST_SET)
|
||||
v->type = FST_SET;
|
||||
else if (res == IDC_FST_ADD)
|
||||
v->type = FST_ADD;
|
||||
else if (res == IDC_FST_MUL)
|
||||
v->type = FST_MUL;
|
||||
if (pop)
|
||||
v->type |= FST_POP;
|
||||
}
|
||||
if (LOWORD(id) == IDC_FST_POP)
|
||||
{
|
||||
if (SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_POP, BM_GETCHECK, 0, 0)==BST_CHECKED)
|
||||
v->type |= FST_POP;
|
||||
else
|
||||
v->type &= ~FST_POP;
|
||||
}
|
||||
// update signalcount
|
||||
UpdateSignalCount(SelectedInstrument);
|
||||
}
|
||||
else if (uid == M_ACC)
|
||||
{
|
||||
@ -1661,6 +1821,7 @@ bool ButtonPressed(WPARAM id, LPARAM lParam)
|
||||
char unitname[128];
|
||||
GetUnitString(SynthObjP->InstrumentValues[SelectedInstrument][SelectedIUnit], unitname);
|
||||
SetWindowText(GetDlgItem(TabWnd[T_INSTRUMENT], IDC_ISTACK_UNIT1+SelectedIUnit*6), unitname);
|
||||
LinkInstrumentUnit(SelectedInstrument, SelectedIUnit);
|
||||
}
|
||||
else if (SelectedTab == T_GLOBAL)
|
||||
{
|
||||
@ -1881,6 +2042,7 @@ bool ScrollbarChanged(HWND hwndDlg, WPARAM wParam, LPARAM lParam)
|
||||
char unitname[128];
|
||||
GetUnitString(SynthObjP->InstrumentValues[SelectedInstrument][SelectedIUnit], unitname);
|
||||
SetWindowText(GetDlgItem(TabWnd[T_INSTRUMENT], IDC_ISTACK_UNIT1+SelectedIUnit*6), unitname);
|
||||
LinkInstrumentUnit(SelectedInstrument, SelectedIUnit);
|
||||
}
|
||||
else if (SelectedTab == T_GLOBAL)
|
||||
{
|
||||
@ -1909,7 +2071,7 @@ void CheckModulations(int unit1, int unit2 = -1)
|
||||
// look in all instruments if a store unit had its target on one of the changed units
|
||||
for (int i = 0; i < MAX_INSTRUMENTS; i++)
|
||||
{
|
||||
for (int u = 0; u < MAX_SLOTS; u++)
|
||||
for (int u = 0; u < MAX_UNITS; u++)
|
||||
{
|
||||
if (SynthObjP->InstrumentValues[i][u][0] == M_FST)
|
||||
{
|
||||
@ -1959,7 +2121,7 @@ void CheckModulations(int unit1, int unit2 = -1)
|
||||
}
|
||||
}
|
||||
// now check the global slots
|
||||
for (int u = 0; u < MAX_SLOTS; u++)
|
||||
for (int u = 0; u < MAX_UNITS; u++)
|
||||
{
|
||||
if (SynthObjP->GlobalValues[u][0] == M_FST)
|
||||
{
|
||||
@ -2008,7 +2170,7 @@ void CheckModulations(int unit1, int unit2 = -1)
|
||||
// look in all instruments if a store unit had its target on a global unit
|
||||
for (int i = 0; i < MAX_INSTRUMENTS; i++)
|
||||
{
|
||||
for (int u = 0; u < MAX_SLOTS; u++)
|
||||
for (int u = 0; u < MAX_UNITS; u++)
|
||||
{
|
||||
if (SynthObjP->InstrumentValues[i][u][0] == M_FST)
|
||||
{
|
||||
@ -2048,7 +2210,7 @@ void CheckModulations(int unit1, int unit2 = -1)
|
||||
}
|
||||
}
|
||||
// now check the global slots
|
||||
for (int u = 0; u < MAX_SLOTS; u++)
|
||||
for (int u = 0; u < MAX_UNITS; u++)
|
||||
{
|
||||
if (SynthObjP->GlobalValues[u][0] == M_FST)
|
||||
{
|
||||
@ -2097,7 +2259,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
if (SelectedTab == T_INSTRUMENT)
|
||||
{
|
||||
// check unit click
|
||||
InterleavedButtonGroupChanged(IDC_ISTACK_UNIT1, MAX_SLOTS, LOWORD(id), res);
|
||||
InterleavedButtonGroupChanged(IDC_ISTACK_UNIT1, MAX_UNITS, LOWORD(id), res);
|
||||
if (res >= 0)
|
||||
{
|
||||
SelectedIUnit = res;
|
||||
@ -2105,7 +2267,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
}
|
||||
|
||||
// check down click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_ISTACK_DOWN1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2114,13 +2276,15 @@ bool StackButtonPressed(WPARAM id)
|
||||
EnableWindow(GetDlgItem(TabWnd[T_INSTRUMENT], tid), false);
|
||||
Go4kVSTi_FlipInstrumentSlots(SelectedInstrument, i, i+1);
|
||||
CheckModulations(i, i+1);
|
||||
LinkInstrumentUnit(SelectedInstrument, i);
|
||||
LinkInstrumentUnit(SelectedInstrument, i+1);
|
||||
UpdateControls(SelectedInstrument);
|
||||
EnableWindow(GetDlgItem(TabWnd[T_INSTRUMENT], tid), true);
|
||||
}
|
||||
}
|
||||
|
||||
// check up click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_ISTACK_UP1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2129,13 +2293,15 @@ bool StackButtonPressed(WPARAM id)
|
||||
EnableWindow(GetDlgItem(TabWnd[T_INSTRUMENT], tid), false);
|
||||
Go4kVSTi_FlipInstrumentSlots(SelectedInstrument, i, i-1);
|
||||
CheckModulations(i, i-1);
|
||||
LinkInstrumentUnit(SelectedInstrument, i);
|
||||
LinkInstrumentUnit(SelectedInstrument, i-1);
|
||||
UpdateControls(SelectedInstrument);
|
||||
EnableWindow(GetDlgItem(TabWnd[T_INSTRUMENT], tid), true);
|
||||
}
|
||||
}
|
||||
|
||||
// check set click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_ISTACK_SET1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2149,6 +2315,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
Go4kVSTi_InitInstrumentSlot(SelectedInstrument, i, SetUnit);
|
||||
CheckModulations(i);
|
||||
SelectedIUnit = i;
|
||||
LinkInstrumentUnit(SelectedInstrument, i);
|
||||
UpdateControls(SelectedInstrument);
|
||||
}
|
||||
}
|
||||
@ -2158,7 +2325,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
}
|
||||
|
||||
// check reset click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_ISTACK_RESET1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2166,7 +2333,9 @@ bool StackButtonPressed(WPARAM id)
|
||||
SynthObjP->InstrumentSignalValid[SelectedInstrument] = 0;
|
||||
EnableWindow(GetDlgItem(TabWnd[T_INSTRUMENT], tid), false);
|
||||
Go4kVSTi_ClearInstrumentSlot(SelectedInstrument, i);
|
||||
LinkInstrumentUnit(SelectedInstrument, i);
|
||||
CheckModulations(i);
|
||||
|
||||
UpdateControls(SelectedInstrument);
|
||||
EnableWindow(GetDlgItem(TabWnd[T_INSTRUMENT], tid), true);
|
||||
}
|
||||
@ -2175,7 +2344,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
else if (SelectedTab == T_GLOBAL)
|
||||
{
|
||||
// check unit click
|
||||
InterleavedButtonGroupChanged(IDC_GSTACK_UNIT1, MAX_SLOTS, LOWORD(id), res);
|
||||
InterleavedButtonGroupChanged(IDC_GSTACK_UNIT1, MAX_UNITS, LOWORD(id), res);
|
||||
if (res >= 0)
|
||||
{
|
||||
SelectedGUnit = res;
|
||||
@ -2183,7 +2352,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
}
|
||||
|
||||
// check down click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_GSTACK_DOWN1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2198,7 +2367,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
}
|
||||
|
||||
// check up click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_GSTACK_UP1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2213,7 +2382,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
}
|
||||
|
||||
// check set click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_GSTACK_SET1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2235,7 +2404,7 @@ bool StackButtonPressed(WPARAM id)
|
||||
}
|
||||
|
||||
// check reset click
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
WORD tid = IDC_GSTACK_RESET1+i*6;
|
||||
if (LOWORD(id) == tid)
|
||||
@ -2319,8 +2488,15 @@ void UpdateSignalCount(int channel)
|
||||
int valid = 1;
|
||||
int signalcount = 0;
|
||||
// check stack validity
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
SynthObjP->HighestSlotIndex[channel] = 63;
|
||||
int highestSlotIndex = 0;
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
if (SynthObjP->InstrumentValues[channel][i][0] != 0)
|
||||
{
|
||||
if (i >= highestSlotIndex)
|
||||
highestSlotIndex = i;
|
||||
}
|
||||
// check unit precondition
|
||||
int precond = UnitPreSignals[SynthObjP->InstrumentValues[channel][i][0]];
|
||||
// adjust for arithmetic unit (depending on mode)
|
||||
@ -2335,12 +2511,28 @@ void UpdateSignalCount(int channel)
|
||||
precond = 1;
|
||||
if (v->flags == FOP_ADDP2)
|
||||
precond = 4;
|
||||
if (v->flags == FOP_MULP2)
|
||||
precond = 4;
|
||||
}
|
||||
// adjust for stereo in vcf (we need 2 signals for stereo)
|
||||
if (SynthObjP->InstrumentValues[channel][i][0] == M_VCF)
|
||||
{
|
||||
VCF_valP v = (VCF_valP)(SynthObjP->InstrumentValues[channel][i]);
|
||||
if (v->type & VCF_STEREO)
|
||||
precond += 1;
|
||||
}
|
||||
// adjust for stereo in dst (we need 2 signals for stereo)
|
||||
if (SynthObjP->InstrumentValues[channel][i][0] == M_DST)
|
||||
{
|
||||
DST_valP v = (DST_valP)(SynthObjP->InstrumentValues[channel][i]);
|
||||
if (v->stereo & VCF_STEREO)
|
||||
precond += 1;
|
||||
}
|
||||
if (signalcount < precond)
|
||||
{
|
||||
valid = 0;
|
||||
Go4kVSTi_ClearInstrumentWorkspace(channel);
|
||||
for (int j = i; j < MAX_SLOTS; j++)
|
||||
for (int j = i; j < MAX_UNITS; j++)
|
||||
{
|
||||
char txt[10];
|
||||
sprintf(txt, "%d", signalcount);
|
||||
@ -2369,15 +2561,31 @@ void UpdateSignalCount(int channel)
|
||||
signalcount--;
|
||||
if (v->flags == FOP_ADDP2)
|
||||
signalcount-=2;
|
||||
if (v->flags == FOP_MULP2)
|
||||
signalcount-=2;
|
||||
if (v->flags == FOP_LOADNOTE)
|
||||
signalcount++;
|
||||
}
|
||||
// adjust for stereo in vco (2 signals for stereo)
|
||||
if (SynthObjP->InstrumentValues[channel][i][0] == M_VCO)
|
||||
{
|
||||
VCO_valP v = (VCO_valP)(SynthObjP->InstrumentValues[channel][i]);
|
||||
if (v->flags & VCO_STEREO)
|
||||
signalcount++;
|
||||
}
|
||||
// adjust for pop in store
|
||||
if (SynthObjP->InstrumentValues[channel][i][0] == M_FST)
|
||||
{
|
||||
FST_valP v = (FST_valP)(SynthObjP->InstrumentValues[channel][i]);
|
||||
if (v->type & FST_POP)
|
||||
signalcount--;
|
||||
}
|
||||
// check stack undeflow
|
||||
if (signalcount < 0)
|
||||
{
|
||||
valid = 0;
|
||||
Go4kVSTi_ClearInstrumentWorkspace(channel);
|
||||
for (int j = i; j < MAX_SLOTS; j++)
|
||||
for (int j = i; j < MAX_UNITS; j++)
|
||||
{
|
||||
char txt[10];
|
||||
sprintf(txt, "%d", signalcount);
|
||||
@ -2393,7 +2601,7 @@ void UpdateSignalCount(int channel)
|
||||
{
|
||||
valid = 0;
|
||||
Go4kVSTi_ClearInstrumentWorkspace(channel);
|
||||
for (int j = i; j < MAX_SLOTS; j++)
|
||||
for (int j = i; j < MAX_UNITS; j++)
|
||||
{
|
||||
char txt[10];
|
||||
sprintf(txt, "%d", signalcount);
|
||||
@ -2427,6 +2635,15 @@ void UpdateSignalCount(int channel)
|
||||
SetWindowText(GetDlgItem(DialogWnd, IDC_ISTACK_VALID), "Signal INVALID! Signal Count != 0 after last unit");
|
||||
}
|
||||
}
|
||||
SynthObjP->HighestSlotIndex[channel] = highestSlotIndex;
|
||||
if (channel < 16)
|
||||
{
|
||||
if (LinkToInstrument[channel] != 16)
|
||||
{
|
||||
SynthObjP->InstrumentSignalValid[LinkToInstrument[channel]] = SynthObjP->InstrumentSignalValid[channel];
|
||||
SynthObjP->HighestSlotIndex[LinkToInstrument[channel]] = SynthObjP->HighestSlotIndex[channel];
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// global
|
||||
@ -2437,8 +2654,15 @@ void UpdateSignalCount(int channel)
|
||||
valid = 1;
|
||||
signalcount = 0;
|
||||
// check stack validity
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
SynthObjP->HighestSlotIndex[16] = 63;
|
||||
highestSlotIndex = 0;
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
if (SynthObjP->GlobalValues[i][0] != 0)
|
||||
{
|
||||
if (i >= highestSlotIndex)
|
||||
highestSlotIndex = i;
|
||||
}
|
||||
// check unit precondition
|
||||
int precond = UnitPreSignals[SynthObjP->GlobalValues[i][0]];
|
||||
// adjust for arithmetic unit (depending on mode)
|
||||
@ -2453,12 +2677,28 @@ void UpdateSignalCount(int channel)
|
||||
precond = 1;
|
||||
if (v->flags == FOP_ADDP2)
|
||||
precond = 4;
|
||||
if (v->flags == FOP_MULP2)
|
||||
precond = 4;
|
||||
}
|
||||
// adjust for stereo in vcf (we need 2 signals for stereo)
|
||||
if (SynthObjP->GlobalValues[i][0] == M_VCF)
|
||||
{
|
||||
VCF_valP v = (VCF_valP)(SynthObjP->GlobalValues[i]);
|
||||
if (v->type & VCF_STEREO)
|
||||
precond += 1;
|
||||
}
|
||||
// adjust for stereo in dst (we need 2 signals for stereo)
|
||||
if (SynthObjP->GlobalValues[i][0] == M_DST)
|
||||
{
|
||||
DST_valP v = (DST_valP)(SynthObjP->GlobalValues[i]);
|
||||
if (v->stereo & VCF_STEREO)
|
||||
precond += 1;
|
||||
}
|
||||
if (signalcount < precond)
|
||||
{
|
||||
valid = 0;
|
||||
Go4kVSTi_ClearGlobalWorkspace();
|
||||
for (int j = i; j < MAX_SLOTS; j++)
|
||||
for (int j = i; j < MAX_UNITS; j++)
|
||||
{
|
||||
char txt[10];
|
||||
sprintf(txt, "%d", signalcount);
|
||||
@ -2487,15 +2727,31 @@ void UpdateSignalCount(int channel)
|
||||
signalcount--;
|
||||
if (v->flags == FOP_ADDP2)
|
||||
signalcount-=2;
|
||||
if (v->flags == FOP_MULP2)
|
||||
signalcount-=2;
|
||||
if (v->flags == FOP_LOADNOTE)
|
||||
signalcount++;
|
||||
}
|
||||
// adjust for stereo in vco (2 signals for stereo)
|
||||
if (SynthObjP->GlobalValues[i][0] == M_VCO)
|
||||
{
|
||||
VCO_valP v = (VCO_valP)(SynthObjP->GlobalValues[i]);
|
||||
if (v->flags & VCO_STEREO)
|
||||
signalcount++;
|
||||
}
|
||||
// adjust for pop in store
|
||||
if (SynthObjP->GlobalValues[i][0] == M_FST)
|
||||
{
|
||||
FST_valP v = (FST_valP)(SynthObjP->GlobalValues[i]);
|
||||
if (v->type & FST_POP)
|
||||
signalcount--;
|
||||
}
|
||||
// check stack undeflow
|
||||
if (signalcount < 0)
|
||||
{
|
||||
valid = 0;
|
||||
Go4kVSTi_ClearGlobalWorkspace();
|
||||
for (int j = i; j < MAX_SLOTS; j++)
|
||||
for (int j = i; j < MAX_UNITS; j++)
|
||||
{
|
||||
char txt[10];
|
||||
sprintf(txt, "%d", signalcount);
|
||||
@ -2511,7 +2767,7 @@ void UpdateSignalCount(int channel)
|
||||
{
|
||||
valid = 0;
|
||||
Go4kVSTi_ClearGlobalWorkspace();
|
||||
for (int j = i; j < MAX_SLOTS; j++)
|
||||
for (int j = i; j < MAX_UNITS; j++)
|
||||
{
|
||||
char txt[10];
|
||||
sprintf(txt, "%d", signalcount);
|
||||
@ -2545,6 +2801,7 @@ void UpdateSignalCount(int channel)
|
||||
SetWindowText(GetDlgItem(DialogWnd, IDC_GSTACK_VALID), "Signal INVALID! Signal Count != 0 after last unit");
|
||||
}
|
||||
}
|
||||
SynthObjP->HighestSlotIndex[16] = highestSlotIndex;
|
||||
}
|
||||
|
||||
void UpdateControls(int channel)
|
||||
@ -2552,8 +2809,9 @@ void UpdateControls(int channel)
|
||||
int res;
|
||||
UpdateSignalCount(channel);
|
||||
SetDlgItemText(DialogWnd, IDC_INSTRUMENT_NAME, (LPSTR)&(SynthObjP->InstrumentNames[channel]));
|
||||
SendDlgItemMessage(DialogWnd, IDC_INSTRUMENTLINK, CB_SETCURSEL, (WPARAM)LinkToInstrument[SelectedInstrument], (LPARAM)0);
|
||||
SendDlgItemMessage(DialogWnd, IDC_POLYPHONY, CB_SETCURSEL, (WPARAM)(SynthObjP->Polyphony-1), (LPARAM)0);
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
// set unit text
|
||||
char unitname[128];
|
||||
@ -2562,8 +2820,8 @@ void UpdateControls(int channel)
|
||||
GetUnitString(SynthObjP->GlobalValues[i], unitname);
|
||||
SetWindowText(GetDlgItem(TabWnd[T_GLOBAL], IDC_GSTACK_UNIT1+i*6), unitname);
|
||||
}
|
||||
InterleavedButtonGroupChanged(IDC_ISTACK_UNIT1, MAX_SLOTS, IDC_ISTACK_UNIT1+SelectedIUnit*6, res);
|
||||
InterleavedButtonGroupChanged(IDC_GSTACK_UNIT1, MAX_SLOTS, IDC_GSTACK_UNIT1+SelectedGUnit*6, res);
|
||||
InterleavedButtonGroupChanged(IDC_ISTACK_UNIT1, MAX_UNITS, IDC_ISTACK_UNIT1+SelectedIUnit*6, res);
|
||||
InterleavedButtonGroupChanged(IDC_GSTACK_UNIT1, MAX_UNITS, IDC_GSTACK_UNIT1+SelectedGUnit*6, res);
|
||||
UpdateModuleParamWindow(SelectedTab, -1);
|
||||
}
|
||||
|
||||
@ -2615,8 +2873,6 @@ void UpdateModule(int uid, BYTE* val)
|
||||
if (v->flags & VCO_SINE)
|
||||
{
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCO], IDC_VCO_SINE), false);
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCO], IDC_VCO_COLOR), false);
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCO], IDC_VCO_COLOR_VAL), false);
|
||||
}
|
||||
else if (v->flags & VCO_TRISAW)
|
||||
{
|
||||
@ -2652,6 +2908,7 @@ void UpdateModule(int uid, BYTE* val)
|
||||
WORD gatebits = ((WORD)v->color << 8) | (WORD)v->gate;
|
||||
SetCheckboxGroupBitmask(IDC_VCO_GATE1, IDC_VCO_GATE16, M_VCO, gatebits);
|
||||
SendDlgItemMessage(ModuleWnd[M_VCO], IDC_VCO_LFO, BM_SETCHECK, v->flags & VCO_LFO, 0);
|
||||
SendDlgItemMessage(ModuleWnd[M_VCO], IDC_VCO_STEREO, BM_SETCHECK, v->flags & VCO_STEREO, 0);
|
||||
}
|
||||
else if (uid == M_VCF)
|
||||
{
|
||||
@ -2663,18 +2920,22 @@ void UpdateModule(int uid, BYTE* val)
|
||||
|
||||
// buttons
|
||||
DisableButtonGroup(IDC_VCF_LOW, IDC_VCF_ALL, M_VCF);
|
||||
if (v->type == VCF_LOWPASS)
|
||||
|
||||
int mode = v->type & ~VCF_STEREO;
|
||||
if (mode == VCF_LOWPASS)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCF], IDC_VCF_LOW), false);
|
||||
else if (v->type == VCF_HIGHPASS)
|
||||
else if (mode == VCF_HIGHPASS)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCF], IDC_VCF_HIGH), false);
|
||||
else if (v->type == VCF_BANDPASS)
|
||||
else if (mode == VCF_BANDPASS)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCF], IDC_VCF_BAND), false);
|
||||
else if (v->type == VCF_BANDSTOP)
|
||||
else if (mode == VCF_BANDSTOP)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCF], IDC_VCF_NOTCH), false);
|
||||
else if (v->type == VCF_PEAK)
|
||||
else if (mode == VCF_PEAK)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCF], IDC_VCF_PEAK), false);
|
||||
else if (v->type == VCF_ALLPASS)
|
||||
else if (mode == VCF_ALLPASS)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_VCF], IDC_VCF_ALL), false);
|
||||
|
||||
SendDlgItemMessage(ModuleWnd[M_VCF], IDC_VCF_STEREO, BM_SETCHECK, v->type & VCF_STEREO, 0);
|
||||
}
|
||||
else if (uid == M_DST)
|
||||
{
|
||||
@ -2683,6 +2944,7 @@ void UpdateModule(int uid, BYTE* val)
|
||||
InitSliderCenter(ModuleWnd[uid], IDC_DST_DRIVE, 0, 128, v->drive);
|
||||
// snhfreq
|
||||
InitSlider(ModuleWnd[uid], IDC_DST_SNH, 0, 128, v->snhfreq);
|
||||
SendDlgItemMessage(ModuleWnd[M_DST], IDC_DST_STEREO, BM_SETCHECK, v->stereo & VCF_STEREO, 0);
|
||||
}
|
||||
else if (uid == M_DLL)
|
||||
{
|
||||
@ -2751,7 +3013,7 @@ void UpdateModule(int uid, BYTE* val)
|
||||
else if (uid == M_FOP)
|
||||
{
|
||||
FOP_valP v = (FOP_valP)val;
|
||||
DisableButtonGroup(IDC_FOP_POP, IDC_FOP_LOADNOTE, M_FOP);
|
||||
DisableButtonGroup(IDC_FOP_POP, IDC_FOP_MULP2, M_FOP);
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_FOP], IDC_FOP_POP + v->flags-FOP_POP), false);
|
||||
}
|
||||
else if (uid == M_FST)
|
||||
@ -2795,10 +3057,10 @@ void UpdateModule(int uid, BYTE* val)
|
||||
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_RESETCONTENT, (WPARAM)0, (LPARAM)0);
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_ADDSTRING, (WPARAM)0, (LPARAM)"- Nothing Selected -");
|
||||
for (int i = 0; i < MAX_SLOTS; i++)
|
||||
for (int i = 0; i < MAX_UNITS; i++)
|
||||
{
|
||||
char unitname[128], unitname2[128];
|
||||
sprintf(unitname, "%d: %s", i+1, GetUnitString(&units[i*MAX_SLOT_VALUES], unitname2));
|
||||
sprintf(unitname, "%d: %s", i+1, GetUnitString(&units[i*MAX_UNIT_SLOTS], unitname2));
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_ADDSTRING, (WPARAM)0, (LPARAM)unitname);
|
||||
}
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_UNIT, CB_SETCURSEL, (WPARAM)(v->dest_unit+1), (LPARAM)0);
|
||||
@ -2814,13 +3076,22 @@ void UpdateModule(int uid, BYTE* val)
|
||||
else
|
||||
{
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_FST], IDC_FST_DESTINATION_SLOT), true);
|
||||
DWORD unitid = units[v->dest_unit*MAX_SLOT_VALUES];
|
||||
DWORD unitid = units[v->dest_unit*MAX_UNIT_SLOTS];
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_SLOT, CB_ADDSTRING, (WPARAM)0, (LPARAM)UnitModulationTargetNames[unitid][i]);
|
||||
}
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_DESTINATION_SLOT, CB_SETCURSEL, (WPARAM)(v->dest_slot+1), (LPARAM)0);
|
||||
}
|
||||
// buttons
|
||||
DisableButtonGroup(IDC_FST_SET, IDC_FST_MUL, M_FST);
|
||||
if (v->type & FST_ADD)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_FST], IDC_FST_ADD), false);
|
||||
else if (v->type & FST_MUL)
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_FST], IDC_FST_MUL), false);
|
||||
else
|
||||
EnableWindow(GetDlgItem(ModuleWnd[M_FST], IDC_FST_SET), false);
|
||||
SendDlgItemMessage(ModuleWnd[M_FST], IDC_FST_POP, BM_SETCHECK, v->type & FST_POP, 0);
|
||||
}
|
||||
else if (uid == M_PAN)
|
||||
{
|
||||
@ -2961,7 +3232,11 @@ void GetStreamFileName()
|
||||
{'4','k','l','a','n','g',' ','I','n','c','l','u','d','e', 0 ,
|
||||
'*','.','i','n','c', 0,
|
||||
0};
|
||||
#ifdef _4KLANG2
|
||||
char lpstrFile[4096] = "4klang2.inc";
|
||||
#else
|
||||
char lpstrFile[4096] = "4klang.inc";
|
||||
#endif
|
||||
char lpstrDirectory[4096];
|
||||
GetCurrentDirectory(4096, lpstrDirectory);
|
||||
|
||||
|
@ -58,7 +58,7 @@ void Go4kVSTi::processAnyhow(float **inputs, float **outputs, long sampleFrames)
|
||||
VstTimeInfo* myTime = getTimeInfo ( kVstTempoValid );
|
||||
Go4kVSTi_SetBPM(myTime->tempo);
|
||||
bpmCheck = 20; // only check every 20th call of this function (bpm shouldnt change that often)
|
||||
}
|
||||
}
|
||||
bpmCheck--;
|
||||
|
||||
int start = 0;
|
||||
@ -66,7 +66,7 @@ void Go4kVSTi::processAnyhow(float **inputs, float **outputs, long sampleFrames)
|
||||
if (m_currentEvents.size() > 0)
|
||||
{
|
||||
// for all events
|
||||
for (unsigned int i = 0; i < m_currentEvents.size(); i++)
|
||||
for (unsigned int i = 0; i < m_currentEvents.size(); i++)
|
||||
{
|
||||
// process samples until next event
|
||||
int todo = m_currentEvents[i]->deltaFrames - start;
|
||||
|
@ -47,7 +47,12 @@ go4k_synth_wrk resb go4k_synth.size
|
||||
global _go4k_delay_buffer_ofs
|
||||
_go4k_delay_buffer_ofs resd 1
|
||||
global _go4k_delay_buffer
|
||||
_go4k_delay_buffer resd 117*go4kDLL_wrk.size
|
||||
_go4k_delay_buffer resd 16*16*go4kDLL_wrk.size
|
||||
|
||||
%ifdef AUTHORING
|
||||
global __4klang_current_tick
|
||||
__4klang_current_tick resd 0
|
||||
%endif
|
||||
|
||||
%ifdef GO4K_USE_ENVELOPE_RECORDINGS
|
||||
global __4klang_envelope_buffer
|
||||
@ -130,10 +135,12 @@ section .text
|
||||
%endif
|
||||
|
||||
export_func FloatRandomNumber@0
|
||||
push eax
|
||||
imul eax,dword [_RandSeed],16007
|
||||
mov dword [_RandSeed], eax
|
||||
fild dword [_RandSeed]
|
||||
fidiv dword [c_RandDiv]
|
||||
pop eax
|
||||
ret
|
||||
|
||||
; //========================================================================================
|
||||
@ -279,8 +286,7 @@ go4kENV_func_do:
|
||||
mov eax, dword [ecx-8] ; // is the instrument in release mode (note off)?
|
||||
test eax, eax
|
||||
je go4kENV_func_process
|
||||
mov al, ENV_STATE_RELEASE
|
||||
mov dword [WRK+go4kENV_wrk.state], eax
|
||||
mov dword [WRK+go4kENV_wrk.state], ENV_STATE_RELEASE
|
||||
go4kENV_func_process:
|
||||
mov eax, dword [WRK+go4kENV_wrk.state]
|
||||
fld dword [WRK+go4kENV_wrk.level] ; // val -
|
||||
@ -384,8 +390,13 @@ section .g4kcods code align=1
|
||||
section .text
|
||||
%endif
|
||||
go4kVCO_sine:
|
||||
fxch ; // p c
|
||||
fstp st1 ; // p
|
||||
fucomi st1 ; // c p
|
||||
jnc short go4kVCO_func_sine_do
|
||||
fstp st1
|
||||
fsub st0, st0 ; // 0
|
||||
ret
|
||||
go4kVCO_func_sine_do
|
||||
fdivp st1, st0 ; // p/c
|
||||
fldpi ; // pi p
|
||||
fadd st0 ; // 2*pi p
|
||||
fmulp st1, st0 ; // 2*pi*p
|
||||
@ -462,11 +473,28 @@ export_func go4kVCO_func@0
|
||||
mov eax, dword [ecx-4]
|
||||
test eax, eax
|
||||
jne go4kVCO_func_do
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
movzx eax, byte [VAL-1] ; // get flags and check for stereo
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_nostereoout
|
||||
fldz
|
||||
go4kVCO_func_nostereoout:
|
||||
%endif
|
||||
fldz
|
||||
ret
|
||||
go4kVCO_func_do:
|
||||
%endif
|
||||
movzx eax, byte [VAL-1] ; // get flags
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_nopswap
|
||||
fld dword [WRK+go4kVCO_wrk.phase] ;// swap left/right phase values for first stereo run
|
||||
fld dword [WRK+go4kVCO_wrk.phase2]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase2]
|
||||
go4kVCO_func_nopswap:
|
||||
%endif
|
||||
go4kVCO_func_process:
|
||||
fld dword [edx+go4kVCO_val.transpose]
|
||||
fsub dword [c_0_5]
|
||||
%ifdef GO4K_USE_VCO_MOD_TM
|
||||
@ -476,6 +504,12 @@ go4kVCO_func_do:
|
||||
fld dword [edx+go4kVCO_val.detune]
|
||||
fsub dword [c_0_5]
|
||||
fadd st0
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_nodswap
|
||||
fchs ;// negate detune for stereo
|
||||
go4kVCO_func_nodswap:
|
||||
%endif
|
||||
faddp st1
|
||||
%ifdef GO4K_USE_VCO_MOD_DM
|
||||
fadd dword [WRK+go4kVCO_wrk.dm]
|
||||
@ -562,6 +596,18 @@ go4kVCO_func_end:
|
||||
fadd dword [WRK+go4kVCO_wrk.gm]
|
||||
%endif
|
||||
fmulp st1, st0
|
||||
|
||||
%ifdef GO4K_USE_VCO_STEREO
|
||||
test al, byte VCO_STEREO
|
||||
jz short go4kVCO_func_stereodone
|
||||
sub al, byte VCO_STEREO
|
||||
fld dword [WRK+go4kVCO_wrk.phase] ;// swap left/right phase values again for second stereo run
|
||||
fld dword [WRK+go4kVCO_wrk.phase2]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase]
|
||||
fstp dword [WRK+go4kVCO_wrk.phase2]
|
||||
jmp go4kVCO_func_process
|
||||
go4kVCO_func_stereodone:
|
||||
%endif
|
||||
ret
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -590,16 +636,31 @@ export_func go4kVCF_func@0
|
||||
go4kVCF_func_do:
|
||||
%endif
|
||||
movzx eax, byte [VAL-1] ; // get type flag
|
||||
|
||||
fld dword [edx+go4kVCF_val.res] ; // r in
|
||||
%ifdef GO4K_USE_VCF_MOD_RM
|
||||
fadd dword [WRK+go4kVCF_wrk.rm]
|
||||
%endif
|
||||
fld dword [edx+go4kVCF_val.freq] ; // f r in
|
||||
fstp dword [esp-8]
|
||||
|
||||
fld dword [edx+go4kVCF_val.freq] ; // f in
|
||||
%ifdef GO4K_USE_VCF_MOD_FM
|
||||
fadd dword [WRK+go4kVCF_wrk.fm]
|
||||
%endif
|
||||
fmul st0, st0 ; // square the input so we never get negative and also have a smoother behaviour in the lower frequencies
|
||||
fst dword [WRK+go4kVCF_wrk.freq] ; // f r in
|
||||
fstp dword [esp-4] ; // in
|
||||
|
||||
%ifdef GO4K_USE_VCF_STEREO
|
||||
test al, byte STEREO
|
||||
jz short go4kVCF_func_process
|
||||
add WRK, go4kVCF_wrk.low2
|
||||
go4kVCF_func_stereoloop: ; // switch channels
|
||||
fxch st1 ; // inr inl
|
||||
%endif
|
||||
|
||||
go4kVCF_func_process:
|
||||
fld dword [esp-8]
|
||||
fld dword [esp-4]
|
||||
fmul dword [WRK+go4kVCF_wrk.band] ; // f*b r in
|
||||
fadd dword [WRK+go4kVCF_wrk.low] ; // l' r in
|
||||
fst dword [WRK+go4kVCF_wrk.low] ; // l' r in
|
||||
@ -607,7 +668,7 @@ go4kVCF_func_do:
|
||||
fmul dword [WRK+go4kVCF_wrk.band] ; // r*b in-l'
|
||||
fsubp st1, st0 ; // h'
|
||||
fst dword [WRK+go4kVCF_wrk.high] ; // h'
|
||||
fmul dword [WRK+go4kVCF_wrk.freq] ; // h'*f
|
||||
fmul dword [esp-4] ; // h'*f
|
||||
fadd dword [WRK+go4kVCF_wrk.band] ; // b'
|
||||
fstp dword [WRK+go4kVCF_wrk.band]
|
||||
fldz
|
||||
@ -630,15 +691,21 @@ go4kVCF_func_band:
|
||||
go4kVCF_func_peak:
|
||||
%ifdef GO4K_USE_VCF_PEAK
|
||||
test al, byte PEAK
|
||||
jz short go4kVCF_func_end
|
||||
jz short go4kVCF_func_processdone
|
||||
fadd dword [WRK+go4kVCF_wrk.low]
|
||||
fsub dword [WRK+go4kVCF_wrk.high]
|
||||
%endif
|
||||
go4kVCF_func_end: ; // value - - - -
|
||||
%ifdef GO4K_USE_UNDENORMALIZE
|
||||
fadd dword [c_0_5] ; add and sub small offset to prevent denormalization
|
||||
fsub dword [c_0_5]
|
||||
go4kVCF_func_processdone:
|
||||
|
||||
%ifdef GO4K_USE_VCF_STEREO
|
||||
test al, byte STEREO ; // outr inl
|
||||
jz short go4kVCF_func_end
|
||||
sub al, byte STEREO
|
||||
sub WRK, go4kVCF_wrk.low2
|
||||
jmp go4kVCF_func_stereoloop
|
||||
%endif
|
||||
|
||||
go4kVCF_func_end: ; // value - - - -
|
||||
ret
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -658,9 +725,17 @@ section .text
|
||||
export_func go4kDST_func@0
|
||||
%ifdef GO4K_USE_DST
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
push 2
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
push 3
|
||||
%else
|
||||
push 2
|
||||
%endif
|
||||
%else
|
||||
push 1
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
push 2
|
||||
%else
|
||||
push 1
|
||||
%endif
|
||||
%endif
|
||||
call go4kTransformValues
|
||||
%ifdef GO4K_USE_DST_CHECK
|
||||
@ -671,6 +746,7 @@ export_func go4kDST_func@0
|
||||
ret
|
||||
go4kDST_func_do:
|
||||
%endif
|
||||
movzx eax, byte [VAL-1] ; // get type flag
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
fld dword [edx+go4kDST_val.snhfreq] ; // snh in
|
||||
%ifdef GO4K_USE_DST_MOD_SH
|
||||
@ -688,6 +764,21 @@ go4kDST_func_do:
|
||||
fstp dword [WRK+go4kDST_wrk.snhphase]; // in
|
||||
%endif
|
||||
; // calc pregain and postgain
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
test al, byte STEREO ; // outr inl
|
||||
jz short go4kDST_func_mono
|
||||
fxch st1 ; // inr inl
|
||||
fld dword [edx+go4kDST_val.drive] ; // drive inr inl
|
||||
%ifdef GO4K_USE_DST_MOD_DM
|
||||
fadd dword [WRK+go4kDST_wrk.dm]
|
||||
%endif
|
||||
call go4kWaveshaper ; // outr inl
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
fst dword [WRK+go4kDST_wrk.out2] ; // outr inl
|
||||
%endif
|
||||
fxch st1 ; // inl outr
|
||||
go4kDST_func_mono:
|
||||
%endif
|
||||
fld dword [edx+go4kDST_val.drive] ; // drive in
|
||||
%ifdef GO4K_USE_DST_MOD_DM
|
||||
fadd dword [WRK+go4kDST_wrk.dm]
|
||||
@ -701,6 +792,12 @@ go4kDST_func_do:
|
||||
go4kDST_func_hold:
|
||||
fstp st0 ; // in
|
||||
fstp st0
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
test al, byte STEREO ; // outr inl
|
||||
jz short go4kDST_func_monohold
|
||||
fld dword [WRK+go4kDST_wrk.out2] ; // out2
|
||||
go4kDST_func_monohold:
|
||||
%endif
|
||||
fld dword [WRK+go4kDST_wrk.out] ; // out
|
||||
ret
|
||||
%endif
|
||||
@ -953,7 +1050,6 @@ go4kFOP_func_mul:
|
||||
jnz go4kFOP_func_addp2
|
||||
fmul st1
|
||||
ret
|
||||
%ifdef GO4K_USE_FOP_LOADNOTE
|
||||
go4kFOP_func_addp2:
|
||||
dec eax
|
||||
jnz go4kFOP_func_loadnote
|
||||
@ -961,18 +1057,15 @@ go4kFOP_func_addp2:
|
||||
faddp st2, st0
|
||||
ret
|
||||
go4kFOP_func_loadnote:
|
||||
dec eax
|
||||
jnz go4kFOP_func_mulp2
|
||||
fild dword [ecx-4]
|
||||
fmul dword [c_i128]
|
||||
ret
|
||||
%else
|
||||
go4kFOP_func_addp2:
|
||||
dec eax
|
||||
jnz go4kFOP_func_dummy+1 ; // now this is no valid jump address (just to please the packer) but if we run in that case we're fucked up anyway
|
||||
faddp st2, st0
|
||||
go4kFOP_func_dummy:
|
||||
faddp st2, st0
|
||||
go4kFOP_func_mulp2:
|
||||
fmulp st2, st0
|
||||
fmulp st2, st0
|
||||
ret
|
||||
%endif
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
section .g4kcodh code align=1
|
||||
@ -989,13 +1082,23 @@ section .text
|
||||
; // DIRTY :
|
||||
; //----------------------------------------------------------------------------------------
|
||||
export_func go4kFST_func@0
|
||||
push 2
|
||||
push 1
|
||||
call go4kTransformValues
|
||||
fld dword [edx+go4kFST_val.amount]
|
||||
fsub dword [c_0_5]
|
||||
fadd st0
|
||||
fmul st1
|
||||
fstp dword [ecx+eax*4] ; // eax already contains the destination from the go4kTransformValues call
|
||||
lodsw
|
||||
and eax, 0x00003fff ; // eax is destination slot
|
||||
test word [VAL-2], FST_ADD
|
||||
jz go4kFST_func_set
|
||||
fadd dword [ecx+eax*4]
|
||||
go4kFST_func_set:
|
||||
fstp dword [ecx+eax*4]
|
||||
test word [VAL-2], FST_POP
|
||||
jz go4kFST_func_done
|
||||
fstp st0
|
||||
go4kFST_func_done:
|
||||
ret
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -1041,30 +1144,39 @@ section .text
|
||||
; // DIRTY :
|
||||
; //----------------------------------------------------------------------------------------
|
||||
export_func go4kFSTG_func@0
|
||||
push 5
|
||||
push 1
|
||||
call go4kTransformValues
|
||||
%ifdef GO4K_USE_FSTG_CHECK
|
||||
; check if current note still active
|
||||
mov eax, dword [ecx-4]
|
||||
test eax, eax
|
||||
jne go4kFSTG_func_do
|
||||
ret
|
||||
lodsw
|
||||
jmp go4kFSTG_func_testpop
|
||||
go4kFSTG_func_do:
|
||||
%endif
|
||||
fld dword [edx+go4kFST_val.amount]
|
||||
fsub dword [c_0_5]
|
||||
fadd st0
|
||||
fmul st1
|
||||
mov eax, dword [VAL-4]
|
||||
lodsw
|
||||
and eax, 0x00003fff ; // eax is destination slot
|
||||
test word [VAL-2], FST_ADD
|
||||
jz go4kFSTG_func_set
|
||||
fadd dword [go4k_synth_wrk+eax*4]
|
||||
go4kFSTG_func_set:
|
||||
%if MAX_VOICES > 1
|
||||
fst dword [go4k_synth_wrk+eax]
|
||||
fstp dword [go4k_synth_wrk+eax+go4k_instrument.size]
|
||||
fst dword [go4k_synth_wrk+eax*4]
|
||||
fstp dword [go4k_synth_wrk+eax*4+go4k_instrument.size]
|
||||
%else
|
||||
fstp dword [go4k_synth_wrk+eax]
|
||||
fstp dword [go4k_synth_wrk+eax*4]
|
||||
%endif
|
||||
|
||||
go4kFSTG_func_testpop:
|
||||
test word [VAL-2], FST_POP
|
||||
jz go4kFSTG_func_done
|
||||
fstp st0
|
||||
go4kFSTG_func_done:
|
||||
ret
|
||||
|
||||
%endif
|
||||
|
||||
%ifdef USE_SECTIONS
|
||||
@ -1117,7 +1229,7 @@ export_func go4kOUT_func@0 ;// l r
|
||||
push 2
|
||||
call go4kTransformValues
|
||||
pushad
|
||||
lea edi, [ecx+256*4]
|
||||
lea edi, [ecx+MAX_UNITS*MAX_UNIT_SLOTS*4]
|
||||
fld st1 ;// r l r
|
||||
fld st1 ;// l r l r
|
||||
fld dword [edx+go4kOUT_val.auxsend] ;// as l r l r
|
||||
@ -1158,13 +1270,13 @@ export_func go4kOUT_func@0 ;// l r
|
||||
fadd dword [WRK+go4kOUT_wrk.gm] ;// gm l r
|
||||
%endif
|
||||
fmulp st1, st0 ;// l' r
|
||||
fstp dword [ecx+256*4+0] ;// r
|
||||
fstp dword [ecx+MAX_UNITS*MAX_UNIT_SLOTS*4+0] ;// r
|
||||
fld dword [edx+go4kOUT_val.gain] ;// g r
|
||||
%ifdef GO4K_USE_OUT_MOD_GM
|
||||
fadd dword [WRK+go4kOUT_wrk.gm] ;// gm r
|
||||
%endif
|
||||
fmulp st1, st0 ;// r'
|
||||
fstp dword [ecx+256*4+4] ;// -
|
||||
fstp dword [ecx+MAX_UNITS*MAX_UNIT_SLOTS*4+4] ;// -
|
||||
|
||||
%endif
|
||||
ret
|
||||
@ -1248,7 +1360,7 @@ go4kUpdateInstrument_newNote:
|
||||
%endif
|
||||
pushad
|
||||
xor eax, eax
|
||||
mov ecx, (8+256*4)/4 ; // clear only relase, note and workspace
|
||||
mov ecx, (8+MAX_UNITS*MAX_UNIT_SLOTS*4)/4 ; // clear only relase, note and workspace
|
||||
rep stosd
|
||||
popad
|
||||
mov dword [edi+4], edx ; // set requested note as current note
|
||||
@ -1476,6 +1588,9 @@ go4k_render_nogroove:
|
||||
jl go4k_render_sampleloop
|
||||
pop ecx
|
||||
inc ecx
|
||||
%ifdef AUTHORING
|
||||
mov dword[__4klang_current_tick], ecx
|
||||
%endif
|
||||
cmp ecx, dword MAX_TICKS
|
||||
jl go4k_render_tickloop
|
||||
%ifdef GO4K_USE_BUFFER_RECORDINGS
|
||||
@ -1507,7 +1622,7 @@ go4k_VM_process_loop:
|
||||
test eax, eax
|
||||
je go4k_VM_process_done ; // command byte = 0? so done
|
||||
call dword [eax*4+go4k_synth_commands]
|
||||
add WRK, MAX_WORKSPACE_SLOTS*4 ; // go to next workspace slot
|
||||
add WRK, MAX_UNIT_SLOTS*4 ; // go to next workspace slot
|
||||
jmp short go4k_VM_process_loop
|
||||
go4k_VM_process_done:
|
||||
add edi, go4k_instrument.size ; // go to next instrument voice
|
||||
|
Binary file not shown.
@ -52,22 +52,24 @@
|
||||
%define GO4K_USE_VCO_MOD_CM ; // removing this skips color modulation code
|
||||
%define GO4K_USE_VCO_MOD_GM ; // removing this skips gain modulation code
|
||||
%define GO4K_USE_VCO_MOD_SM ; // removing this skips shaping modulation code
|
||||
%define GO4K_USE_VCO_STEREO ; // removing this skips stereo code
|
||||
%define GO4K_USE_VCF_CHECK ; // removing this skips checks if processing is needed
|
||||
%define GO4K_USE_VCF_MOD_FM ; // removing this skips frequency modulation code
|
||||
%define GO4K_USE_VCF_MOD_RM ; // removing this skips resonance modulation code
|
||||
%define GO4K_USE_VCF_HIGH ; // removing this skips code for high output
|
||||
%define GO4K_USE_VCF_BAND ; // removing this skips code for band output
|
||||
%define GO4K_USE_VCF_PEAK ; // removing this skips code for peak output
|
||||
%define GO4K_USE_VCF_STEREO ; // removing this skips code for stereo filter output
|
||||
%define GO4K_USE_DST_CHECK ; // removing this skips checks if processing is needed
|
||||
%define GO4K_USE_DST_SH ; // removing this skips sample and hold code
|
||||
%define GO4K_USE_DST_MOD_DM ; // removing this skips distortion modulation code
|
||||
%define GO4K_USE_DST_MOD_SH ; // removing this skips sample and hold modulation code
|
||||
%define GO4K_USE_DST_STEREO ; // removing this skips stereo processing
|
||||
%define GO4K_USE_DLL_NOTE_SYNC ; // removing this will skip delay length adjusting code (karplus strong)
|
||||
%define GO4K_USE_DLL_CHORUS ; // removing this will skip delay chorus/flanger code
|
||||
%define GO4K_USE_DLL_CHORUS_CLAMP ; // removing this will skip chorus lfo phase clamping
|
||||
%define GO4K_USE_DLL_DAMP ; // removing this will skip dll damping code
|
||||
%define GO4K_USE_DLL_DC_FILTER ; // removing this will skip dll dc offset removal code
|
||||
%define GO4K_USE_FOP_LOADNOTE ; // removing this will skip load note code
|
||||
%define GO4K_USE_FSTG_CHECK ; // removing this skips checks if processing is needed
|
||||
%define GO4K_USE_PAN_MOD ; // removing this will skip panning modulation code
|
||||
%define GO4K_USE_OUT_MOD_AM ; // removing this skips output aux send modulation code
|
||||
@ -86,11 +88,12 @@
|
||||
; // synth defines
|
||||
; //----------------------------------------------------------------------------------------
|
||||
%define MAX_DELAY 65536
|
||||
%define MAX_WORKSPACE_SLOTS 8
|
||||
%define GO4K_BEGIN_CMDDEF(def_name)
|
||||
%define GO4K_END_CMDDEF db 0
|
||||
%define GO4K_BEGIN_PARAMDEF(def_name)
|
||||
%define GO4K_END_PARAMDEF
|
||||
%define MAX_UNITS 64
|
||||
%define MAX_UNIT_SLOTS 16
|
||||
%define GO4K_BEGIN_CMDDEF(def_name)
|
||||
%define GO4K_END_CMDDEF db 0
|
||||
%define GO4K_BEGIN_PARAMDEF(def_name)
|
||||
%define GO4K_END_PARAMDEF
|
||||
; //----------------------------------------------------------------------------------------
|
||||
; // ENV structs
|
||||
; //----------------------------------------------------------------------------------------
|
||||
@ -168,6 +171,7 @@ GO4K_VCO_ID equ 2
|
||||
%define NOISE 0x08
|
||||
%define LFO 0x10
|
||||
%define GATE 0x20
|
||||
%define VCO_STEREO 0x40
|
||||
struc go4kVCO_val
|
||||
;// unit paramters
|
||||
.transpose resd 1
|
||||
@ -197,6 +201,8 @@ struc go4kVCO_wrk
|
||||
.cm resd 1
|
||||
.sm resd 1
|
||||
.gm resd 1
|
||||
;// stero variables
|
||||
.phase2 resd 1
|
||||
.size
|
||||
endstruc
|
||||
; //----------------------------------------------------------------------------------------
|
||||
@ -214,6 +220,7 @@ GO4K_VCF_ID equ 3
|
||||
%define BANDSTOP 0x3
|
||||
%define ALLPASS 0x7
|
||||
%define PEAK 0x8
|
||||
%define STEREO 0x10
|
||||
%define FREQUENCY(val) val
|
||||
%define RESONANCE(val) val
|
||||
%define VCFTYPE(val) val
|
||||
@ -229,38 +236,54 @@ struc go4kVCF_wrk
|
||||
.low resd 1
|
||||
.high resd 1
|
||||
.band resd 1
|
||||
.freq resd 1
|
||||
.freq resd 1 ;// unused but kept so modulation target offsets stay same
|
||||
;// modulation targets
|
||||
.fm resd 1
|
||||
.rm resd 1
|
||||
;// stereo variables
|
||||
.low2 resd 1
|
||||
.high2 resd 1
|
||||
.band2 resd 1
|
||||
.size
|
||||
endstruc
|
||||
; //----------------------------------------------------------------------------------------
|
||||
; // DST structs
|
||||
; //----------------------------------------------------------------------------------------
|
||||
GO4K_DST_ID equ 4
|
||||
%macro GO4K_DST 2
|
||||
%macro GO4K_DST 3
|
||||
db %1
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
db %2
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
db %3
|
||||
%endif
|
||||
%else
|
||||
%ifdef GO4K_USE_DST_STEREO
|
||||
db %3
|
||||
%endif
|
||||
%endif
|
||||
%endmacro
|
||||
%define DRIVE(val) val
|
||||
%define SNHFREQ(val) val
|
||||
%define FLAGS(val) val
|
||||
struc go4kDST_val
|
||||
;// unit paramters
|
||||
.drive resd 1
|
||||
%ifdef GO4K_USE_DST_SH
|
||||
.snhfreq resd 1
|
||||
%endif
|
||||
.flags resd 1
|
||||
.size
|
||||
endstruc
|
||||
struc go4kDST_wrk
|
||||
;// work variables
|
||||
.out resd 1
|
||||
.snhphase resd 1
|
||||
;// modulation targets
|
||||
.dm resd 1
|
||||
.sm resd 1
|
||||
;// stereo variables
|
||||
.out2 resd 1
|
||||
.size
|
||||
endstruc
|
||||
; //----------------------------------------------------------------------------------------
|
||||
@ -342,6 +365,7 @@ GO4K_FOP_ID equ 6
|
||||
%define FOP_MUL 0x7
|
||||
%define FOP_ADDP2 0x8
|
||||
%define FOP_LOADNOTE 0x9
|
||||
%define FOP_MULP2 0xa
|
||||
struc go4kFOP_val
|
||||
.flags resd 1
|
||||
.size
|
||||
@ -355,10 +379,13 @@ endstruc
|
||||
GO4K_FST_ID equ 7
|
||||
%macro GO4K_FST 2
|
||||
db %1
|
||||
db %2
|
||||
dw %2
|
||||
%endmacro
|
||||
%define AMOUNT(val) val
|
||||
%define DEST(val) val
|
||||
%define FST_SET 0x0000
|
||||
%define FST_ADD 0x4000
|
||||
%define FST_POP 0x8000
|
||||
struc go4kFST_val
|
||||
.amount resd 1
|
||||
.op1 resd 1
|
||||
@ -455,7 +482,7 @@ endstruc
|
||||
GO4K_FSTG_ID equ 12
|
||||
%macro GO4K_FSTG 2
|
||||
db %1
|
||||
dd %2
|
||||
dw %2
|
||||
%endmacro
|
||||
struc go4kFSTG_val
|
||||
.amount resd 1
|
||||
@ -472,7 +499,7 @@ endstruc
|
||||
struc go4k_instrument
|
||||
.release resd 1
|
||||
.note resd 1
|
||||
.workspace resd 256
|
||||
.workspace resd MAX_UNITS*MAX_UNIT_SLOTS
|
||||
.dlloutl resd 1
|
||||
.dlloutr resd 1
|
||||
.outl resd 1
|
||||
@ -723,18 +750,18 @@ section .data
|
||||
go4k_synth_parameter_values
|
||||
GO4K_BEGIN_PARAMDEF(Instrument0)
|
||||
GO4K_ENV ATTAC(72),DECAY(96),SUSTAIN(96),RELEASE(88),GAIN(128)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(60),PHASE(32),GATES(0),COLOR(80),SHAPE(64),GAIN(128),FLAGS(PULSE)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(72),PHASE(32),GATES(0),COLOR(96),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_VCO TRANSPOSE(32),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(96),GAIN(128),FLAGS(SINE|LFO)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(61),DEST(3*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FST AMOUNT(61),DEST(3*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_FOP OP(FOP_ADDP)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(26),RESONANCE(128),VCFTYPE(PEAK)
|
||||
GO4K_VCF FREQUENCY(64),RESONANCE(64),VCFTYPE(LOWPASS)
|
||||
GO4K_DST DRIVE(104), SNHFREQ(128)
|
||||
GO4K_DST DRIVE(104), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_PAN PANNING(64)
|
||||
GO4K_DLL PREGAIN(96),DRY(128),FEEDBACK(96),DAMP(64),FREQUENCY(0),DEPTH(0),DELAY(16),COUNT(1)
|
||||
GO4K_FOP OP(FOP_XCH)
|
||||
@ -744,18 +771,18 @@ GO4K_BEGIN_PARAMDEF(Instrument0)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument1)
|
||||
GO4K_ENV ATTAC(72),DECAY(96),SUSTAIN(96),RELEASE(88),GAIN(128)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(64),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(60),PHASE(32),GATES(0),COLOR(80),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(72),PHASE(32),GATES(0),COLOR(96),SHAPE(112),GAIN(64),FLAGS(SINE)
|
||||
GO4K_VCO TRANSPOSE(80),DETUNE(112),PHASE(0),GATES(0),COLOR(64),SHAPE(16),GAIN(128),FLAGS(PULSE|LFO)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_FOP OP(FOP_ADDP)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(80),RESONANCE(24),VCFTYPE(LOWPASS)
|
||||
GO4K_VCF FREQUENCY(48),RESONANCE(24),VCFTYPE(HIGHPASS)
|
||||
GO4K_DST DRIVE(64), SNHFREQ(128)
|
||||
GO4K_DST DRIVE(64), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_PAN PANNING(64)
|
||||
GO4K_DLL PREGAIN(96),DRY(128),FEEDBACK(96),DAMP(64),FREQUENCY(0),DEPTH(0),DELAY(16),COUNT(1)
|
||||
GO4K_FOP OP(FOP_XCH)
|
||||
@ -765,18 +792,18 @@ GO4K_BEGIN_PARAMDEF(Instrument1)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument2)
|
||||
GO4K_ENV ATTAC(32),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(64)
|
||||
GO4K_FST AMOUNT(120),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(120),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(32),GATES(0),COLOR(80),SHAPE(64),GAIN(128),FLAGS(PULSE)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(72),PHASE(32),GATES(0),COLOR(96),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_VCO TRANSPOSE(32),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(96),GAIN(128),FLAGS(SINE|LFO)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(68),DEST(2*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FST AMOUNT(60),DEST(3*MAX_UNIT_SLOTS+2)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_FOP OP(FOP_ADDP)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(18),RESONANCE(64),VCFTYPE(PEAK)
|
||||
GO4K_VCF FREQUENCY(32),RESONANCE(48),VCFTYPE(LOWPASS)
|
||||
GO4K_DST DRIVE(88), SNHFREQ(128)
|
||||
GO4K_DST DRIVE(88), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_PAN PANNING(64)
|
||||
GO4K_DLL PREGAIN(64),DRY(128),FEEDBACK(96),DAMP(64),FREQUENCY(0),DEPTH(0),DELAY(16),COUNT(1)
|
||||
GO4K_FOP OP(FOP_XCH)
|
||||
@ -786,7 +813,7 @@ GO4K_BEGIN_PARAMDEF(Instrument2)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument3)
|
||||
GO4K_ENV ATTAC(0),DECAY(76),SUSTAIN(0),RELEASE(0),GAIN(32)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(64),GATES(0),COLOR(64),SHAPE(64),GAIN(128),FLAGS(NOISE)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_VCF FREQUENCY(80),RESONANCE(128),VCFTYPE(LOWPASS)
|
||||
@ -795,10 +822,10 @@ GO4K_BEGIN_PARAMDEF(Instrument3)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument4)
|
||||
GO4K_ENV ATTAC(0),DECAY(64),SUSTAIN(96),RELEASE(64),GAIN(128)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_ENV ATTAC(0),DECAY(70),SUSTAIN(0),RELEASE(0),GAIN(128)
|
||||
GO4K_DST DRIVE(32), SNHFREQ(128)
|
||||
GO4K_FST AMOUNT(80),DEST(6*MAX_WORKSPACE_SLOTS+1)
|
||||
GO4K_DST DRIVE(32), SNHFREQ(128), FLAGS(0)
|
||||
GO4K_FST AMOUNT(80),DEST(6*MAX_UNIT_SLOTS+1)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_VCO TRANSPOSE(46),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
@ -819,10 +846,10 @@ GO4K_BEGIN_PARAMDEF(Instrument5)
|
||||
GO4K_END_PARAMDEF
|
||||
GO4K_BEGIN_PARAMDEF(Instrument6)
|
||||
GO4K_ENV ATTAC(0),DECAY(72),SUSTAIN(0),RELEASE(72),GAIN(128)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_WORKSPACE_SLOTS+2)
|
||||
GO4K_FST AMOUNT(128),DEST(0*MAX_UNIT_SLOTS+2)
|
||||
GO4K_ENV ATTAC(0),DECAY(56),SUSTAIN(0),RELEASE(0),GAIN(128)
|
||||
GO4K_FST AMOUNT(108),DEST(6*MAX_WORKSPACE_SLOTS+1)
|
||||
GO4K_FST AMOUNT(72),DEST(7*MAX_WORKSPACE_SLOTS+1)
|
||||
GO4K_FST AMOUNT(108),DEST(6*MAX_UNIT_SLOTS+1)
|
||||
GO4K_FST AMOUNT(72),DEST(7*MAX_UNIT_SLOTS+1)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_VCO TRANSPOSE(32),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(32),GAIN(64),FLAGS(SINE)
|
||||
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(80),GAIN(64),FLAGS(SINE)
|
||||
@ -850,8 +877,8 @@ GO4K_BEGIN_PARAMDEF(Instrument8)
|
||||
GO4K_ENV ATTAC(0),DECAY(0),SUSTAIN(128),RELEASE(0),GAIN(128)
|
||||
GO4K_VCO TRANSPOSE(48),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(64),GAIN(128),FLAGS(TRISAW|LFO)
|
||||
GO4K_FOP OP(FOP_MULP)
|
||||
GO4K_FSTG AMOUNT(72),DEST(2*go4k_instrument.size*MAX_VOICES+10*MAX_WORKSPACE_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FSTG AMOUNT(66),DEST(1*go4k_instrument.size*MAX_VOICES+10*MAX_WORKSPACE_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FSTG AMOUNT(72),DEST(2*go4k_instrument.size*MAX_VOICES+10*MAX_UNIT_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FSTG AMOUNT(66),DEST(1*go4k_instrument.size*MAX_VOICES+10*MAX_UNIT_SLOTS*4+4*4+go4k_instrument.workspace)
|
||||
GO4K_FOP OP(FOP_POP)
|
||||
GO4K_END_PARAMDEF
|
||||
;// global parameters
|
||||
|
@ -16,10 +16,8 @@
|
||||
// German (Germany) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@ -37,7 +35,7 @@ IDR_ASM_RES BINARY "4klang.bin"
|
||||
IDD_GO4KVSTIDIALOG DIALOGEX 0, 0, 594, 341
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_ACCEPTFILES
|
||||
CAPTION "Alcatraz - 4klang Synth Plugin - Version 3.0.1"
|
||||
CAPTION "Alcatraz - 4klang Synth Plugin - Version 3.11"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "Load Patch Data",IDC_LOAD_PATCH,13,13,70,14
|
||||
@ -46,9 +44,9 @@ BEGIN
|
||||
PUSHBUTTON "Load Instrument",IDC_LOAD_INSTRUMENT,13,31,70,14
|
||||
PUSHBUTTON "Save Instrument",IDC_SAVE_INSTRUMENT,85,31,70,14
|
||||
PUSHBUTTON "Reset Instrument",IDC_RESET_INSTRUMENT,157,31,70,14
|
||||
LTEXT "Instrument Name",IDC_STATIC,242,33,56,8
|
||||
LTEXT "Instrument Name",IDC_STATIC,242,31,56,8
|
||||
LTEXT "Instrument",IDC_STATIC,242,17,36,8
|
||||
EDITTEXT IDC_INSTRUMENT_NAME,301,30,84,14,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_INSTRUMENT_NAME,301,28,84,14,ES_AUTOHSCROLL
|
||||
COMBOBOX IDC_INSTRUMENT,301,14,85,184,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "0",IDC_VOICECOUNT1,333,322,14,12,0,WS_EX_STATICEDGE
|
||||
LTEXT "0",IDC_VOICECOUNT2,349,322,14,12,0,WS_EX_STATICEDGE
|
||||
@ -76,7 +74,7 @@ BEGIN
|
||||
CONTROL "",IDC_MAINTAB,"SysTabControl32",0x0,7,53,266,281
|
||||
GROUPBOX "Load/Save",IDC_STATIC,7,3,225,47
|
||||
PUSHBUTTON "PANIC!",IDC_PANIC,278,288,309,29
|
||||
GROUPBOX "Instrument Properties",IDC_STATIC,237,3,195,47
|
||||
GROUPBOX "Instrument Properties",IDC_STATIC,237,3,195,57
|
||||
COMBOBOX IDC_POLYPHONY,333,270,71,97,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Polyphony",IDC_STATIC,278,272,34,8
|
||||
LTEXT "Pattern",IDC_STATIC,450,41,25,8
|
||||
@ -96,6 +94,8 @@ BEGIN
|
||||
COMBOBOX IDC_PATTERN_QUANT,479,51,33,94,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Quant.",IDC_STATIC,449,54,24,8
|
||||
COMBOBOX IDC_OBJFORMAT,515,51,66,72,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Link To",IDC_STATIC,241,47,23,8
|
||||
COMBOBOX IDC_INSTRUMENTLINK,301,44,85,184,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_VCO DIALOGEX 0, 0, 300, 170
|
||||
@ -126,6 +126,7 @@ BEGIN
|
||||
CTEXT " ",IDC_VCO_SHAPE_VAL,242,112,48,12,SS_SUNKEN
|
||||
CTEXT " ",IDC_VCO_GAIN_VAL,242,128,48,12,SS_SUNKEN
|
||||
CONTROL "LFO",IDC_VCO_LFO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,262,29,29,10
|
||||
CONTROL "Stereo",IDC_VCO_STEREO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,262,16,34,10
|
||||
PUSHBUTTON "Gate",IDC_VCO_GATE,206,27,50,14
|
||||
CONTROL " ",IDC_VCO_GATE1,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,43,147,8,10
|
||||
CONTROL " ",IDC_VCO_GATE2,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,55,147,8,10
|
||||
@ -151,12 +152,13 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "Filter",IDC_STATIC,0,0,299,170
|
||||
PUSHBUTTON "Low",IDC_VCF_LOW,24,59,42,14,WS_DISABLED
|
||||
PUSHBUTTON "High",IDC_VCF_HIGH,66,59,41,14
|
||||
PUSHBUTTON "Band",IDC_VCF_BAND,108,59,41,14
|
||||
PUSHBUTTON "Notch",IDC_VCF_NOTCH,150,59,41,14
|
||||
PUSHBUTTON "Peak",IDC_VCF_PEAK,192,59,41,14
|
||||
PUSHBUTTON "All",IDC_VCF_ALL,234,59,41,14
|
||||
PUSHBUTTON "Low",IDC_VCF_LOW,5,59,42,14,WS_DISABLED
|
||||
PUSHBUTTON "High",IDC_VCF_HIGH,47,59,41,14
|
||||
PUSHBUTTON "Band",IDC_VCF_BAND,89,59,41,14
|
||||
PUSHBUTTON "Notch",IDC_VCF_NOTCH,131,59,41,14
|
||||
PUSHBUTTON "Peak",IDC_VCF_PEAK,173,59,41,14
|
||||
PUSHBUTTON "All",IDC_VCF_ALL,215,59,41,14
|
||||
CONTROL "Stereo",IDC_VCF_STEREO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,258,62,37,10
|
||||
CONTROL "",IDC_VCF_FREQUENCY,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,38,79,200,15
|
||||
CONTROL "",IDC_VCF_RESONANCE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,38,95,200,15
|
||||
LTEXT "Frequency",IDC_STATIC,4,82,35,8
|
||||
@ -232,9 +234,10 @@ BEGIN
|
||||
CONTROL "",IDC_DST_SNH,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,38,85,200,15
|
||||
CTEXT " ",IDC_DST_DRIVE_VAL,242,70,48,12,SS_SUNKEN
|
||||
CTEXT " ",IDC_DST_SNH_VAL,242,86,48,12,SS_SUNKEN
|
||||
CONTROL "Stereo",IDC_DST_STEREO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,126,105,37,10
|
||||
END
|
||||
|
||||
IDD_INSTRUMENT_STACK DIALOGEX 0, 0, 247, 320
|
||||
IDD_INSTRUMENT_STACK DIALOGEX 0, 0, 247, 640
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_CLIPCHILDREN | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
@ -364,8 +367,136 @@ BEGIN
|
||||
CTEXT "1",IDC_ISTACK_SIGNALCOUNT31,225,300,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK_UNIT32,15,310,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK_UP32,165,310,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK_DOWN32,191,310,25,10,NOT WS_VISIBLE
|
||||
PUSHBUTTON "Down",IDC_ISTACK_DOWN32,191,310,25,10
|
||||
CTEXT "1",IDC_ISTACK_SIGNALCOUNT32,225,310,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT1,15,320,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP1,165,320,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN1,191,320,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT1,225,320,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT2,15,330,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP2,165,330,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN2,191,330,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT2,225,330,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT3,15,340,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP3,165,340,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN3,191,340,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT3,225,340,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT4,15,350,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP4,165,350,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN4,191,350,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT4,225,350,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT5,15,360,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP5,165,360,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN5,191,360,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT5,225,360,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT6,15,370,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP6,165,370,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN6,191,370,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT6,225,370,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT7,15,380,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP7,165,380,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN7,191,380,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT7,225,380,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT8,15,390,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP8,165,390,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN8,191,390,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT8,225,390,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT9,15,400,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP9,165,400,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN9,191,400,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT9,225,400,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT10,15,410,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP10,165,410,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN10,191,410,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT10,225,410,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT11,15,420,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP11,165,420,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN11,191,420,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT11,225,420,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT12,15,430,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP12,165,430,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN12,191,430,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT12,225,430,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT13,15,440,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP13,165,440,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN13,191,440,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT13,225,440,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT14,15,450,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP14,165,450,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN14,191,450,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT14,225,450,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT15,15,460,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP15,165,460,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN15,191,460,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT15,225,460,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT16,15,470,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP16,165,470,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN16,191,470,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT16,225,470,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT17,15,480,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP17,165,480,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN17,191,480,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT17,225,480,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT18,15,490,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP18,165,490,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN18,191,490,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT18,225,490,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT19,15,500,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP19,165,500,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN19,191,500,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT19,225,500,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT20,15,510,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP20,165,510,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN20,191,510,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT20,225,510,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT21,15,520,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP21,165,520,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN21,191,520,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT21,225,520,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT22,15,530,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP22,165,530,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN22,191,530,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT22,225,530,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT23,15,540,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP23,165,540,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN23,191,540,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT23,225,540,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT24,15,550,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP24,165,550,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN24,191,550,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT24,225,550,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT25,15,560,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP25,165,560,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN25,191,560,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT25,225,560,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT26,15,570,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP26,165,570,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN26,191,570,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT26,225,570,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT27,15,580,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP27,165,580,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN27,191,580,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT27,225,580,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT28,15,590,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP28,165,590,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN28,191,590,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT28,225,590,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT29,15,600,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP29,165,600,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN29,191,600,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT29,225,600,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT30,15,610,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP30,165,610,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN30,191,610,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT30,225,610,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT31,15,620,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP31,165,620,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN31,191,620,25,10
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT31,225,620,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_ISTACK__UNIT32,15,630,83,10
|
||||
PUSHBUTTON "Up",IDC_ISTACK__UP32,165,630,25,10
|
||||
PUSHBUTTON "Down",IDC_ISTACK__DOWN32,191,630,25,10,NOT WS_VISIBLE
|
||||
CTEXT "1",IDC_ISTACK__SIGNALCOUNT32,225,630,16,10,SS_SUNKEN
|
||||
PUSHBUTTON "Set",IDC_ISTACK_SET1,106,0,25,10,NOT WS_VISIBLE
|
||||
PUSHBUTTON "Clear",IDC_ISTACK_RESET1,132,0,25,10,NOT WS_VISIBLE
|
||||
PUSHBUTTON "Set",IDC_ISTACK_SET2,106,10,25,10
|
||||
@ -430,6 +561,70 @@ BEGIN
|
||||
PUSHBUTTON "Clear",IDC_ISTACK_RESET31,132,300,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK_SET32,106,310,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK_RESET32,132,310,25,10
|
||||
PUSHBUTTON "Setl",IDC_ISTACK__SET1,106,320,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET1,132,320,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET2,106,330,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET2,132,330,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET3,106,340,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET3,132,340,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET4,106,350,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET4,132,350,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET5,106,360,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET5,132,360,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET6,106,370,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET6,132,370,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET7,106,380,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET7,132,380,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET8,106,390,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET8,132,390,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET9,106,400,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET9,132,400,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET10,106,410,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET10,132,410,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET11,106,420,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET11,132,420,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET12,106,430,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET12,132,430,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET13,106,440,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET13,132,440,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET14,106,450,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET14,132,450,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET15,106,460,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET15,132,460,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET16,106,470,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET16,132,470,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET17,106,480,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET17,132,480,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET18,106,490,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET18,132,490,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET19,106,500,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET19,132,500,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET20,106,510,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET20,132,510,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET21,106,520,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET21,132,520,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET22,106,530,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET22,132,530,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET23,106,540,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET23,132,540,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET24,106,550,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET24,132,550,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET25,106,560,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET25,132,560,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET26,106,570,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET26,132,570,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET27,106,580,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET27,132,580,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET28,106,590,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET28,132,590,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET29,106,600,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET29,132,600,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET30,106,610,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET30,132,610,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET31,106,620,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET31,132,620,25,10
|
||||
PUSHBUTTON "Set",IDC_ISTACK__SET32,106,630,25,10
|
||||
PUSHBUTTON "Clear",IDC_ISTACK__RESET32,132,630,25,10
|
||||
LTEXT "1:",IDC_STATIC,2,1,10,8
|
||||
LTEXT "2:",IDC_STATIC,2,11,10,8
|
||||
LTEXT "3:",IDC_STATIC,2,21,10,8
|
||||
@ -462,6 +657,38 @@ BEGIN
|
||||
LTEXT "30:",IDC_STATIC,2,291,10,8
|
||||
LTEXT "31:",IDC_STATIC,2,301,10,8
|
||||
LTEXT "32:",IDC_STATIC,2,311,10,8
|
||||
LTEXT "33:",IDC_STATIC,2,321,10,8
|
||||
LTEXT "34:",IDC_STATIC,2,331,10,8
|
||||
LTEXT "35:",IDC_STATIC,2,341,10,8
|
||||
LTEXT "36:",IDC_STATIC,2,351,10,8
|
||||
LTEXT "37:",IDC_STATIC,2,361,10,8
|
||||
LTEXT "38:",IDC_STATIC,2,371,10,8
|
||||
LTEXT "39:",IDC_STATIC,2,381,10,8
|
||||
LTEXT "40:",IDC_STATIC,2,391,10,8
|
||||
LTEXT "41:",IDC_STATIC,2,401,10,8
|
||||
LTEXT "42:",IDC_STATIC,2,411,10,8
|
||||
LTEXT "43:",IDC_STATIC,2,421,10,8
|
||||
LTEXT "44:",IDC_STATIC,2,431,10,8
|
||||
LTEXT "45:",IDC_STATIC,2,441,10,8
|
||||
LTEXT "46:",IDC_STATIC,2,451,10,8
|
||||
LTEXT "47:",IDC_STATIC,2,461,10,8
|
||||
LTEXT "48:",IDC_STATIC,2,471,10,8
|
||||
LTEXT "49:",IDC_STATIC,2,481,10,8
|
||||
LTEXT "50:",IDC_STATIC,2,491,10,8
|
||||
LTEXT "51:",IDC_STATIC,2,501,10,8
|
||||
LTEXT "52:",IDC_STATIC,2,511,10,8
|
||||
LTEXT "53:",IDC_STATIC,2,521,10,8
|
||||
LTEXT "54:",IDC_STATIC,2,531,10,8
|
||||
LTEXT "55:",IDC_STATIC,2,541,10,8
|
||||
LTEXT "56:",IDC_STATIC,2,551,10,8
|
||||
LTEXT "57:",IDC_STATIC,2,561,10,8
|
||||
LTEXT "58:",IDC_STATIC,2,571,10,8
|
||||
LTEXT "59:",IDC_STATIC,2,581,10,8
|
||||
LTEXT "60:",IDC_STATIC,2,591,10,8
|
||||
LTEXT "61:",IDC_STATIC,2,601,10,8
|
||||
LTEXT "62:",IDC_STATIC,2,611,10,8
|
||||
LTEXT "63:",IDC_STATIC,2,621,10,8
|
||||
LTEXT "64:",IDC_STATIC,2,631,10,8
|
||||
END
|
||||
|
||||
IDD_FOP DIALOGEX 0, 0, 300, 170
|
||||
@ -469,30 +696,31 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "Floating Point Operation",IDC_STATIC,0,0,299,170
|
||||
PUSHBUTTON "POP",IDC_FOP_POP,3,50,42,14
|
||||
PUSHBUTTON "PUSH",IDC_FOP_PUSH,3,33,42,14
|
||||
PUSHBUTTON "XCH",IDC_FOP_XCH,3,67,42,14
|
||||
PUSHBUTTON "+",IDC_FOP_ADD,3,84,42,14
|
||||
PUSHBUTTON "+/POP",IDC_FOP_ADDP,3,101,42,14
|
||||
PUSHBUTTON "*",IDC_FOP_MUL,3,118,42,14
|
||||
PUSHBUTTON "*/POP",IDC_FOP_MULP,3,135,42,14
|
||||
LTEXT "IN: a b c d -> OUT: a a b c d",IDC_STATIC,50,35,232,8
|
||||
LTEXT "IN: a b c d -> OUT: b c d",IDC_STATIC,50,52,196,8
|
||||
LTEXT "IN: a b c d -> OUT: b a c d",IDC_STATIC,50,69,214,8
|
||||
LTEXT "IN: a b c d -> OUT: a+b b c d",IDC_STATIC,50,86,216,8
|
||||
LTEXT "IN: a b c d -> OUT: a+b c d",IDC_STATIC,50,103,198,8
|
||||
LTEXT "IN: a b c d -> OUT: a*b b c d",IDC_STATIC,50,120,216,8
|
||||
LTEXT "IN: a b c d -> OUT: a*b c d",IDC_STATIC,50,137,198,8
|
||||
PUSHBUTTON "2+/POP",IDC_FOP_ADDP2,3,152,42,14
|
||||
LTEXT "IN: a b c d -> OUT: a+c b+d",IDC_STATIC,50,155,193,8
|
||||
GROUPBOX "",IDC_STATIC,0,27,299,22
|
||||
GROUPBOX "",IDC_STATIC,0,61,299,22
|
||||
GROUPBOX "",IDC_STATIC,0,95,299,22
|
||||
GROUPBOX "",IDC_STATIC,0,129,299,23
|
||||
GROUPBOX "",IDC_STATIC,0,147,299,21
|
||||
PUSHBUTTON "Load Note",IDC_FOP_LOADNOTE,3,16,42,14
|
||||
LTEXT "IN: a b c d -> OUT: note a b c d",IDC_STATIC,50,18,233,8
|
||||
GROUPBOX "",IDC_STATIC,0,10,299,22
|
||||
PUSHBUTTON "Load Note",IDC_FOP_LOADNOTE,3,11,42,14
|
||||
PUSHBUTTON "PUSH",IDC_FOP_PUSH,3,27,42,14
|
||||
PUSHBUTTON "POP",IDC_FOP_POP,3,42,42,14
|
||||
PUSHBUTTON "XCH",IDC_FOP_XCH,3,58,42,14
|
||||
PUSHBUTTON "+",IDC_FOP_ADD,3,74,42,14
|
||||
PUSHBUTTON "+/POP",IDC_FOP_ADDP,3,90,42,14
|
||||
PUSHBUTTON "*",IDC_FOP_MUL,3,106,42,14
|
||||
PUSHBUTTON "*/POP",IDC_FOP_MULP,3,122,42,14
|
||||
PUSHBUTTON "2+/POP",IDC_FOP_ADDP2,3,138,42,14
|
||||
PUSHBUTTON "2*/POP",IDC_FOP_MULP2,3,154,42,14
|
||||
LTEXT "IN: a b c d -> OUT: note a b c d",IDC_STATIC,50,13,233,8
|
||||
LTEXT "IN: a b c d -> OUT: a a b c d",IDC_STATIC,50,29,232,8
|
||||
LTEXT "IN: a b c d -> OUT: b c d",IDC_STATIC,50,44,196,8
|
||||
LTEXT "IN: a b c d -> OUT: b a c d",IDC_STATIC,50,60,214,8
|
||||
LTEXT "IN: a b c d -> OUT: a+b b c d",IDC_STATIC,50,76,216,8
|
||||
LTEXT "IN: a b c d -> OUT: a+b c d",IDC_STATIC,50,92,198,8
|
||||
LTEXT "IN: a b c d -> OUT: a*b b c d",IDC_STATIC,50,108,216,8
|
||||
LTEXT "IN: a b c d -> OUT: a*b c d",IDC_STATIC,50,124,198,8
|
||||
LTEXT "IN: a b c d -> OUT: a+c b+d",IDC_STATIC,50,141,193,8
|
||||
LTEXT "IN: a b c d -> OUT: a*c b*d",IDC_STATIC,50,156,193,8
|
||||
GROUPBOX "",IDC_STATIC,0,133,299,20
|
||||
GROUPBOX "",IDC_STATIC,0,101,299,20
|
||||
GROUPBOX "",IDC_STATIC,1,69,299,20
|
||||
GROUPBOX "",IDC_STATIC,0,37,299,20
|
||||
GROUPBOX "",IDC_STATIC,0,6,299,20
|
||||
END
|
||||
|
||||
IDD_FST DIALOGEX 0, 0, 300, 170
|
||||
@ -509,6 +737,10 @@ BEGIN
|
||||
LTEXT "Unit",IDC_STATIC,6,71,14,8
|
||||
COMBOBOX IDC_FST_DESTINATION_SLOT,43,85,249,110,CBS_DROPDOWN | CBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Slot",IDC_STATIC,5,87,13,8
|
||||
PUSHBUTTON "Set",IDC_FST_SET,56,122,50,14
|
||||
PUSHBUTTON "+",IDC_FST_ADD,106,122,50,14
|
||||
CONTROL "Pop",IDC_FST_POP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,212,124,28,10
|
||||
PUSHBUTTON "*",IDC_FST_MUL,156,122,50,14,NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_NONE DIALOGEX 0, 0, 300, 170
|
||||
@ -532,7 +764,7 @@ BEGIN
|
||||
CTEXT " ",IDC_OUT_AUXSEND_VAL,242,86,48,12,SS_SUNKEN
|
||||
END
|
||||
|
||||
IDD_GLOBAL_STACK DIALOGEX 0, 0, 247, 320
|
||||
IDD_GLOBAL_STACK DIALOGEX 0, 0, 247, 640
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
@ -662,8 +894,136 @@ BEGIN
|
||||
CTEXT "1",IDC_GSTACK_SIGNALCOUNT31,225,300,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK_UNIT32,15,310,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK_UP32,165,310,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK_DOWN32,191,310,25,10,NOT WS_VISIBLE
|
||||
PUSHBUTTON "Down",IDC_GSTACK_DOWN32,191,310,25,10
|
||||
CTEXT "1",IDC_GSTACK_SIGNALCOUNT32,225,310,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT1,15,320,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP1,165,320,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN1,191,320,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT1,225,320,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT2,15,330,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP2,165,330,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN2,191,330,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT2,225,330,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT3,15,340,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP3,165,340,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN3,191,340,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT3,225,340,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT4,15,350,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP4,165,350,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN4,191,350,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT4,225,350,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT5,15,360,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP5,165,360,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN5,191,360,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT5,225,360,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT6,15,370,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP6,165,370,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN6,191,370,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT6,225,370,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT7,15,380,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP7,165,380,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN7,191,380,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT7,225,380,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT8,15,390,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP8,165,390,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN8,191,390,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT8,225,390,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT9,15,400,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP9,165,400,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN9,191,400,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT9,225,400,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT10,15,410,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP10,165,410,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN10,191,410,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT10,225,410,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT11,15,420,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP11,165,420,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN11,191,420,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT11,225,420,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT12,15,430,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP12,165,430,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN12,191,430,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT12,225,430,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT13,15,440,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP13,165,440,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN13,191,440,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT13,225,440,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT14,15,450,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP14,165,450,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN14,191,450,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT14,225,450,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT15,15,460,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP15,165,460,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN15,191,460,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT15,225,460,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT16,15,470,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP16,165,470,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN16,191,470,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT16,225,470,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT17,15,480,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP17,165,480,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN17,191,480,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT17,225,480,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT18,15,490,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP18,165,490,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN18,191,490,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT18,225,490,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT19,15,500,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP19,165,500,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN19,191,500,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT19,225,500,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT20,15,510,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP20,165,510,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN20,191,510,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT20,225,510,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT21,15,520,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP21,165,520,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN21,191,520,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT21,225,520,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT22,15,530,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP22,165,530,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN22,191,530,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT22,225,530,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT23,15,540,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP23,165,540,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN23,191,540,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT23,225,540,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT24,15,550,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP24,165,550,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN24,191,550,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT24,225,550,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT25,15,560,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP25,165,560,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN25,191,560,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT25,225,560,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT26,15,570,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP26,165,570,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN26,191,570,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT26,225,570,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT27,15,580,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP27,165,580,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN27,191,580,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT27,225,580,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT28,15,590,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP28,165,590,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN28,191,590,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT28,225,590,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT29,15,600,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP29,165,600,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN29,191,600,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT29,225,600,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT30,15,610,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP30,165,610,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN30,191,610,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT30,225,610,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT31,15,620,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP31,165,620,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN31,191,620,25,10
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT31,225,620,16,10,SS_SUNKEN
|
||||
PUSHBUTTON " ",IDC_GSTACK__UNIT32,15,630,83,10
|
||||
PUSHBUTTON "Up",IDC_GSTACK__UP32,165,630,25,10
|
||||
PUSHBUTTON "Down",IDC_GSTACK__DOWN32,191,630,25,10,NOT WS_VISIBLE
|
||||
CTEXT "1",IDC_GSTACK__SIGNALCOUNT32,225,630,16,10,SS_SUNKEN
|
||||
PUSHBUTTON "Set",IDC_GSTACK_SET1,106,0,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK_RESET1,132,0,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK_SET2,106,10,25,10
|
||||
@ -728,6 +1088,70 @@ BEGIN
|
||||
PUSHBUTTON "Clear",IDC_GSTACK_RESET31,132,300,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK_SET32,106,310,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK_RESET32,132,310,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET1,106,320,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET1,132,320,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET2,106,330,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET2,132,330,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET3,106,340,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET3,132,340,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET4,106,350,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET4,132,350,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET5,106,360,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET5,132,360,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET6,106,370,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET6,132,370,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET7,106,380,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET7,132,380,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET8,106,390,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET8,132,390,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET9,106,400,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET9,132,400,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET10,106,410,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET10,132,410,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET11,106,420,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET11,132,420,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET12,106,430,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET12,132,430,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET13,106,440,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET13,132,440,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET14,106,450,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET14,132,450,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET15,106,460,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET15,132,460,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET16,106,470,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET16,132,470,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET17,106,480,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET17,132,480,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET18,106,490,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET18,132,490,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET19,106,500,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET19,132,500,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET20,106,510,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET20,132,510,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET21,106,520,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET21,132,520,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET22,106,530,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET22,132,530,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET23,106,540,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET23,132,540,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET24,106,550,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET24,132,550,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET25,106,560,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET25,132,560,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET26,106,570,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET26,132,570,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET27,106,580,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET27,132,580,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET28,106,590,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET28,132,590,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET29,106,600,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET29,132,600,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET30,106,610,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET30,132,610,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET31,106,620,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET31,132,620,25,10
|
||||
PUSHBUTTON "Set",IDC_GSTACK__SET32,106,630,25,10
|
||||
PUSHBUTTON "Clear",IDC_GSTACK__RESET32,132,630,25,10
|
||||
LTEXT "1:",IDC_STATIC,2,1,10,8
|
||||
LTEXT "2:",IDC_STATIC,2,11,10,8
|
||||
LTEXT "3:",IDC_STATIC,2,21,10,8
|
||||
@ -760,6 +1184,38 @@ BEGIN
|
||||
LTEXT "30:",IDC_STATIC,2,291,10,8
|
||||
LTEXT "31:",IDC_STATIC,2,301,10,8
|
||||
LTEXT "32:",IDC_STATIC,2,311,10,8
|
||||
LTEXT "33:",IDC_STATIC,2,321,10,8
|
||||
LTEXT "34:",IDC_STATIC,2,331,10,8
|
||||
LTEXT "35:",IDC_STATIC,2,341,10,8
|
||||
LTEXT "36:",IDC_STATIC,2,351,10,8
|
||||
LTEXT "37:",IDC_STATIC,2,361,10,8
|
||||
LTEXT "38:",IDC_STATIC,2,371,10,8
|
||||
LTEXT "39:",IDC_STATIC,2,381,10,8
|
||||
LTEXT "40:",IDC_STATIC,2,391,10,8
|
||||
LTEXT "41:",IDC_STATIC,2,401,10,8
|
||||
LTEXT "42:",IDC_STATIC,2,411,10,8
|
||||
LTEXT "43:",IDC_STATIC,2,421,10,8
|
||||
LTEXT "44:",IDC_STATIC,2,431,10,8
|
||||
LTEXT "45:",IDC_STATIC,2,441,10,8
|
||||
LTEXT "46:",IDC_STATIC,2,451,10,8
|
||||
LTEXT "47:",IDC_STATIC,2,461,10,8
|
||||
LTEXT "48:",IDC_STATIC,2,471,10,8
|
||||
LTEXT "49:",IDC_STATIC,2,481,10,8
|
||||
LTEXT "50:",IDC_STATIC,2,491,10,8
|
||||
LTEXT "51:",IDC_STATIC,2,501,10,8
|
||||
LTEXT "52:",IDC_STATIC,2,511,10,8
|
||||
LTEXT "53:",IDC_STATIC,2,521,10,8
|
||||
LTEXT "54:",IDC_STATIC,2,531,10,8
|
||||
LTEXT "55:",IDC_STATIC,2,541,10,8
|
||||
LTEXT "56:",IDC_STATIC,2,551,10,8
|
||||
LTEXT "57:",IDC_STATIC,2,561,10,8
|
||||
LTEXT "58:",IDC_STATIC,2,571,10,8
|
||||
LTEXT "59:",IDC_STATIC,2,581,10,8
|
||||
LTEXT "60:",IDC_STATIC,2,591,10,8
|
||||
LTEXT "61:",IDC_STATIC,2,601,10,8
|
||||
LTEXT "62:",IDC_STATIC,2,611,10,8
|
||||
LTEXT "63:",IDC_STATIC,2,621,10,8
|
||||
LTEXT "64:",IDC_STATIC,2,631,10,8
|
||||
END
|
||||
|
||||
IDD_PAN DIALOGEX 0, 0, 300, 170
|
||||
@ -826,6 +1282,22 @@ BEGIN
|
||||
BOTTOMMARGIN, 334
|
||||
END
|
||||
|
||||
IDD_VCO, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_VCF, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_DST, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_FST, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_SET_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
@ -868,13 +1340,11 @@ END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
// English (United States) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -901,7 +1371,7 @@ END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
#endif // English (United States) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "4klang", "Go4kVSTi.vcproj", "{107757EA-2FE1-4C5E-964F-DE7E482E253F}"
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "4klang", "Go4kVSTi.vcxproj", "{107757EA-2FE1-4C5E-964F-DE7E482E253F}"
|
||||
EndProject
|
||||
Project("{D3783134-2AE6-4F36-A599-989377222068}") = "4klang2", "Go4kVSTi2.vcxproj", "{FA790F08-0B8E-43D9-A4B4-519AB01B820C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -12,6 +14,10 @@ Global
|
||||
{107757EA-2FE1-4C5E-964F-DE7E482E253F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{107757EA-2FE1-4C5E-964F-DE7E482E253F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{107757EA-2FE1-4C5E-964F-DE7E482E253F}.Release|Win32.Build.0 = Release|Win32
|
||||
{FA790F08-0B8E-43D9-A4B4-519AB01B820C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FA790F08-0B8E-43D9-A4B4-519AB01B820C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FA790F08-0B8E-43D9-A4B4-519AB01B820C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FA790F08-0B8E-43D9-A4B4-519AB01B820C}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
197
4klang_source/Go4kVSTi/win/Go4kVSTi.vcxproj
Normal file
197
4klang_source/Go4kVSTi/win/Go4kVSTi.vcxproj
Normal file
@ -0,0 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>4klang</ProjectName>
|
||||
<ProjectGuid>{107757EA-2FE1-4C5E-964F-DE7E482E253F}</ProjectGuid>
|
||||
<RootNamespace>Go4kVSTi</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\vsyasm.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(ProjectName)\Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(ProjectName)\Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(ProjectName)\Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(ProjectName)\Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</EmbedManifest>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/vstxsynth.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\source\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINDOWS=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<StructMemberAlignment>1Byte</StructMemberAlignment>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ModuleDefinitionFile>.\Go4kVSTi.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy /Y $(TargetPath) C:\VST</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/vstxsynth.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\source\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINDOWS=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<StructMemberAlignment>1Byte</StructMemberAlignment>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<CallingConvention>Cdecl</CallingConvention>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ModuleDefinitionFile>.\Go4kVSTi.def</ModuleDefinitionFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy /Y $(TargetPath) C:\VST</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\source\common\AudioEffect.cpp" />
|
||||
<ClCompile Include="..\source\common\audioeffectx.cpp" />
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTi.cpp" />
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiCore.cpp">
|
||||
<CallingConvention Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Cdecl</CallingConvention>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiGUI.cpp">
|
||||
<CallingConvention Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Cdecl</CallingConvention>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTimain.cpp" />
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiproc.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Go4kVSTi.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\source\common\AEffect.h" />
|
||||
<ClInclude Include="..\source\common\aeffectx.h" />
|
||||
<ClInclude Include="..\source\common\AEffEditor.hpp" />
|
||||
<ClInclude Include="..\source\common\AudioEffect.hpp" />
|
||||
<ClInclude Include="..\source\common\audioeffectx.h" />
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTi.h" />
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiCore.h" />
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiGUI.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="4klang.bin" />
|
||||
<None Include="4klang.inc" />
|
||||
<None Include="nasmw.bin" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<YASM Include="4klang.asm">
|
||||
<Debug Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</Debug>
|
||||
</YASM>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\vsyasm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
78
4klang_source/Go4kVSTi/win/Go4kVSTi.vcxproj.filters
Normal file
78
4klang_source/Go4kVSTi/win/Go4kVSTi.vcxproj.filters
Normal file
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{1cf4fa67-2860-48e5-9e8b-29b87a918b97}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{8c759cfb-040e-43f2-a0c5-3f00eb100142}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\source\common\AudioEffect.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\common\audioeffectx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTi.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiCore.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiGUI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTimain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiproc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Go4kVSTi.rc">
|
||||
<Filter>Source Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\source\common\AEffect.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\aeffectx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\AEffEditor.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\AudioEffect.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\audioeffectx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiCore.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiGUI.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="4klang.bin" />
|
||||
<None Include="4klang.inc" />
|
||||
<None Include="nasmw.bin" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<YASM Include="4klang.asm" />
|
||||
</ItemGroup>
|
||||
</Project>
|
2
4klang_source/Go4kVSTi/win/Go4kVSTi2.def
Normal file
2
4klang_source/Go4kVSTi/win/Go4kVSTi2.def
Normal file
@ -0,0 +1,2 @@
|
||||
LIBRARY 8klang
|
||||
EXPORTS main
|
1388
4klang_source/Go4kVSTi/win/Go4kVSTi2.rc
Normal file
1388
4klang_source/Go4kVSTi/win/Go4kVSTi2.rc
Normal file
File diff suppressed because it is too large
Load Diff
197
4klang_source/Go4kVSTi/win/Go4kVSTi2.vcxproj
Normal file
197
4klang_source/Go4kVSTi/win/Go4kVSTi2.vcxproj
Normal file
@ -0,0 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>8klang</ProjectName>
|
||||
<ProjectGuid>{FA790F08-0B8E-43D9-A4B4-519AB01B820C}</ProjectGuid>
|
||||
<RootNamespace>Go4kVSTi2</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\vsyasm.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(ProjectName)\Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(ProjectName)\Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(ProjectName)\Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(ProjectName)\Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</EmbedManifest>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/vstxsynth.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\source\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_8KLANG;WIN32;_DEBUG;_WINDOWS;WINDOWS=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<StructMemberAlignment>1Byte</StructMemberAlignment>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ModuleDefinitionFile>.\Go4kVSTi2.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy /Y $(TargetPath) C:\VST</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/vstxsynth.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\source\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_8KLANG;WIN32;NDEBUG;_WINDOWS;WINDOWS=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<StructMemberAlignment>1Byte</StructMemberAlignment>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<CallingConvention>Cdecl</CallingConvention>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ModuleDefinitionFile>.\Go4kVSTi2.def</ModuleDefinitionFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy /Y $(TargetPath) C:\VST</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\source\common\AudioEffect.cpp" />
|
||||
<ClCompile Include="..\source\common\audioeffectx.cpp" />
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTi.cpp" />
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiCore.cpp">
|
||||
<CallingConvention Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Cdecl</CallingConvention>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiGUI.cpp">
|
||||
<CallingConvention Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Cdecl</CallingConvention>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTimain.cpp" />
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiproc.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\source\common\AEffect.h" />
|
||||
<ClInclude Include="..\source\common\aeffectx.h" />
|
||||
<ClInclude Include="..\source\common\AEffEditor.hpp" />
|
||||
<ClInclude Include="..\source\common\AudioEffect.hpp" />
|
||||
<ClInclude Include="..\source\common\audioeffectx.h" />
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTi.h" />
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiCore.h" />
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiGUI.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="4klang.bin" />
|
||||
<None Include="4klang.inc" />
|
||||
<None Include="nasmw.bin" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<YASM Include="4klang.asm">
|
||||
<Debug Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</Debug>
|
||||
</YASM>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Go4kVSTi2.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\vsyasm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
78
4klang_source/Go4kVSTi/win/Go4kVSTi2.vcxproj.filters
Normal file
78
4klang_source/Go4kVSTi/win/Go4kVSTi2.vcxproj.filters
Normal file
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{1cf4fa67-2860-48e5-9e8b-29b87a918b97}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{8c759cfb-040e-43f2-a0c5-3f00eb100142}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\source\common\AudioEffect.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\common\audioeffectx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTi.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiCore.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiGUI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTimain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\source\GoSynth\Go4kVSTiproc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\source\common\AEffect.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\aeffectx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\AEffEditor.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\AudioEffect.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\common\audioeffectx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiCore.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\source\GoSynth\Go4kVSTiGUI.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="4klang.bin" />
|
||||
<None Include="4klang.inc" />
|
||||
<None Include="nasmw.bin" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<YASM Include="4klang.asm" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Go4kVSTi2.rc">
|
||||
<Filter>Source Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -64,6 +64,7 @@
|
||||
#define IDC_ISTACK_VALID 1040
|
||||
#define IDC_GSTACK_VALID 1041
|
||||
#define IDC_PATTERN_QUANT 1042
|
||||
#define IDC_INSTRUMENTLINK 1043
|
||||
#define IDC_UNIT_RESET 1050
|
||||
#define IDC_UNIT_COPY 1051
|
||||
#define IDC_UNIT_PASTE 1052
|
||||
@ -89,6 +90,7 @@
|
||||
#define IDC_VCO_PULSE 1152
|
||||
#define IDC_VCO_NOISE 1153
|
||||
#define IDC_VCO_GATE 1154
|
||||
#define IDC_VCO_STEREO 1155
|
||||
#define IDC_VCO_TRANSPOSE 1160
|
||||
#define IDC_VCO_TRANSPOSE_VAL 1161
|
||||
#define IDC_VCO_TRANSPOSE_QUANT 1162
|
||||
@ -137,6 +139,7 @@
|
||||
#define IDC_VCF_RESONANCE 1210
|
||||
#define IDC_VCF_RESONANCE_VAL 1211
|
||||
#define IDC_VCF_RESONANCE_QUANT 1212
|
||||
#define IDC_VCF_STEREO 1213
|
||||
#define IDC_DST_DRIVE 1250
|
||||
#define IDC_DST_DRIVE_VAL 1251
|
||||
#define IDC_DST_DRIVE_QUANT 1252
|
||||
@ -177,12 +180,17 @@
|
||||
#define IDC_FOP_MUL 1357
|
||||
#define IDC_FOP_ADDP2 1358
|
||||
#define IDC_FOP_LOADNOTE 1359
|
||||
#define IDC_FOP_MULP2 1360
|
||||
#define IDC_FST_AMOUNT 1400
|
||||
#define IDC_FST_AMOUNT_VAL 1401
|
||||
#define IDC_FST_AMOUNT_QUANT 1402
|
||||
#define IDC_FST_DESTINATION_INSTRUMENT 1403
|
||||
#define IDC_FST_DESTINATION_UNIT 1404
|
||||
#define IDC_FST_DESTINATION_SLOT 1405
|
||||
#define IDC_FST_SET 1410
|
||||
#define IDC_FST_ADD 1411
|
||||
#define IDC_FST_MUL 1412
|
||||
#define IDC_FST_POP 1413
|
||||
#define IDC_PAN_PANNING 1450
|
||||
#define IDC_PAN_PANNING_VAL 1451
|
||||
#define IDC_PAN_PANNING_QUANT 1452
|
||||
@ -195,8 +203,8 @@
|
||||
#define IDC_ACC_OUT 1550
|
||||
#define IDC_ACC_AUX 1551
|
||||
#define IDC_FLD_VALUE 1552
|
||||
#define IDC_FLD_VALUE_VAL 1553
|
||||
#define IDC_FLD_VALUE_QUANT 1554
|
||||
#define IDC_FLD_VALUE_VAL 1553
|
||||
#define IDC_FLD_VALUE_QUANT 1554
|
||||
#define IDC_ISTACK_UNIT1 1600
|
||||
#define IDC_ISTACK_UP1 1601
|
||||
#define IDC_ISTACK_DOWN1 1602
|
||||
@ -389,6 +397,198 @@
|
||||
#define IDC_ISTACK_SIGNALCOUNT32 1789
|
||||
#define IDC_ISTACK_SET32 1790
|
||||
#define IDC_ISTACK_RESET32 1791
|
||||
#define IDC_ISTACK__UNIT1 1792
|
||||
#define IDC_ISTACK__UP1 1793
|
||||
#define IDC_ISTACK__DOWN1 1794
|
||||
#define IDC_ISTACK__SIGNALCOUNT1 1795
|
||||
#define IDC_ISTACK__SET1 1796
|
||||
#define IDC_ISTACK__RESET1 1797
|
||||
#define IDC_ISTACK__UNIT2 1798
|
||||
#define IDC_ISTACK__UP2 1799
|
||||
#define IDC_ISTACK__DOWN2 1800
|
||||
#define IDC_ISTACK__SIGNALCOUNT2 1801
|
||||
#define IDC_ISTACK__SET2 1802
|
||||
#define IDC_ISTACK__RESET2 1803
|
||||
#define IDC_ISTACK__UNIT3 1804
|
||||
#define IDC_ISTACK__UP3 1805
|
||||
#define IDC_ISTACK__DOWN3 1806
|
||||
#define IDC_ISTACK__SIGNALCOUNT3 1807
|
||||
#define IDC_ISTACK__SET3 1808
|
||||
#define IDC_ISTACK__RESET3 1809
|
||||
#define IDC_ISTACK__UNIT4 1810
|
||||
#define IDC_ISTACK__UP4 1811
|
||||
#define IDC_ISTACK__DOWN4 1812
|
||||
#define IDC_ISTACK__SIGNALCOUNT4 1813
|
||||
#define IDC_ISTACK__SET4 1814
|
||||
#define IDC_ISTACK__RESET4 1815
|
||||
#define IDC_ISTACK__UNIT5 1816
|
||||
#define IDC_ISTACK__UP5 1817
|
||||
#define IDC_ISTACK__DOWN5 1818
|
||||
#define IDC_ISTACK__SIGNALCOUNT5 1819
|
||||
#define IDC_ISTACK__SET5 1820
|
||||
#define IDC_ISTACK__RESET5 1821
|
||||
#define IDC_ISTACK__UNIT6 1822
|
||||
#define IDC_ISTACK__UP6 1823
|
||||
#define IDC_ISTACK__DOWN6 1824
|
||||
#define IDC_ISTACK__SIGNALCOUNT6 1825
|
||||
#define IDC_ISTACK__SET6 1826
|
||||
#define IDC_ISTACK__RESET6 1827
|
||||
#define IDC_ISTACK__UNIT7 1828
|
||||
#define IDC_ISTACK__UP7 1829
|
||||
#define IDC_ISTACK__DOWN7 1830
|
||||
#define IDC_ISTACK__SIGNALCOUNT7 1831
|
||||
#define IDC_ISTACK__SET7 1832
|
||||
#define IDC_ISTACK__RESET7 1833
|
||||
#define IDC_ISTACK__UNIT8 1834
|
||||
#define IDC_ISTACK__UP8 1835
|
||||
#define IDC_ISTACK__DOWN8 1836
|
||||
#define IDC_ISTACK__SIGNALCOUNT8 1837
|
||||
#define IDC_ISTACK__SET8 1838
|
||||
#define IDC_ISTACK__RESET8 1839
|
||||
#define IDC_ISTACK__UNIT9 1840
|
||||
#define IDC_ISTACK__UP9 1841
|
||||
#define IDC_ISTACK__DOWN9 1842
|
||||
#define IDC_ISTACK__SIGNALCOUNT9 1843
|
||||
#define IDC_ISTACK__SET9 1844
|
||||
#define IDC_ISTACK__RESET9 1845
|
||||
#define IDC_ISTACK__UNIT10 1846
|
||||
#define IDC_ISTACK__UP10 1847
|
||||
#define IDC_ISTACK__DOWN10 1848
|
||||
#define IDC_ISTACK__SIGNALCOUNT10 1849
|
||||
#define IDC_ISTACK__SET10 1850
|
||||
#define IDC_ISTACK__RESET10 1851
|
||||
#define IDC_ISTACK__UNIT11 1852
|
||||
#define IDC_ISTACK__UP11 1853
|
||||
#define IDC_ISTACK__DOWN11 1854
|
||||
#define IDC_ISTACK__SIGNALCOUNT11 1855
|
||||
#define IDC_ISTACK__SET11 1856
|
||||
#define IDC_ISTACK__RESET11 1857
|
||||
#define IDC_ISTACK__UNIT12 1858
|
||||
#define IDC_ISTACK__UP12 1859
|
||||
#define IDC_ISTACK__DOWN12 1860
|
||||
#define IDC_ISTACK__SIGNALCOUNT12 1861
|
||||
#define IDC_ISTACK__SET12 1862
|
||||
#define IDC_ISTACK__RESET12 1863
|
||||
#define IDC_ISTACK__UNIT13 1864
|
||||
#define IDC_ISTACK__UP13 1865
|
||||
#define IDC_ISTACK__DOWN13 1866
|
||||
#define IDC_ISTACK__SIGNALCOUNT13 1867
|
||||
#define IDC_ISTACK__SET13 1868
|
||||
#define IDC_ISTACK__RESET13 1869
|
||||
#define IDC_ISTACK__UNIT14 1870
|
||||
#define IDC_ISTACK__UP14 1871
|
||||
#define IDC_ISTACK__DOWN14 1872
|
||||
#define IDC_ISTACK__SIGNALCOUNT14 1873
|
||||
#define IDC_ISTACK__SET14 1874
|
||||
#define IDC_ISTACK__RESET14 1875
|
||||
#define IDC_ISTACK__UNIT15 1876
|
||||
#define IDC_ISTACK__UP15 1877
|
||||
#define IDC_ISTACK__DOWN15 1878
|
||||
#define IDC_ISTACK__SIGNALCOUNT15 1879
|
||||
#define IDC_ISTACK__SET15 1880
|
||||
#define IDC_ISTACK__RESET15 1881
|
||||
#define IDC_ISTACK__UNIT16 1882
|
||||
#define IDC_ISTACK__UP16 1883
|
||||
#define IDC_ISTACK__DOWN16 1884
|
||||
#define IDC_ISTACK__SIGNALCOUNT16 1885
|
||||
#define IDC_ISTACK__SET16 1886
|
||||
#define IDC_ISTACK__RESET16 1887
|
||||
#define IDC_ISTACK__UNIT17 1888
|
||||
#define IDC_ISTACK__UP17 1889
|
||||
#define IDC_ISTACK__DOWN17 1890
|
||||
#define IDC_ISTACK__SIGNALCOUNT17 1891
|
||||
#define IDC_ISTACK__SET17 1892
|
||||
#define IDC_ISTACK__RESET17 1893
|
||||
#define IDC_ISTACK__UNIT18 1894
|
||||
#define IDC_ISTACK__UP18 1895
|
||||
#define IDC_ISTACK__DOWN18 1896
|
||||
#define IDC_ISTACK__SIGNALCOUNT18 1897
|
||||
#define IDC_ISTACK__SET18 1898
|
||||
#define IDC_ISTACK__RESET18 1899
|
||||
#define IDC_ISTACK__UNIT19 1900
|
||||
#define IDC_ISTACK__UP19 1901
|
||||
#define IDC_ISTACK__DOWN19 1902
|
||||
#define IDC_ISTACK__SIGNALCOUNT19 1903
|
||||
#define IDC_ISTACK__SET19 1904
|
||||
#define IDC_ISTACK__RESET19 1905
|
||||
#define IDC_ISTACK__UNIT20 1906
|
||||
#define IDC_ISTACK__UP20 1907
|
||||
#define IDC_ISTACK__DOWN20 1908
|
||||
#define IDC_ISTACK__SIGNALCOUNT20 1909
|
||||
#define IDC_ISTACK__SET20 1910
|
||||
#define IDC_ISTACK__RESET20 1911
|
||||
#define IDC_ISTACK__UNIT21 1912
|
||||
#define IDC_ISTACK__UP21 1913
|
||||
#define IDC_ISTACK__DOWN21 1914
|
||||
#define IDC_ISTACK__SIGNALCOUNT21 1915
|
||||
#define IDC_ISTACK__SET21 1916
|
||||
#define IDC_ISTACK__RESET21 1917
|
||||
#define IDC_ISTACK__UNIT22 1918
|
||||
#define IDC_ISTACK__UP22 1919
|
||||
#define IDC_ISTACK__DOWN22 1920
|
||||
#define IDC_ISTACK__SIGNALCOUNT22 1921
|
||||
#define IDC_ISTACK__SET22 1922
|
||||
#define IDC_ISTACK__RESET22 1923
|
||||
#define IDC_ISTACK__UNIT23 1924
|
||||
#define IDC_ISTACK__UP23 1925
|
||||
#define IDC_ISTACK__DOWN23 1926
|
||||
#define IDC_ISTACK__SIGNALCOUNT23 1927
|
||||
#define IDC_ISTACK__SET23 1928
|
||||
#define IDC_ISTACK__RESET23 1929
|
||||
#define IDC_ISTACK__UNIT24 1930
|
||||
#define IDC_ISTACK__UP24 1931
|
||||
#define IDC_ISTACK__DOWN24 1932
|
||||
#define IDC_ISTACK__SIGNALCOUNT24 1933
|
||||
#define IDC_ISTACK__SET24 1934
|
||||
#define IDC_ISTACK__RESET24 1935
|
||||
#define IDC_ISTACK__UNIT25 1936
|
||||
#define IDC_ISTACK__UP25 1937
|
||||
#define IDC_ISTACK__DOWN25 1938
|
||||
#define IDC_ISTACK__SIGNALCOUNT25 1939
|
||||
#define IDC_ISTACK__SET25 1940
|
||||
#define IDC_ISTACK__RESET25 1941
|
||||
#define IDC_ISTACK__UNIT26 1942
|
||||
#define IDC_ISTACK__UP26 1943
|
||||
#define IDC_ISTACK__DOWN26 1944
|
||||
#define IDC_ISTACK__SIGNALCOUNT26 1945
|
||||
#define IDC_ISTACK__SET26 1946
|
||||
#define IDC_ISTACK__RESET26 1947
|
||||
#define IDC_ISTACK__UNIT27 1948
|
||||
#define IDC_ISTACK__UP27 1949
|
||||
#define IDC_ISTACK__DOWN27 1950
|
||||
#define IDC_ISTACK__SIGNALCOUNT27 1951
|
||||
#define IDC_ISTACK__SET27 1952
|
||||
#define IDC_ISTACK__RESET27 1953
|
||||
#define IDC_ISTACK__UNIT28 1954
|
||||
#define IDC_ISTACK__UP28 1955
|
||||
#define IDC_ISTACK__DOWN28 1956
|
||||
#define IDC_ISTACK__SIGNALCOUNT28 1957
|
||||
#define IDC_ISTACK__SET28 1958
|
||||
#define IDC_ISTACK__RESET28 1959
|
||||
#define IDC_ISTACK__UNIT29 1960
|
||||
#define IDC_ISTACK__UP29 1961
|
||||
#define IDC_ISTACK__DOWN29 1962
|
||||
#define IDC_ISTACK__SIGNALCOUNT29 1963
|
||||
#define IDC_ISTACK__SET29 1964
|
||||
#define IDC_ISTACK__RESET29 1965
|
||||
#define IDC_ISTACK__UNIT30 1966
|
||||
#define IDC_ISTACK__UP30 1967
|
||||
#define IDC_ISTACK__DOWN30 1968
|
||||
#define IDC_ISTACK__SIGNALCOUNT30 1969
|
||||
#define IDC_ISTACK__SET30 1970
|
||||
#define IDC_ISTACK__RESET30 1971
|
||||
#define IDC_ISTACK__UNIT31 1972
|
||||
#define IDC_ISTACK__UP31 1973
|
||||
#define IDC_ISTACK__DOWN31 1974
|
||||
#define IDC_ISTACK__SIGNALCOUNT31 1975
|
||||
#define IDC_ISTACK__SET31 1976
|
||||
#define IDC_ISTACK__RESET31 1977
|
||||
#define IDC_ISTACK__UNIT32 1978
|
||||
#define IDC_ISTACK__UP32 1979
|
||||
#define IDC_ISTACK__DOWN32 1980
|
||||
#define IDC_ISTACK__SIGNALCOUNT32 1981
|
||||
#define IDC_ISTACK__SET32 1982
|
||||
#define IDC_ISTACK__RESET32 1983
|
||||
#define IDC_GSTACK_UNIT1 3600
|
||||
#define IDC_GSTACK_UP1 3601
|
||||
#define IDC_GSTACK_DOWN1 3602
|
||||
@ -581,6 +781,199 @@
|
||||
#define IDC_GSTACK_SIGNALCOUNT32 3789
|
||||
#define IDC_GSTACK_SET32 3790
|
||||
#define IDC_GSTACK_RESET32 3791
|
||||
#define IDC_GSTACK__UNIT1 3792
|
||||
#define IDC_GSTACK__UP1 3793
|
||||
#define IDC_GSTACK__DOWN1 3794
|
||||
#define IDC_GSTACK__SIGNALCOUNT1 3795
|
||||
#define IDC_GSTACK__SET1 3796
|
||||
#define IDC_GSTACK__RESET1 3797
|
||||
#define IDC_GSTACK__UNIT2 3798
|
||||
#define IDC_GSTACK__UP2 3799
|
||||
#define IDC_GSTACK__DOWN2 3800
|
||||
#define IDC_GSTACK__SIGNALCOUNT2 3801
|
||||
#define IDC_GSTACK__SET2 3802
|
||||
#define IDC_GSTACK__RESET2 3803
|
||||
#define IDC_GSTACK__UNIT3 3804
|
||||
#define IDC_GSTACK__UP3 3805
|
||||
#define IDC_GSTACK__DOWN3 3806
|
||||
#define IDC_GSTACK__SIGNALCOUNT3 3807
|
||||
#define IDC_GSTACK__SET3 3808
|
||||
#define IDC_GSTACK__RESET3 3809
|
||||
#define IDC_GSTACK__UNIT4 3810
|
||||
#define IDC_GSTACK__UP4 3811
|
||||
#define IDC_GSTACK__DOWN4 3812
|
||||
#define IDC_GSTACK__SIGNALCOUNT4 3813
|
||||
#define IDC_GSTACK__SET4 3814
|
||||
#define IDC_GSTACK__RESET4 3815
|
||||
#define IDC_GSTACK__UNIT5 3816
|
||||
#define IDC_GSTACK__UP5 3817
|
||||
#define IDC_GSTACK__DOWN5 3818
|
||||
#define IDC_GSTACK__SIGNALCOUNT5 3819
|
||||
#define IDC_GSTACK__SET5 3820
|
||||
#define IDC_GSTACK__RESET5 3821
|
||||
#define IDC_GSTACK__UNIT6 3822
|
||||
#define IDC_GSTACK__UP6 3823
|
||||
#define IDC_GSTACK__DOWN6 3824
|
||||
#define IDC_GSTACK__SIGNALCOUNT6 3825
|
||||
#define IDC_GSTACK__SET6 3826
|
||||
#define IDC_GSTACK__RESET6 3827
|
||||
#define IDC_GSTACK__UNIT7 3828
|
||||
#define IDC_GSTACK__UP7 3829
|
||||
#define IDC_GSTACK__DOWN7 3830
|
||||
#define IDC_GSTACK__SIGNALCOUNT7 3831
|
||||
#define IDC_GSTACK__SET7 3832
|
||||
#define IDC_GSTACK__RESET7 3833
|
||||
#define IDC_GSTACK__UNIT8 3834
|
||||
#define IDC_GSTACK__UP8 3835
|
||||
#define IDC_GSTACK__DOWN8 3836
|
||||
#define IDC_GSTACK__SIGNALCOUNT8 3837
|
||||
#define IDC_GSTACK__SET8 3838
|
||||
#define IDC_GSTACK__RESET8 3839
|
||||
#define IDC_GSTACK__UNIT9 3840
|
||||
#define IDC_GSTACK__UP9 3841
|
||||
#define IDC_GSTACK__DOWN9 3842
|
||||
#define IDC_GSTACK__SIGNALCOUNT9 3843
|
||||
#define IDC_GSTACK__SET9 3844
|
||||
#define IDC_GSTACK__RESET9 3845
|
||||
#define IDC_GSTACK__UNIT10 3846
|
||||
#define IDC_GSTACK__UP10 3847
|
||||
#define IDC_GSTACK__DOWN10 3848
|
||||
#define IDC_GSTACK__SIGNALCOUNT10 3849
|
||||
#define IDC_GSTACK__SET10 3850
|
||||
#define IDC_GSTACK__RESET10 3851
|
||||
#define IDC_GSTACK__UNIT11 3852
|
||||
#define IDC_GSTACK__UP11 3853
|
||||
#define IDC_GSTACK__DOWN11 3854
|
||||
#define IDC_GSTACK__SIGNALCOUNT11 3855
|
||||
#define IDC_GSTACK__SET11 3856
|
||||
#define IDC_GSTACK__RESET11 3857
|
||||
#define IDC_GSTACK__UNIT12 3858
|
||||
#define IDC_GSTACK__UP12 3859
|
||||
#define IDC_GSTACK__DOWN12 3860
|
||||
#define IDC_GSTACK__SIGNALCOUNT12 3861
|
||||
#define IDC_GSTACK__SET12 3862
|
||||
#define IDC_GSTACK__RESET12 3863
|
||||
#define IDC_GSTACK__UNIT13 3864
|
||||
#define IDC_GSTACK__UP13 3865
|
||||
#define IDC_GSTACK__DOWN13 3866
|
||||
#define IDC_GSTACK__SIGNALCOUNT13 3867
|
||||
#define IDC_GSTACK__SET13 3868
|
||||
#define IDC_GSTACK__RESET13 3869
|
||||
#define IDC_GSTACK__UNIT14 3870
|
||||
#define IDC_GSTACK__UP14 3871
|
||||
#define IDC_GSTACK__DOWN14 3872
|
||||
#define IDC_GSTACK__SIGNALCOUNT14 3873
|
||||
#define IDC_GSTACK__SET14 3874
|
||||
#define IDC_GSTACK__RESET14 3875
|
||||
#define IDC_GSTACK__UNIT15 3876
|
||||
#define IDC_GSTACK__UP15 3877
|
||||
#define IDC_GSTACK__DOWN15 3878
|
||||
#define IDC_GSTACK__SIGNALCOUNT15 3879
|
||||
#define IDC_GSTACK__SET15 3880
|
||||
#define IDC_GSTACK__RESET15 3881
|
||||
#define IDC_GSTACK__UNIT16 3882
|
||||
#define IDC_GSTACK__UP16 3883
|
||||
#define IDC_GSTACK__DOWN16 3884
|
||||
#define IDC_GSTACK__SIGNALCOUNT16 3885
|
||||
#define IDC_GSTACK__SET16 3886
|
||||
#define IDC_GSTACK__RESET16 3887
|
||||
#define IDC_GSTACK__UNIT17 3888
|
||||
#define IDC_GSTACK__UP17 3889
|
||||
#define IDC_GSTACK__DOWN17 3890
|
||||
#define IDC_GSTACK__SIGNALCOUNT17 3891
|
||||
#define IDC_GSTACK__SET17 3892
|
||||
#define IDC_GSTACK__RESET17 3893
|
||||
#define IDC_GSTACK__UNIT18 3894
|
||||
#define IDC_GSTACK__UP18 3895
|
||||
#define IDC_GSTACK__DOWN18 3896
|
||||
#define IDC_GSTACK__SIGNALCOUNT18 3897
|
||||
#define IDC_GSTACK__SET18 3898
|
||||
#define IDC_GSTACK__RESET18 3899
|
||||
#define IDC_GSTACK__UNIT19 3900
|
||||
#define IDC_GSTACK__UP19 3901
|
||||
#define IDC_GSTACK__DOWN19 3902
|
||||
#define IDC_GSTACK__SIGNALCOUNT19 3903
|
||||
#define IDC_GSTACK__SET19 3904
|
||||
#define IDC_GSTACK__RESET19 3905
|
||||
#define IDC_GSTACK__UNIT20 3906
|
||||
#define IDC_GSTACK__UP20 3907
|
||||
#define IDC_GSTACK__DOWN20 3908
|
||||
#define IDC_GSTACK__SIGNALCOUNT20 3909
|
||||
#define IDC_GSTACK__SET20 3910
|
||||
#define IDC_GSTACK__RESET20 3911
|
||||
#define IDC_GSTACK__UNIT21 3912
|
||||
#define IDC_GSTACK__UP21 3913
|
||||
#define IDC_GSTACK__DOWN21 3914
|
||||
#define IDC_GSTACK__SIGNALCOUNT21 3915
|
||||
#define IDC_GSTACK__SET21 3916
|
||||
#define IDC_GSTACK__RESET21 3917
|
||||
#define IDC_GSTACK__UNIT22 3918
|
||||
#define IDC_GSTACK__UP22 3919
|
||||
#define IDC_GSTACK__DOWN22 3920
|
||||
#define IDC_GSTACK__SIGNALCOUNT22 3921
|
||||
#define IDC_GSTACK__SET22 3922
|
||||
#define IDC_GSTACK__RESET22 3923
|
||||
#define IDC_GSTACK__UNIT23 3924
|
||||
#define IDC_GSTACK__UP23 3925
|
||||
#define IDC_GSTACK__DOWN23 3926
|
||||
#define IDC_GSTACK__SIGNALCOUNT23 3927
|
||||
#define IDC_GSTACK__SET23 3928
|
||||
#define IDC_GSTACK__RESET23 3929
|
||||
#define IDC_GSTACK__UNIT24 3930
|
||||
#define IDC_GSTACK__UP24 3931
|
||||
#define IDC_GSTACK__DOWN24 3932
|
||||
#define IDC_GSTACK__SIGNALCOUNT24 3933
|
||||
#define IDC_GSTACK__SET24 3934
|
||||
#define IDC_GSTACK__RESET24 3935
|
||||
#define IDC_GSTACK__UNIT25 3936
|
||||
#define IDC_GSTACK__UP25 3937
|
||||
#define IDC_GSTACK__DOWN25 3938
|
||||
#define IDC_GSTACK__SIGNALCOUNT25 3939
|
||||
#define IDC_GSTACK__SET25 3940
|
||||
#define IDC_GSTACK__RESET25 3941
|
||||
#define IDC_GSTACK__UNIT26 3942
|
||||
#define IDC_GSTACK__UP26 3943
|
||||
#define IDC_GSTACK__DOWN26 3944
|
||||
#define IDC_GSTACK__SIGNALCOUNT26 3945
|
||||
#define IDC_GSTACK__SET26 3946
|
||||
#define IDC_GSTACK__RESET26 3947
|
||||
#define IDC_GSTACK__UNIT27 3948
|
||||
#define IDC_GSTACK__UP27 3949
|
||||
#define IDC_GSTACK__DOWN27 3950
|
||||
#define IDC_GSTACK__SIGNALCOUNT27 3951
|
||||
#define IDC_GSTACK__SET27 3952
|
||||
#define IDC_GSTACK__RESET27 3953
|
||||
#define IDC_GSTACK__UNIT28 3954
|
||||
#define IDC_GSTACK__UP28 3955
|
||||
#define IDC_GSTACK__DOWN28 3956
|
||||
#define IDC_GSTACK__SIGNALCOUNT28 3957
|
||||
#define IDC_GSTACK__SET28 3958
|
||||
#define IDC_GSTACK__RESET28 3959
|
||||
#define IDC_GSTACK__UNIT29 3960
|
||||
#define IDC_GSTACK__UP29 3961
|
||||
#define IDC_GSTACK__DOWN29 3962
|
||||
#define IDC_GSTACK__SIGNALCOUNT29 3963
|
||||
#define IDC_GSTACK__SET29 3964
|
||||
#define IDC_GSTACK__RESET29 3965
|
||||
#define IDC_GSTACK__UNIT30 3966
|
||||
#define IDC_GSTACK__UP30 3967
|
||||
#define IDC_GSTACK__DOWN30 3968
|
||||
#define IDC_GSTACK__SIGNALCOUNT30 3969
|
||||
#define IDC_GSTACK__SET30 3970
|
||||
#define IDC_GSTACK__RESET30 3971
|
||||
#define IDC_GSTACK__UNIT31 3972
|
||||
#define IDC_GSTACK__UP31 3973
|
||||
#define IDC_GSTACK__DOWN31 3974
|
||||
#define IDC_GSTACK__SIGNALCOUNT31 3975
|
||||
#define IDC_GSTACK__SET31 3976
|
||||
#define IDC_GSTACK__RESET31 3977
|
||||
#define IDC_GSTACK__UNIT32 3978
|
||||
#define IDC_GSTACK__UP32 3979
|
||||
#define IDC_GSTACK__DOWN32 3980
|
||||
#define IDC_GSTACK__SIGNALCOUNT32 3981
|
||||
#define IDC_GSTACK__SET32 3982
|
||||
#define IDC_GSTACK__RESET32 3983
|
||||
#define IDC_DST_STEREO 5004
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
@ -588,7 +981,7 @@
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 124
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 5000
|
||||
#define _APS_NEXT_CONTROL_VALUE 5005
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
20
readme.txt
20
readme.txt
@ -86,7 +86,27 @@ same with the patch and song data. the more repetitive parameter values and the
|
||||
|
||||
apart from that, try understanding what each unit effectively does before doing really fancy stuff with ist :) start simple and get more complex over time (especially when doing cross modulations from one instrument to another).
|
||||
|
||||
-----------------------------
|
||||
Info for version 3.11
|
||||
-----------------------------
|
||||
|
||||
this is a more or less experimental version mainly for use in 8k context.
|
||||
|
||||
version 3.11 also introduces a new file format to enable the new features. autoconvert again should happen automagically
|
||||
|
||||
biggest change is the existence of a second plugin called 8klang. it basically is a second 4klang plugin just that ich can be used to have additional 16 instruments.
|
||||
you can only have modulations across channels within each plugin (so not across the plugins).
|
||||
when you record a song with both plugins active, be sure to stop recording on the 4klang plugin first, then on the 8klang plugin.
|
||||
the 8klang plugin will then try to merge things (thats the experimental part, it did work for us in 8ks so far, but you never know :))
|
||||
|
||||
also a couple of new features are available:
|
||||
- extension to 64 slots for each instrument.
|
||||
- stereo flags for some nodes where possible (oscillator, filter, distortion)
|
||||
- some additions to the arithmetic unit
|
||||
- instrument link option, so when you have the same instrument loaded in several channels for e.g. playing chords you can now change one instrument and the others will apply the same changes.
|
||||
|
||||
a nice tutorial for some of those features and sound design in general can be found here (thank you wayfinder):
|
||||
https://www.youtube.com/watch?v=wP__g_9FT4M
|
||||
|
||||
for questions, bug reports, rants ... mail to: atz4klangATuntergrundDOTnet
|
||||
or catch us on IRC (#atz on IRCNet)
|
||||
|
Reference in New Issue
Block a user