Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 148 lines (122 sloc) 5.235 kb
6b653a1 Harry van Haaren Initial commit
authored
1 #!/usr/bin/python
2
3 VERSION='0.0.1'
4 APPNAME='Luppp'
5 top = './'
6 out = './.build'
7
8 def options(ctx):
9 ctx.tool_options('compiler_cxx')
10
11 ctx.add_option('--debug', action='store', default=True, help='Enable debuggable build')
12
13 def init(null):
14 #print '\nInitializing Luppp...'
15 pass
16
17 def configure(ctx):
18
19 ctx.check_tool ('compiler_cxx')
20
8440d82 Harry van Haaren -Waveform is shown in full space on bottom of screen, working on a wavef...
authored
21 ctx.env.CXXFLAGS = ['-pg','-g','-ldl','-Wall','-std=gnu++0x','-Wextra','-fpermissive']
6b653a1 Harry van Haaren Initial commit
authored
22
23 # Engine Depends
a7d8c8e Harry van Haaren -Added JackClient, updated main to handle signals
authored
24 ctx.check_cfg (package='jack',at_least_version='0.118',args='--cflags --libs',uselib_store='JACK')
1f18298 Harry van Haaren -Added AudioSource, FileAudioSource, Effect, AudioTrack, updated the res...
authored
25 ctx.check_cfg (package='sndfile',args='--cflags --libs',uselib_store='SNDFILE')
988dd04 Harry van Haaren -Updated Gtkmm depend version in wscript to 2.4.0, was getting errors wi...
authored
26 ctx.check_cfg (package='gtkmm-2.4',at_least_version='2.4.0',args='--cflags --libs',uselib_store='GTKMM')
55a2c8d -LadspaHost removed "dl" calls, gtk3 uses the glibmm/module.h system of ...
root authored
27 ctx.check_cfg (package='glibmm-2.4',at_least_version='2.0.0',args='--cflags --libs',uselib_store='GLIBMM')
a1687be Harry van Haaren -Implemented FluidSynth audio source
authored
28 ctx.check_cfg (package='fluidsynth',args='--libs',uselib_store='FLUIDSYNTH')
6499058 Harry van Haaren -Depend on libconfig version 1.4.8
authored
29 ctx.check_cfg (package='libconfig++',at_least_version='1.4.8',args='--libs',uselib_store='LIBCONFIG')
5e2f924 Harry van Haaren -Compiling with Lv2 support, need to test yet
authored
30 ctx.check_cfg (package='lilv-0',args='--cflags --libs',uselib_store='LILV')
1bd67bb Harry van Haaren -Implemented Lv2Display, GUI's from LV2's now presented trough a toggleb...
authored
31 ctx.check_cfg (package='suil-0',args='--cflags --libs',uselib_store='SUIL')
4417798 Harry van Haaren Merge branch 'seq' into devel: Fixes #35: Feature request HarmonySeq int...
authored
32 ctx.check_cfg (package='liblo',at_least_version='1.0.0',args='--cflags --libs',uselib_store='LIBLO') # harmonySeq integration
6b653a1 Harry van Haaren Initial commit
authored
33
34 # Check for headers:
5e2f924 Harry van Haaren -Compiling with Lv2 support, need to test yet
authored
35 ctx.check(header_name="lv2.h",mandatory=True,uselib_store='LV2.H')
36 ctx.check(header_name="ladspa.h",mandatory=True,uselib_store='LADSPA.H')
f2f1f9f Harry van Haaren -Fixed Lv2 extension header checking in wscript. Fixed #22
authored
37 ctx.check(header_name="lv2/lv2plug.in/ns/ext/event/event.h",mandatory=True,uselib_store='EVENT.H')
38 ctx.check(header_name="lv2/lv2plug.in/ns/ext/uri-map/uri-map.h",mandatory=True,uselib_store='URIMAP.H')
39 ctx.check(header_name="lv2/lv2plug.in/ns/ext/event/event-helpers.h",mandatory=True,uselib_store='EVENTHELPERS.H')
5e2f924 Harry van Haaren -Compiling with Lv2 support, need to test yet
authored
40
6b653a1 Harry van Haaren Initial commit
authored
41 def build(ctx):
743158d Harry van Haaren -Fixed file copy issue, will now copy resources after a successful build...
authored
42 # copy the needed materials to the build folder
43 ctx.add_post_fun(copyResources)
6b653a1 Harry van Haaren Initial commit
authored
44
45 # ENGINE
0c8a91c Harry van Haaren -Implemented basic Top class
authored
46 engineList=['src/top.cpp',
eee3d45 Harry van Haaren -Added RtQueue and EngineEvent. Top creates a RtQueue.
authored
47 'src/rtqueue.cpp',
5e2f924 Harry van Haaren -Compiling with Lv2 support, need to test yet
authored
48 'src/lvtwohost.cpp',
07a29e7 Harry van Haaren -Initial Audio Recording implemented, using AudioQueue to transport audi...
authored
49 'src/audioqueue.cpp',
6c0d2a9 Harry van Haaren -Implemented AudioSource::getID() to make ID's of all sources useable
authored
50 'src/audiosource.cpp',
4be9150 Harry van Haaren -Implemented AudioBuffer, and AudioFileLoader classes, updated EngineEve...
authored
51 'src/audiobuffer.cpp',
2443709 Harry van Haaren -Renamed AudioFileLoader to OfflineWorker, this class will also create n...
authored
52 'src/offlineworker.cpp',
151efd6 Harry van Haaren -Implemented LadspaHost class, added effect to audiotrack
authored
53 'src/ladspahost.cpp',
4797daa Harry van Haaren -JackAudioSource implemented, working fine, need to be able to change so...
authored
54 'src/jackaudiosource.cpp',
407d9b1 Harry van Haaren -FileAudioSource is now correctly named BufferAudioSource, all classes u...
authored
55 'src/bufferaudiosource.cpp',
a1687be Harry van Haaren -Implemented FluidSynth audio source
authored
56 'src/fluidsynthaudiosource.cpp',
5c1871b Harry van Haaren -Implemented WhiteNoise audio source
authored
57 'src/whitenoiseaudiosource.cpp',
56f9329 Harry van Haaren -Implemented TranceGate effect, will gate audiostream on beats
authored
58 'src/trancegate.cpp',
1e0a456 Harry van Haaren -Added mixer, updated Top, JackClient & Main
authored
59 'src/mixer.cpp',
a36cab2 Harry van Haaren -Implemented EffectState class, updated Effect with getID() function, al...
authored
60 'src/effect.cpp',
4b9607b Harry van Haaren -Implemented BeatSmash class, updated Effect to automatically create new...
authored
61 'src/beatsmash.cpp',
3c43c76 Harry van Haaren -Added StateStore, Top has mixer pointer, Top creates first track, jackc...
authored
62 'src/statestore.cpp',
eee3d45 Harry van Haaren -Added RtQueue and EngineEvent. Top creates a RtQueue.
authored
63 'src/engineevent.cpp',
1f18298 Harry van Haaren -Added AudioSource, FileAudioSource, Effect, AudioTrack, updated the res...
authored
64 'src/audiotrack.cpp',
24369bf Harry van Haaren -Implemented Time class, working on Q's to store events until processing...
authored
65 'src/time.cpp',
21d4069 Harry van Haaren -Implemented Controller class, will control the behaviour of the Apc wit...
authored
66 'src/controller.cpp',
9403242 Harry van Haaren -Implemented AudioSinkOutput
authored
67 'src/audiosinkoutput.cpp',
0c8a91c Harry van Haaren -Implemented basic Top class
authored
68 'src/jackclient.cpp']
6b653a1 Harry van Haaren Initial commit
authored
69
d8ac28b Harry van Haaren -Implemented TrackOutput, Window is now a wrapper for loading a Glade UI...
authored
70 guiList = [ 'src/g_window.cpp',
184a92f Harry van Haaren -GUI displays appropriate widget based on contents in Engine
authored
71 'src/g_track.cpp',
2fa61a4 Harry van Haaren -Working on GBufferSource, the view of the current playing Audio.
authored
72 'src/g_buffersource.cpp',
e763ec9 Harry van Haaren -Added WaveformCache class, g_statestore keeps all caches in a vector, o...
authored
73 'src/waveformcache.cpp',
f8417c3 Harry van Haaren -Implemented "helper" draw functions dial, mute, fader, etc
authored
74 'src/g_widgets.cpp',
d1f529c Harry van Haaren -Merge branch devel into newWidget
authored
75 'src/g_sends.cpp',
5e9fcf0 -MainWindow shows big scope of current audio on master track
root authored
76 'src/g_waveview.cpp',
3ab17f0 Harry van Haaren -Implemented GMasterProgress widget, GWindow doesn't yet create an insta...
authored
77 'src/g_masterprogress.cpp',
12f4d76 Harry van Haaren -Implemented GReverb (based on lowpass), fixed various GUI Effect bugs
authored
78 'src/g_reverb.cpp',
1bd67bb Harry van Haaren -Implemented Lv2Display, GUI's from LV2's now presented trough a toggleb...
authored
79 'src/g_lvtwodisplay.cpp',
d38fd6a Harry van Haaren -Implemented FileSelector widget & drag / drop functionality for ClipSel...
authored
80 'src/g_fileselector.cpp',
e0bb7f4 Harry van Haaren -Implemented EffectSelector and Instrument selector
authored
81 'src/g_effectselector.cpp',
82 'src/g_instrumentselector.cpp',
b38c1d9 Harry van Haaren -Implemented BeatSmash widget, based on LowPass. Needed to not mess up a...
authored
83 'src/g_beatsmash.cpp',
9912bb8 Harry van Haaren -Implemented AmPitchShift effect, GUI class taken from Beatsmasher
authored
84 'src/g_ampitchshift.cpp',
7e02e04 -Widget redrawing based on selected Track implemented. Widgets still nee...
root authored
85 'src/g_widgetbase.cpp',
45fc440 Harry van Haaren -Implemented GuiStateStore, a non RT state store to hold GUI version of ...
authored
86 'src/g_statestore.cpp',
9959565 Harry van Haaren -Implemented Parametric EQ, first effect
authored
87 'src/g_equalizer.cpp',
1ac0d96 Harry van Haaren -Implemented Transient widget
authored
88 'src/g_transient.cpp',
2cdfcd6 Harry van Haaren -Implemented custom progressbar, working fine.
authored
89 'src/g_progress.cpp',
21ae33a Harry van Haaren -Implemented GLimiter based on GCompressor code, needs a bit of a rework
authored
90 'src/g_limiter.cpp',
9b0684a Harry van Haaren -Working on GCompressor widget
authored
91 'src/g_compressor.cpp',
10e1422 Harry van Haaren -Implemented GAudioSource, working on changing source based on GUI inter...
authored
92 'src/g_audiosource.cpp',
9959565 Harry van Haaren -Implemented Parametric EQ, first effect
authored
93 'src/g_frequencygraph.cpp',
eecacd0 Harry van Haaren -Implemented titlebar, updated frequency graph colours
authored
94 'src/g_titlebar.cpp',
55187d7 Harry van Haaren -Added "block" helper function
authored
95 'src/g_block.cpp',
f8417c3 Harry van Haaren -Implemented "helper" draw functions dial, mute, fader, etc
authored
96 'src/g_mute.cpp',
446ddd4 Harry van Haaren -Created GLowPass class, cleaned up g_parametric.cpp, updated wscript
authored
97 'src/g_lowpass.cpp',
09f3743 Harry van Haaren -Implemented small version of Lowpass, gets added to the window above th...
authored
98 'src/g_lowpass_small.cpp',
fb67456 Harry van Haaren -Implemented GHighPass, fixed init bug in Lowpass
authored
99 'src/g_highpass.cpp',
f8417c3 Harry van Haaren -Implemented "helper" draw functions dial, mute, fader, etc
authored
100 'src/g_rec.cpp',
101 'src/g_solo.cpp',
102 'src/g_fader.cpp',
103 'src/g_dial.cpp',
efb8fb4 Harry van Haaren -Implemented ClipSelector widget, and accompanying files to show it corr...
authored
104 'src/g_clipselector.cpp',
79b20f0 Harry van Haaren -Implemented GMasterOutput, will display current output stats
authored
105 'src/g_masteroutput.cpp',
d8ac28b Harry van Haaren -Implemented TrackOutput, Window is now a wrapper for loading a Glade UI...
authored
106 'src/g_trackoutput.cpp']
ad63c6f Harry van Haaren -Derived Window class from Gtk::Window
authored
107
4417798 Harry van Haaren Merge branch 'seq' into devel: Fixes #35: Feature request HarmonySeq int...
authored
108 engineDepends = 'JACK SNDFILE GTKMM FLUIDSYNTH GLIBMM LIBCONFIG LILV LV2.H LADSPA.H SUIL EVENT.H URIMAP.H EVENTHELPERS.H LIBLO'
6b653a1 Harry van Haaren Initial commit
authored
109
d0bdcbd -Fixed wscript for Python3, updated LadspaHost to check for LadspaName.s...
root authored
110 #print 'Building ENGINE'
ad63c6f Harry van Haaren -Derived Window class from Gtk::Window
authored
111 buildList = engineList + guiList
6b653a1 Harry van Haaren Initial commit
authored
112 dependList = engineDepends
113
d0bdcbd -Fixed wscript for Python3, updated LadspaHost to check for LadspaName.s...
root authored
114 #print 'Depends list:',dependList
6b653a1 Harry van Haaren Initial commit
authored
115
116 lib = ctx.new_task_gen(
117 features = 'cxx cxxstlib',
118 source = buildList,
119 target = 'engine_gui',
120 uselib = engineDepends,
121 export_includes = '.')
122
123
124 main = ctx.new_task_gen(
125 features = 'cxx cprogram',
126 source = 'src/main.cpp',
a7d8c8e Harry van Haaren -Added JackClient, updated main to handle signals
authored
127 use = 'engine_gui',
128 uselib = engineDepends,
6b653a1 Harry van Haaren Initial commit
authored
129 target = 'luppp' )
743158d Harry van Haaren -Fixed file copy issue, will now copy resources after a successful build...
authored
130
131
132
133
134 def copyResources(ctx):
135 print ( 'Copying resources...' )
136 import shutil, os
137
138 sourceList = ['src/ui.glade',
139 'src/headphones.png',
140 'src/lupppIcon.png' ]
141
142 destination = '.build/'
143
144 # print ( os.getcwd() )
145 for currentFilename in sourceList:
146 print ( 'Copying ' + currentFilename + ' to ' + destination )
1f41f49 Harry van Haaren -Fixed file copy bug in wscript
authored
147 shutil.copy( os.path.join( os.getcwd(), currentFilename ), os.path.join( os.getcwd(), destination ) )
Something went wrong with that request. Please try again.