2009-02-26 19:27:14 -05:00
|
|
|
#!/usr/bin/env python
|
2011-09-29 15:17:54 -04:00
|
|
|
from waflib.extras import autowaf as autowaf
|
2009-02-26 23:40:44 -05:00
|
|
|
import os
|
2009-02-26 19:27:14 -05:00
|
|
|
|
|
|
|
# Mandatory variables
|
2011-09-29 15:17:54 -04:00
|
|
|
top = '.'
|
|
|
|
out = 'build'
|
2009-02-26 19:27:14 -05:00
|
|
|
|
2011-09-29 15:17:54 -04:00
|
|
|
def options(opt):
|
2011-04-22 18:15:21 -04:00
|
|
|
autowaf.set_options(opt)
|
2009-02-26 19:27:14 -05:00
|
|
|
|
|
|
|
def configure(conf):
|
2011-04-22 18:15:21 -04:00
|
|
|
autowaf.configure(conf)
|
2009-02-26 19:27:14 -05:00
|
|
|
|
|
|
|
def build(bld):
|
2011-09-29 15:17:54 -04:00
|
|
|
obj = bld(features = 'cxx cxxshlib')
|
2011-04-22 18:15:21 -04:00
|
|
|
obj.source = '''
|
2012-04-09 13:48:16 -04:00
|
|
|
button.cc
|
2011-04-22 18:15:21 -04:00
|
|
|
controls.cc
|
2012-04-12 07:45:40 -04:00
|
|
|
device_info.cc
|
2012-04-17 16:41:31 -04:00
|
|
|
device_profile.cc
|
2012-04-09 13:48:16 -04:00
|
|
|
fader.cc
|
2011-05-04 05:22:11 -04:00
|
|
|
gui.cc
|
2011-04-22 18:15:21 -04:00
|
|
|
interface.cc
|
2012-04-14 15:02:54 -04:00
|
|
|
jog.cc
|
2012-04-22 13:37:52 -04:00
|
|
|
jog_wheel.cc
|
2012-04-11 00:02:46 -04:00
|
|
|
led.cc
|
2011-04-22 18:15:21 -04:00
|
|
|
mackie_control_protocol.cc
|
2012-04-09 13:48:16 -04:00
|
|
|
mcp_buttons.cc
|
2012-04-09 09:59:35 -04:00
|
|
|
meter.cc
|
2011-04-22 18:15:21 -04:00
|
|
|
midi_byte_array.cc
|
2012-04-11 09:03:41 -04:00
|
|
|
pot.cc
|
2012-04-09 09:59:35 -04:00
|
|
|
strip.cc
|
add plugin support for mackie units
Main features: Plugin (Select & Edit)
1. Plugin Select: When a track is selected that has PluginInserts, pushing the "Plug-In" button on a mackie will list these across the strips. Clicking a vpot of a strip enables editing the parameters of this selected plugin.
2. Plugin Edit: When a Plugin is selected for editing, the input parameters of the plugin are shown across the channel strips and the vpot is assigned the corresponsing AutomationControl for the parameter.
Minor features
- When the number of plugins or the number of parameters exceeds the number of strips available on the surface, one can flip through "pages" of views using the Cursor Left and Right keys (this logic I took from http://www.emagic.de/media/support/content/manuals/LogicControl_en.pdf)
- When in the Plugin Select mode, rearranging the plugins in the mixer strip is reflected on the surface.
- When in Plugin Edit mode, rearranging the plugins in the mixer strip still retains the edit view of the selected plugin (rearranging does not take away the current subview)
- When removing a plugin in the mixer strip, this is reflected in Plugin Select, while the view jumps to Pan/Surround (the None subview) when in Plugin Edit mode.
- Removing a track resets the subview to None
- When in a Subview that is track-specific (Track, EQ, Send, Plug-In, Inst), selecting a different track retains the subview but updates the channel displays and vpot assignments accordingly. When in Plugin Edit mode for track A, and track B is selected, it changes to Plugin Select mode for track B (if plugins are present).
2020-03-27 03:46:45 -04:00
|
|
|
subview.cc
|
2011-04-22 18:15:21 -04:00
|
|
|
surface.cc
|
|
|
|
surface_port.cc
|
|
|
|
types.cc
|
|
|
|
'''
|
2011-09-29 15:17:54 -04:00
|
|
|
obj.export_includes = ['./mackie']
|
2014-01-25 13:57:28 -05:00
|
|
|
obj.defines = [ 'PACKAGE="ardour_mackie"' ]
|
|
|
|
obj.defines += [ 'ARDOURSURFACE_DLL_EXPORTS' ]
|
|
|
|
obj.includes = [ '.' ]
|
2011-04-22 18:15:21 -04:00
|
|
|
obj.name = 'libardour_mcp'
|
|
|
|
obj.target = 'ardour_mcp'
|
2020-01-20 22:35:40 -05:00
|
|
|
obj.uselib = 'GTKMM XML OSX'
|
2011-09-29 15:17:54 -04:00
|
|
|
obj.use = 'libardour libardour_cp libgtkmm2ext'
|
2014-04-28 21:11:08 -04:00
|
|
|
obj.install_path = os.path.join(bld.env['LIBDIR'], 'surfaces')
|
2009-05-04 18:10:15 -04:00
|
|
|
|
2009-02-26 19:27:14 -05:00
|
|
|
def shutdown():
|
2011-04-22 18:15:21 -04:00
|
|
|
autowaf.shutdown()
|