Skip to content

Commit

Permalink
Initial push of DISTRHO code
Browse files Browse the repository at this point in the history
  • Loading branch information
falkTX committed Feb 14, 2014
1 parent eb9acd0 commit 49edfaa
Show file tree
Hide file tree
Showing 2,880 changed files with 1,256,923 additions and 0 deletions.
76 changes: 76 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
*~
*.a
*.dll
*.dylib
*.exe
*.la
*.o
*.so
*.so.*

*.cdbs-orig
*.moc
moc_*.cpp
qrc_*.cpp
ui_*.h

*.lv2
*.make
*.pro.user
Makefile
Makefile.Debug
Makefile.Release
object_script.*.Debug
object_script.*.Release

.directory
.fuse*
.svn
.*.kate-swp
.DS_Store
.kdev_include_paths
.kdev4

bin/ladspa
bin/dssi
bin/lv2
bin/vst
bin/standalone
debian
intermediate
lv2_ttl_generator

libs/distrho/dgl/Makefile.copy
libs/juce-2.0/source/amalgamation/
libs/juce-2.0/source/docs/
libs/juce-2.0/source/extras/
libs/juce-2.0/source/modules/juce_box2d/
libs/juce-2.0/source/modules/juce_browser_plugin_client/
libs/juce-2.0/source/modules/juce_cryptography/
libs/juce-2.0/source/modules/juce_opengl/
libs/juce-2.0/source/modules/juce_video/
libs/juce-2.0/source/juce.h
libs/juce-2.0/source/juce_amalgamated.*

scripts/*.h
scripts/*.pro

sdks/ASIOSDK2/*
sdks/vstsdk2.4/*

_old
ports/_todo

libs/juce/source/.gitignore
libs/juce/source/amalgamation/
libs/juce/source/docs/
libs/juce/source/extras/
libs/juce/source/juce.h
libs/juce/source/juce_amalgamated.cpp
libs/juce/source/juce_amalgamated.h
libs/juce/source/juce_amalgamated.mm
libs/juce/source/modules/juce_box2d/
libs/juce/source/modules/juce_browser_plugin_client/
libs/juce/source/modules/juce_cryptography/
libs/juce/source/modules/juce_opengl/
libs/juce/source/modules/juce_video/
9 changes: 9 additions & 0 deletions DISTRHO.kdev4
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[Project]
Manager=KDevGenericManager
Name=DISTRHO

[Filters]
Excludes=*~,*.o

[Project]
VersionControlSupport=kdevgit
99 changes: 99 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# -----------------------------------------
# Compile all the Plugins and Ports

PREFIX = /usr/local

# -----------------------------------------
# all

all:
$(MAKE) -C libs/dgl
$(MAKE) -C libs/drowaudio
$(MAKE) -C libs/juce
$(MAKE) -C libs/juced
$(MAKE) -C libs/lv2-ttl-generator
$(MAKE) -C plugins plugins
$(MAKE) -C ports plugins
$(MAKE) gen

# -----------------------------------------
# install

install:
install -d $(DESTDIR)$(PREFIX)/lib/ladspa/
install -d $(DESTDIR)$(PREFIX)/lib/dssi/
install -d $(DESTDIR)$(PREFIX)/lib/lv2/
install -d $(DESTDIR)$(PREFIX)/lib/vst/
cp -r bin/ladspa/* $(DESTDIR)$(PREFIX)/lib/ladspa/
cp -r bin/dssi/* $(DESTDIR)$(PREFIX)/lib/dssi/
cp -r bin/vst/* $(DESTDIR)$(PREFIX)/lib/vst/
cp -r bin/lv2/*.lv2/ static-lv2-ttl/*.lv2/ $(DESTDIR)$(PREFIX)/lib/lv2/

# -----------------------------------------
# gen

gen: gen_lv2 gen_vst

gen_lv2:
$(MAKE) -C libs/lv2-ttl-generator
@./scripts/generate-cabbage-lv2.sh
@./scripts/generate-ttl.sh

gen_vst:
@./scripts/generate-cabbage-vst.sh

# -----------------------------------------
# clean

clean:
$(MAKE) clean -C libs/dgl
$(MAKE) clean -C libs/drowaudio
$(MAKE) clean -C libs/juce
$(MAKE) clean -C libs/juced
$(MAKE) clean -C libs/lv2-ttl-generator
$(MAKE) clean -C plugins
$(MAKE) clean -C ports
rm -rf bin/lv2/*.lv2/

distclean: clean
$(MAKE) distclean -C libs/dgl
$(MAKE) distclean -C libs/drowaudio
$(MAKE) distclean -C libs/juce
$(MAKE) distclean -C libs/juced
$(MAKE) distclean -C plugins
$(MAKE) distclean -C ports

# -----------------------------------------
# mingw

mingw:
$(MAKE) -C libs/lv2-ttl-generator mingw

# -----------------------------------------
# Custom build types

ladspa:
$(MAKE) -C plugins ladspa

dssi:
$(MAKE) -C libs/dgl
$(MAKE) -C plugins dssi

lv2:
$(MAKE) -C libs/dgl
$(MAKE) -C libs/drowaudio
$(MAKE) -C libs/juce
$(MAKE) -C libs/juced
$(MAKE) -C libs/lv2-ttl-generator
$(MAKE) -C plugins lv2
$(MAKE) -C ports lv2
$(MAKE) gen_lv2

vst:
$(MAKE) -C libs/dgl
$(MAKE) -C libs/drowaudio
$(MAKE) -C libs/juce
$(MAKE) -C libs/juced
$(MAKE) -C plugins vst
$(MAKE) -C ports vst
$(MAKE) gen_vst
5 changes: 5 additions & 0 deletions TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
test new cabbage code
install new cabbage files (html, others?)
report all bugs upstream

fix dgl keyboard input bug
101 changes: 101 additions & 0 deletions bin/cabbage-todo/Effects/AutopanTremolo.csd
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
<Cabbage>
form caption("Autopan / Tremolo") size(440, 102), pluginID("aptr")
image pos( 0, 0), size(440, 102), colour("Maroon"), shape("rounded"), outline("white"), line(4)
rslider bounds( 5, 6, 90, 90), text("Freq.[Hz]"), channel("rate"), range(0.1, 50, 0.5, 0.5), textBox(1)
rslider bounds( 80, 6, 90, 90), text("Tempo[BPM]"), channel("tempo"), range(6, 3000, 30, 0.5, 1), textBox(1)
rslider bounds(175, 6, 90, 90), text("Depth"), channel("depth"), range(0, 1.00, 1, 0.5), textBox(1)
rslider bounds(345, 6, 90, 90), text("Level"), channel("level"), range(0, 1.00, 1), textBox(1)
checkbox bounds(160, 15, 25, 25), colour("yellow"), channel("indicator"), value(0), shape("rounded")
combobox bounds(260, 13, 90,20), channel("mode"), value(1), text("Autopan", "Tremolo")
combobox bounds(260, 38, 90,20), channel("wave"), value(1), text("Sine", "Triangle", "Square", "Randomi", "Randomh")
checkbox bounds(260, 63, 90, 15), text("TEST TONE"), colour("lime"), channel("test"), value(0)


</Cabbage>
<CsoundSynthesizer>
<CsOptions>
-d -n
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
;Author: Iain McCurdy (2012)
opcode PanTrem,aa,aakkkK
ainL,ainR,krate,kdepth,kmode,kwave xin ;READ IN INPUT ARGUMENTS
ktrig changed kwave ;IF LFO WAVEFORM TYPE IS CHANGED GENERATE A MOMENTARY '1' (BANG)
if ktrig=1 then ;IF A 'BANG' HAS BEEN GENERATED IN THE ABOVE LINE
reinit UPDATE ;BEGIN A REINITIALIZATION PASS FROM LABEL 'UPDATE' SO THAT LFO WAVEFORM TYPE CAN BE UPDATED
endif ;END OF THIS CONDITIONAL BRANCH
UPDATE: ;LABEL CALLED UPDATE
iwave init i(kwave)
iwave limit iwave, 0, 4 ;
if iwave==3 then ;if randomi chosen...
klfo randomi -kdepth,kdepth,krate,1
elseif iwave==4 then ;of randomh chosen...
klfo randomh -kdepth,kdepth,krate,1
else
klfo lfo kdepth, krate, iwave ;CREATE AN LFO
endif
rireturn ;RETURN FROM REINITIALIZATION PASS
klfo = (klfo*0.5)+0.5 ;RESCALE AND OFFSET LFO SO IT STAY WITHIN THE RANGE 0 - 1 ABOUT THE VALUE 0.5
if iwave=2||iwave==4 then ;IF SQUARE WAVE MODULATION HAS BEEN CHOSEN...
klfo portk klfo, 0.001 ;SMOOTH THE SQUARE WAVE A TINY BIT TO PREVENT CLICKS
endif ;END OF THIS CONDITIONAL BRANCH
if kmode=0 then ;PAN ;IF PANNING MODE IS CHOSEN FROM BUTTON BANK...
alfo interp klfo ;INTERPOLATE K-RATE LFO AND CREATE A-RATE VARIABLE
aoutL = ainL*sqrt(alfo) ;REDEFINE GLOBAL AUDIO LEFT CHANNEL SIGNAL WITH AUTO-PANNING
aoutR = ainR*(1-sqrt(alfo)) ;REDEFINE GLOBAL AUDIO RIGHT CHANNEL SIGNAL WITH AUTO-PANNING
kindicator = (klfo>0.5?1:0)
chnset kindicator,"indicator"
elseif kmode=1 then ;TREM ;IF TREMELO MODE IS CHOSEN FROM BUTTON BANK...
kindicator = (klfo>0.5?1:0)
chnset kindicator,"indicator"
klfo = klfo+(0.5-(kdepth*0.5)) ;MODIFY LFO AT ZERO DEPTH VALUE IS 1 AND AT MAX DEPTH CENTRE OF MODULATION IS 0.5
alfo interp klfo ;INTERPOLATE K-RATE LFO AND CREATE A-RATE VARIABLE
aoutL = ainL*(alfo^2) ;REDEFINE GLOBAL AUDIO LEFT CHANNEL SIGNAL WITH TREMELO
aoutR = ainR*(alfo^2) ;REDEFINE GLOBAL AUDIO RIGHT CHANNEL SIGNAL WITH TREMELO
endif ;END OF THIS CONDITIONAL BRANCH
xout aoutL,aoutR ;SEND AUDIO BACK TO CALLER INSTRUMENT
endop
instr 1
krate chnget "rate"
ktempo chnget "tempo"
kdepth chnget "depth"
kmode chnget "mode"
kwave chnget "wave"
klevel chnget "level"
ktest chnget "test"
ktrig changed krate
ktrig2 changed ktempo
if ktrig=1 then
chnset krate*60,"tempo"
elseif ktrig2=1 then
chnset ktempo/60,"rate"
endif
if ktest=1 then
a1 vco2 0.2,300,4,0.5
a2 = a1
else
a1,a2 ins
endif
a1,a2 PanTrem a1,a2,krate,kdepth,kmode-1,kwave-1
a1 = a1 * klevel
a2 = a2 * klevel
outs a1,a2
endin
</CsInstruments>

<CsScore>
i 1 0 [60*60*24*7]
</CsScore>

</CsoundSynthesizer>
73 changes: 73 additions & 0 deletions bin/cabbage-todo/Effects/HighpassFilter.csd
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<Cabbage>
form caption("Highpass Filter") size(435, 90), pluginID("HPFl")
image pos(0, 0), size(435, 90), colour( 70,120, 90), shape("rounded"), outline("white"), line(4)
label bounds(22, 22, 60, 11), text("INPUT"), fontcolour("black")
combobox bounds(10, 33, 60, 20), channel("input"), value(1), text("Live","Tone","Noise")
rslider bounds( 75, 11, 70, 70), channel("cf"), text("Freq."), colour( 0, 60, 30), tracker(200,255,200), fontcolour("white"), range(20, 20000, 20000, 0.333)
rslider bounds(140, 11, 70, 70), channel("res"), text("Res."), colour( 0, 60, 30), tracker(200,255,200), fontcolour("white"), range(0,1.00,0)
rslider bounds(205, 11, 70, 70), channel("mix"), text("Mix"), colour( 0, 60, 30), tracker(200,255,200), fontcolour("white"), range(0,1.00,1)
button bounds(280, 10, 80, 20), text("24dB/oct", "12dB/oct"), channel("steepness"), value(0)
label bounds(290, 30, 80, 12), text("Steepness"), fontcolour("black")
checkbox bounds(280, 50, 80, 15), channel("ResType"),colour(yellow), fontcolour("black"), value(0), text("Resonant")
rslider bounds(360, 11, 70, 70), text("Level"), colour( 0, 60, 30), tracker(200,255,200), fontcolour("white"), channel("level"), range(0, 1.00, 1)
image bounds(5, 95, 205, 20), colour(75, 85, 90, 100), plant("credit"), line(0){
label bounds(0.03, 0.1, .95, .7), text("Author: Iain McCurdy |2012|"), colour("white")
</Cabbage>

<CsoundSynthesizer>

<CsOptions>
-d -n
</CsOptions>

<CsInstruments>
sr = 44100 ;SAMPLE RATE
ksmps = 32 ;NUMBER OF AUDIO SAMPLES IN EACH CONTROL CYCLE
nchnls = 2 ;NUMBER OF CHANNELS (2=STEREO)
0dbfs = 1
;Author: Iain McCurdy (2012)
instr 1
kcf chnget "cf" ;
kres chnget "res" ;
kmix chnget "mix" ;
ksteepness chnget "steepness" ;
kResType chnget "ResType" ;
klevel chnget "level" ;
kporttime linseg 0,0.001,0.02
kcf portk kcf,kporttime
/* INPUT */
kinput chnget "input"
if kinput=1 then
aL,aR ins
elseif kinput=2 then
aL vco2 0.2, 100
aR = aL
else
aL pinkish 0.2
aR pinkish 0.2
endif
if ksteepness==0&&kResType!=1 then
aFiltL atone aL,kcf
aFiltR atone aR,kcf
elseif ksteepness==1&&kResType!=1 then
aFiltL buthp aL,kcf
aFiltR buthp aR,kcf
elseif kResType==1 then
aFiltL bqrez aL,kcf,1+(kres*40),1
aFiltR bqrez aR,kcf,1+(kres*40),1
endif
aL ntrpol aL,aFiltL,kmix
aR ntrpol aR,aFiltR,kmix
outs aL*klevel,aR*klevel
endin
</CsInstruments>

<CsScore>
i 1 0 [3600*24*7]
</CsScore>

</CsoundSynthesizer>
Loading

0 comments on commit 49edfaa

Please sign in to comment.