Assists music production by grouping standalone programs into sessions. Community version of "Non Session Manager".
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.1KB

  1. #!/usr/bin/env python
  2. import subprocess
  3. import waflib.Options as Options
  4. import string
  5. import os
  6. # Version of this package (even if built as a child)
  7. PACKAGE_VERSION = '1.2.0'
  8. # Variables for 'waf dist'
  9. APPNAME = 'non-mixer'
  10. VERSION = PACKAGE_VERSION
  11. # Mandatory variables
  12. top = '.'
  13. out = 'build'
  14. def options(opt):
  15. opt.load('compiler_c')
  16. opt.load('compiler_cxx')
  17. opt.load('gnu_dirs')
  18. def configure(conf):
  19. conf.load('compiler_c')
  20. conf.load('compiler_cxx')
  21. conf.load('gnu_dirs')
  22. conf.check(header_name='ladspa.h', define_name='HAVE_LADSPA_H', mandatory=True)
  23. conf.check_cfg(package='lrdf', uselib_store='LRDF',args="--cflags --libs",
  24. atleast_version='0.4.0', mandatory=True)
  25. conf.define('VERSION', PACKAGE_VERSION)
  26. conf.define('SYSTEM_PATH', '/'.join( [ conf.env.DATADIR, APPNAME ] ) )
  27. conf.define('DOCUMENT_PATH', '/'.join( [ conf.env.DATADIR, 'doc' ] ) )
  28. conf.define('PIXMAP_PATH', '/'.join( [ conf.env.DATADIR, 'pixmaps' ] ) )
  29. conf.write_config_header('config.h', remove=False)
  30. print('')
  31. def build(bld):
  32. libs = ''
  33. bld.program( source = '''
  34. src/Chain.C
  35. src/Controller_Module.C
  36. src/DPM.C
  37. src/Gain_Module.C
  38. src/Spatializer_Module.C
  39. src/JACK_Module.C
  40. src/AUX_Module.C
  41. src/LADSPAInfo.C
  42. src/Meter_Indicator_Module.C
  43. src/Meter_Module.C
  44. src/Mixer.C
  45. src/Mixer_Strip.C
  46. src/Module.C
  47. src/Module_Parameter_Editor.C
  48. src/Mono_Pan_Module.C
  49. src/Plugin_Chooser_UI.fl
  50. src/Plugin_Chooser.C
  51. src/NSM.C
  52. src/Panner.C
  53. src/Plugin_Module.C
  54. src/Project.C
  55. src/Group.C
  56. src/main.C
  57. src/SpectrumView.C
  58. src/Spatialization_Console.C
  59. ''',
  60. target = 'non-mixer',
  61. includes = ['.', 'src', '..', '../nonlib'],
  62. use = ['nonlib', 'fl_widgets'],
  63. uselib = [ 'JACK', 'LIBLO', 'LRDF', 'NTK', 'NTK_IMAGES', 'PTHREAD', 'DL', 'M' ],
  64. install_path = '${BINDIR}')
  65. bld.program( source = 'src/midi-mapper.C',
  66. target = 'non-midi-mapper',
  67. includes = ['.', 'src', '..', '../nonlib'],
  68. use = ['nonlib', 'fl_widgets'],
  69. uselib = [ 'JACK', 'LIBLO', 'LRDF', 'NTK', 'NTK_IMAGES', 'PTHREAD', 'DL', 'M' ],
  70. install_path = '${BINDIR}')
  71. bld( features = 'subst',
  72. source = 'non-mixer.desktop.in',
  73. target = 'non-mixer.desktop',
  74. encoding = 'utf8',
  75. install_path = "${DATADIR}" + '/applications',
  76. BIN_PATH = bld.env.BINDIR )
  77. start_dir = bld.path.find_dir( 'icons/hicolor' )
  78. bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'),
  79. cwd=start_dir, relative_trick=True)
  80. bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png')
  81. start_dir = bld.path.find_dir( 'pixmaps' )
  82. bld.install_files('${DATADIR}/pixmaps/' + APPNAME + '/', start_dir.ant_glob('*.png'),
  83. cwd=start_dir, relative_trick=True)
  84. bld.install_files( '/'.join( [ '${DATADIR}/doc', APPNAME ] ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) )
  85. bld.symlink_as( '${BINDIR}/' + APPNAME + '-noui', APPNAME )