diff --git a/.gitignore b/.gitignore index 7b7d7d9..6225460 100644 --- a/.gitignore +++ b/.gitignore @@ -4,28 +4,6 @@ *.[ao] TAGS .nfs* -make.conf -.deps -.config -.files -FL/About_Dialog.C -FL/About_Dialog.H -FL/Fl_Text_Edit_Window.C -FL/Fl_Text_Edit_Window.H -FL/New_Project_Dialog.C -FL/New_Project_Dialog.H -mixer/src/mixer -sequencer/src/gui/event_edit.C -sequencer/src/gui/event_edit.H -sequencer/src/gui/ui.C -sequencer/src/gui/ui.H -sequencer/src/gui/widgets.C -sequencer/src/gui/widgets.H -sequencer/src/sequencer -session-manager/src/jackpatch -session-manager/src/nsmd -session-manager/src/send_osc -session-manager/src/session-manager -timeline/src/TLE.C -timeline/src/TLE.H -timeline/src/timeline +.waf* +build +attic diff --git a/FL/Makefile b/FL/Makefile deleted file mode 120000 index c259b75..0000000 --- a/FL/Makefile +++ /dev/null @@ -1 +0,0 @@ -scripts/Makefile \ No newline at end of file diff --git a/FL/makefile.inc b/FL/makefile.inc deleted file mode 100644 index 1ddaa25..0000000 --- a/FL/makefile.inc +++ /dev/null @@ -1,37 +0,0 @@ -# -*- mode: makefile; -*- - -VERSION := 1.1.0 -PACKAGE := FL - -all: FL - -SRCS := $(wildcard FL/*.C FL/*.fl) - -SRCS:=$(SRCS:.fl=.C) -SRCS:=$(sort $(SRCS)) -OBJS:=$(SRCS:.C=.o) - -all: FL/libfl_widgets.a util/ntk-perf - -FL/libfl_widgets.a: $(OBJS) - @ ar rcs $@ $(OBJS) - -.PHONEY: FL -FL: FL/libfl_widgets.a - -# ntk-chtheme: ntk-chtheme.o $(FLTK_LIBS) FL/libfl_widgets.a -# @ echo -n Linking session handler. -# @ $(CXX) $(CXXFLAGS) $(FLTK_LDFLAGS) $(LIBS) $^ -o $@ -LFL -lfl_widgets && echo $(DONE) - - -util/ntk-perf.o: util/ntk-perf.C - -util/ntk-perf: util/ntk-perf.o $(FLTK_LIBS) FL/libfl_widgets.a - @ echo -n Linking session handler. - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(FLTK_LDFLAGS) $(LIBS) -LFL -lfl_widgets && echo $(DONE) - -clean: - rm -f $(OBJS) FL/libfl_widgets.a .deps - -install: - @ diff --git a/FL/scripts b/FL/scripts deleted file mode 120000 index a339954..0000000 --- a/FL/scripts +++ /dev/null @@ -1 +0,0 @@ -../scripts \ No newline at end of file diff --git a/FL/util/ntk-chtheme.C b/FL/util/ntk-chtheme.C index 7f9e232..8daa6f4 100644 --- a/FL/util/ntk-chtheme.C +++ b/FL/util/ntk-chtheme.C @@ -18,8 +18,7 @@ /*******************************************************************************/ #include "FL/themes.H" -#include "FL/Fl_Theme_Chooser.C" - +#include int main ( int argc, char **argv ) diff --git a/FL/wscript b/FL/wscript new file mode 100644 index 0000000..eda72a2 --- /dev/null +++ b/FL/wscript @@ -0,0 +1,26 @@ +#!/usr/bin/env python + +def options(opt): + pass + +def configure(conf): + pass + +def build(bld): + bld.stlib( + source = +''' +About_Dialog.fl +Fl_Menu_Settings.C +Fl_Scalepack.C +Fl_Text_Edit_Window.fl +Fl_Value_SliderX.C +New_Project_Dialog.fl +event_name.C +menu_popup.C +test_press.C +''', + includes = '.', + export_incdirs = [ '.' 'FL' ], + uselib = 'NTK', + target = 'fl_widgets') diff --git a/Makefile b/Makefile deleted file mode 100644 index 3509870..0000000 --- a/Makefile +++ /dev/null @@ -1,45 +0,0 @@ - -############################################################################### -# Copyright (C) 2008 Jonathan Moore Liles # -# # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the # -# Free Software Foundation; either version 2 of the License, or (at your # -# option) any later version. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with This program; see the file COPYING. If not,write to the Free Software # -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # -############################################################################### - -include scripts/colors - -SUBDIRS=nonlib FL timeline mixer session-manager sequencer - -.config: configure - @ echo $(BOLD)$(YELLOW)Hey! You need to run 'configure' first. - @ echo If that fails because of NTK stuff, then you need to run 'make ntk' first.$(SGR0) - @ exit 1 - -all: .config - @ echo '!!! If you have any trouble here try reading README.build !!!' - @ for dir in $(SUBDIRS); do echo Building $$dir; $(MAKE) -s -C $$dir; done - -ntk: lib/.built lib/ntk/configure - -lib/ntk/configure: - @ git submodule update --init - -lib/.built: - @ make -C lib - -clean: - @ for dir in $(SUBDIRS); do $(MAKE) -s -C $$dir clean; done - -install: - @ for dir in $(SUBDIRS); do $(MAKE) -s -C $$dir install; done diff --git a/README.build b/README.build index c3f7276..5cf5224 100644 --- a/README.build +++ b/README.build @@ -1,12 +1,39 @@ +# -*- mode: org -*- + +* Non-things build instructions This repository contains all of the non-* software. -If you don't have NTK packages installed (which isn't very likely yet) -you *MUST* begin by typing: +If you don't have NTK installed system-wide (which isn't very likely +yet) you *MUST* begin the build process by typing: - make ntk + cd lib/ntk + ./waf configure + ./waf + +Once NTK has been built you must install it system-wide before +attempting to build the non-* programs. + +To install NTK type: + + su -c './waf install' + +** Build all projects + +Typing: + + ./waf configure + ./waf + ./waf su -c './waf install' + +from the base of the checkout of the Non git repository will build and +install all of the non-* programs together. + +** Build a single project + +Typing: + + ./waf configure --project=[timline|sequencer|mixer|session-manager] + ./waf + ./waf su -c './waf install' -Then, run './configure' (use the '-i' option if you want to interactively -configure) Then, to build everything else, just type 'make'. Stuff will happen. -Don't make things harder on yourself by trying to build everything individually. Just -type 'make'. I'm serious. It's that simple. diff --git a/README.packagers b/README.packagers index 6589c19..eea4ae0 100644 --- a/README.packagers +++ b/README.packagers @@ -1,8 +1,10 @@ +# -*- mode: org -*- -Notes to packagers: Non-Mixer, Non-DAW, and Non-Session-Manager, -although stored in the same repository, are completely independent -programs which can be built and packaged separately by descending into -their respective sub-directories. +* Notes to Packagers + +Non-Mixer, Non-DAW, and Non-Session-Manager, although stored in the +same repository, are completely independent programs which can be +built and packaged separately (see README.build) If you're having trouble adapting to Non's build system, please contact me directly or post to one of the Non mailing lists with your @@ -23,3 +25,4 @@ Thanks, Jonathan Moore Liles P.S. Furthermore, please quit listing crazy random stuff as dependencies. + diff --git a/configure b/configure deleted file mode 100755 index 700fc79..0000000 --- a/configure +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2008 Jonathan Moore Liles -# This file is licensed under version 2 of the GPL. - -. scripts/config-funcs - -begin - -begin_options - -echo "Master configuration" - -ask "Installation prefix" prefix /usr/local -ask "Build for debugging" USE_DEBUG no - -begin_tests - -# should require everything all of the subprojects require - -require_command ar ar -require_command makedepend makedepend -require_NTK 1.3.0 images -require_package JACK 0.103.0 jack -test_version `version_of jack` 0.105.0 || append "JACK_MIDI_PROTO_API=yes" -require_package sndfile 1.0.17 sndfile -require_package lrdf 0.4.0 lrdf -require_package liblo 0.23 liblo -suggest_package XPM 2.0.0 xpm -require_package sigcpp 2.0.0 sigc++-2.0 - -test_version `version_of liblo` 0.26 || warn "Version $(version_of liblo) of liblo is slow to create servers. Consider upgrading to 0.26 or later" - -if ! hostname_resolvable -then - echo "Your hostname \"$(hostname)\" does not resolve to a valid address." - echo "This is a broken configuration and will cause liblo (the" - echo "OSC library) to fail to function. Add the line:" - echo - echo "127.0.0.1 $(hostname)" - echo - echo "to your /etc/hosts file to fix. And consider switching to a saner distribution." - echo - fail "Invalid hostname!" -fi - -end - -# installing configuration -echo -n "Copying configuration to modules..." - -for i in nonlib FL timeline mixer sequencer session-manager -do - echo -n "$i " - cp .config "$i" -done - -echo diff --git a/lib/Makefile b/lib/Makefile deleted file mode 100644 index f832e50..0000000 --- a/lib/Makefile +++ /dev/null @@ -1,21 +0,0 @@ - -OBJS:= ntk/lib/libntk.a ntk/lib/libntk_images.a -SRCS:= $(wildcard ntk/src/*.cxx ntk/FL/*.H) - -$(SRCS): ntk/config.h - @ echo Building NTK - $(MAKE) -C ntk - @ touch .built - -$(OBJS): $(SRCS) - -ntk/config.h: Makefile - @ echo Configuring NTK - cd ntk && ./configure --prefix=/usr/local --enable-debug --enable-shared --disable-gl --enable-threads --enable-xft --enable-cairo --enable-cairoext --enable-xinerama - @ touch ntk/config.h - -config: ntk/config.h - -clean: - -all: $(OBJS) diff --git a/lib/ntk b/lib/ntk index 9fdf8b4..a41e876 160000 --- a/lib/ntk +++ b/lib/ntk @@ -1 +1 @@ -Subproject commit 9fdf8b4fd9d12d1cc88b283fe00079a2324f2055 +Subproject commit a41e8769a3543ef237470482488c62dba92ded2c diff --git a/mixer/FL b/mixer/FL deleted file mode 120000 index d025fc7..0000000 --- a/mixer/FL +++ /dev/null @@ -1 +0,0 @@ -../FL \ No newline at end of file diff --git a/mixer/Makefile b/mixer/Makefile deleted file mode 120000 index c259b75..0000000 --- a/mixer/Makefile +++ /dev/null @@ -1 +0,0 @@ -scripts/Makefile \ No newline at end of file diff --git a/mixer/configure b/mixer/configure deleted file mode 100755 index b2f6e20..0000000 --- a/mixer/configure +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2008 Jonathan Moore Liles -# This file is licensed under version 2 of the GPL. - -. scripts/config-funcs - -begin - -begin_options - -ask "Installation prefix" prefix /usr/local -ask "Build for debugging" USE_DEBUG no - -begin_tests - -require_command ar ar -require_command makedepend makedepend -require_NTK 1.3.0 images -require_package JACK 0.103.0 jack -require_package lrdf 0.4.0 lrdf -require_package liblo 0.23 liblo -suggest_package XPM 2.0.0 xpm - -test_version `version_of liblo` 0.26 || warn "Version $(version_of liblo) of liblo is slow to create servers. Consider upgrading to 0.26 or later" - -if ! hostname_resolvable -then - echo "Your hostname \"$(hostname)\" does not resolve to a valid address." - echo "This is a broken configuration and will cause liblo (the" - echo "OSC library) to fail to function. Add the line:" - echo - echo "127.0.0.1 $(hostname)" - echo - echo "to your /etc/hosts file to fix. And consider switching to a saner distribution." - echo - fail "Invalid hostname!" -fi - -end diff --git a/mixer/lib b/mixer/lib deleted file mode 120000 index dc598c5..0000000 --- a/mixer/lib +++ /dev/null @@ -1 +0,0 @@ -../lib \ No newline at end of file diff --git a/mixer/makefile.inc b/mixer/makefile.inc deleted file mode 100644 index 81b6d3d..0000000 --- a/mixer/makefile.inc +++ /dev/null @@ -1,45 +0,0 @@ -# -*- mode: makefile; -*- - -VERSION := 1.1.0 -PACKAGE := MIXER -BIN_NAME := non-mixer - -all: Mixer - -SRCS := $(wildcard src/*.C src/*.fl src/Engine/*.C) - -SRCS:=$(SRCS:.fl=.C) -SRCS:=$(sort $(SRCS)) -OBJS:=$(SRCS:.C=.o) - -LIBS += $(FLTK_LDFLAGS) $(JACK_LIBS) $(LRDF_LIBS) $(LIBLO_LIBS) $(XPM_LIBS) - -CFLAGS += $(FLTK_CFLAGS) $(JACK_CFLAGS) $(LRDF_CFLAGS) $(LIBLO_CFLAGS) $(XPM_CFLAGS) - -src/mixer: $(OBJS) FL/libfl_widgets.a nonlib/libnonlib.a $(FLTK_LIBS) - @ echo -n Linking mixer... - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(LIBS) -LFL -lfl_widgets -Lnonlib -lnonlib -ldl && echo $(DONE) - -Mixer: src/mixer - -clean: - rm -f $(OBJS) src/mixer .deps - -install: all - @ echo -n "Installing..." - @ install -Dm755 src/mixer "$(DESTDIR)$(prefix)"/bin/non-mixer - @ ln -sf "$(DESTDIR)$(prefix)"/bin/non-mixer "$(DESTDIR)$(prefix)"/bin/non-mixer-noui - @ install -d "$(DESTDIR)$(SYSTEM_PATH)"/non-mixer - @ $(MAKE) -s -C doc install - @ install -d "$(DESTDIR)$(PIXMAP_PATH)/non-mixer" - @ install -Dm644 icons/hicolor/256x256/apps/non-mixer.png "$(DESTDIR)$(PIXMAP_PATH)"/non-mixer/icon-256x256.png - @ install -d "$(DESTDIR)$(ICON_PATH)/hicolor" - @ cp -au icons/hicolor/ "$(DESTDIR)$(ICON_PATH)" - @ install -d "$(DESTDIR)$(DESKTOP_PATH)" - @ sed 's:@BIN_PATH@:$(prefix)/bin:' non-mixer.desktop.in > "$(DESTDIR)$(DESKTOP_PATH)/non-mixer.desktop" - @ echo "$(DONE)" -ifneq ($(USE_DEBUG),yes) - @ echo -n "Stripping..." - @ strip "$(DESTDIR)$(prefix)"/bin/non-mixer - @ echo "$(DONE)" -endif diff --git a/mixer/nonlib b/mixer/nonlib deleted file mode 120000 index bff0245..0000000 --- a/mixer/nonlib +++ /dev/null @@ -1 +0,0 @@ -../nonlib \ No newline at end of file diff --git a/mixer/scripts b/mixer/scripts deleted file mode 120000 index adb0a1d..0000000 --- a/mixer/scripts +++ /dev/null @@ -1 +0,0 @@ -../scripts/ \ No newline at end of file diff --git a/mixer/src/Mixer.C b/mixer/src/Mixer.C index 5273969..4ec1b1c 100644 --- a/mixer/src/Mixer.C +++ b/mixer/src/Mixer.C @@ -28,14 +28,15 @@ #include #include #include -#include "New_Project_Dialog.H" +#include #include "Engine/Engine.H" -#include "FL/Fl_Flowpack.H" +#include #include "Project.H" -#include "FL/Fl_Menu_Settings.H" -#include "About_Dialog.H" +#include +#include #include -#include "FL/Fl_Theme_Chooser.H" +#include +#include #include "file.h" @@ -44,7 +45,6 @@ #include #include -#include "FL/Fl_Value_SliderX.H" #include "OSC/Endpoint.H" #include diff --git a/mixer/wscript b/mixer/wscript new file mode 100644 index 0000000..d855c53 --- /dev/null +++ b/mixer/wscript @@ -0,0 +1,80 @@ +#!/usr/bin/env python +import subprocess +import waflib.Options as Options +import string +import os + +# Version of this package (even if built as a child) +PACKAGE_VERSION = '1.2.0' + +# Variables for 'waf dist' +APPNAME = 'non-mixer' +VERSION = PACKAGE_VERSION + +# Mandatory variables +top = '.' +out = 'build' + +def options(opt): + opt.load('compiler_c') + opt.load('compiler_cxx') + opt.load('gnu_dirs') + +def configure(conf): + conf.load('compiler_c') + conf.load('compiler_cxx') + conf.load('gnu_dirs') + + conf.check_cfg(package='lrdf', uselib_store='LRDF',args="--cflags --libs", + atleast_version='0.4.0', mandatory=True) + + conf.define('VERSION', PACKAGE_VERSION) + conf.define('SYSTEM_PATH', string.join( [ conf.env.DATADIR, APPNAME ], '/' ) ) + conf.define('DOCUMENT_PATH', string.join( [ conf.env.DATADIR, 'doc' ], '/' ) ) + conf.define('PIXMAP_PATH', string.join( [ conf.env.DATADIR, 'pixmaps' ], '/' ) ) + + conf.write_config_header('config.h', remove=False) + + print('') + +def build(bld): + + libs = '' + + bld.program( source = ''' +src/Chain.C +src/Controller_Module.C +src/DPM.C +src/Engine/Engine.C +src/Gain_Module.C +src/JACK_Module.C +src/LADSPAInfo.C +src/Meter_Indicator_Module.C +src/Meter_Module.C +src/Mixer.C +src/Mixer_Strip.C +src/Module.C +src/Module_Parameter_Editor.C +src/Mono_Pan_Module.C +src/NSM.C +src/Panner.C +src/Plugin_Module.C +src/Project.C +src/main.C +''', + target = 'non-mixer', + includes = ['.', 'src', '../FL', '../nonlib'], + use = ['nonlib', 'fl_widgets'], + uselib = [ 'JACK', 'LIBLO', 'LRDF', 'XPM', 'NTK', 'NTK_IMAGES' ], + install_path = '${BINDIR}') + + start_dir = bld.path.find_dir( 'icons/hicolor' ) + + bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'), + cwd=start_dir, relative_trick=True) + + bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png') + + bld.install_files( string.join( [ '${DATADIR}/doc', APPNAME ], '/' ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) ) + + bld.symlink_as( '${BINDIR}/' + APPNAME + '-noui', APPNAME ) diff --git a/nonlib/Makefile b/nonlib/Makefile deleted file mode 120000 index c259b75..0000000 --- a/nonlib/Makefile +++ /dev/null @@ -1 +0,0 @@ -scripts/Makefile \ No newline at end of file diff --git a/nonlib/makefile.inc b/nonlib/makefile.inc deleted file mode 100644 index 2f6a0cd..0000000 --- a/nonlib/makefile.inc +++ /dev/null @@ -1,25 +0,0 @@ -# -*- mode: makefile; -*- - -VERSION := 1.1.0 -PACKAGE := NONLIB - -SRCS := $(wildcard nonlib/*.C nonlib/JACK/*.C nonlib/LASH/*.C nonlib/OSC/*.C nonlib/NSM/*.C) - -SRCS:=$(sort $(SRCS)) -OBJS:=$(SRCS:.C=.o) - -CFLAGS := $(SIGCPP_CFLAGS) $(LIBLO_CFLAGS) $(JACK_CFLAGS) - -all: nonlib/libnonlib.a - -nonlib/libnonlib.a: $(OBJS) - @ ar rcs $@ $(OBJS) - -.PHONEY: nonlib -nonlib: nonlib/libnonlib.a - -clean: - rm -f $(OBJS) nonlib/libnonlib.a .deps - -install: - @ \ No newline at end of file diff --git a/nonlib/scripts b/nonlib/scripts deleted file mode 120000 index a339954..0000000 --- a/nonlib/scripts +++ /dev/null @@ -1 +0,0 @@ -../scripts \ No newline at end of file diff --git a/nonlib/wscript b/nonlib/wscript new file mode 100644 index 0000000..50e5366 --- /dev/null +++ b/nonlib/wscript @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +def options(opt): + pass + +def configure(conf): + pass + +def build(bld): + bld.stlib( + source = ''' +JACK/Client.C +JACK/Port.C +Log_Entry.C +Loggable.C +NSM/Client.C +OSC/Endpoint.C +Thread.C +debug.C +dsp.C +file.C +string_util.C +''', + includes = '.', + export_incdirs = [ '.', 'nonlib'], + uselib = 'LIBLO JACK', + target = 'nonlib') diff --git a/scripts/Makefile b/scripts/Makefile deleted file mode 100644 index 5a916bd..0000000 --- a/scripts/Makefile +++ /dev/null @@ -1,127 +0,0 @@ - -############################################################################### -# Copyright (C) 2008 Jonathan Moore Liles # -# # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the # -# Free Software Foundation; either version 2 of the License, or (at your # -# option) any later version. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with This program; see the file COPYING. If not,write to the Free Software # -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # -############################################################################### - -## Makefile for the Non-DAW. - -## -## Do not edit this file; run `make config` instead. -## - -include scripts/colors - -.config: configure - @ echo $(BOLD)$(YELLOW)Hey! You need to run 'configure' first.$(SGR0) - @ exit 1 -#config: -# @ echo '<<< Configuring '$(PACKAGE) -# @ ./configure - - --include .config - -export SYSTEM_PATH:=$(prefix)/share/ -export DOCUMENT_PATH:=$(prefix)/share/doc/ -export PIXMAP_PATH:=$(prefix)/share/pixmaps/ -export ICON_PATH:=$(prefix)/share/icons/ -export DESKTOP_PATH:=$(prefix)/share/applications/ - -# a bit of a hack to make sure this runs before any rules -ifneq ($(CALCULATING),yes) -TOTAL := $(shell $(MAKE) CALCULATING=yes -n 2>/dev/null | sed -n 's/^.*Compiling: \([^"]\+\)"/\1/p' > .files ) -endif - -ifeq ($(USE_DEBUG),yes) - CFLAGS := -pipe -ggdb -fno-inline -Wall -Wextra -O0 - CXXFLAGS := -Wnon-virtual-dtor -Wno-missing-field-initializers -fno-rtti -fno-exceptions -else - CFLAGS := -pipe -O2 -DNDEBUG - CXXFLAGS := -fno-rtti -fno-exceptions -endif - -# LIBS := "$(FLTK_LIBS) $(LIBS)" - -INCLUDES := -I. -Iutil -IFL -Inonlib -INCLUDES += $(FLTK_CFLAGS) - -# INCLUDES += - -# CFLAGS += $(FLTK_CFLAGS) - -# include FL/makefile.inc -include makefile.inc - -CFLAGS+=-DVERSION=\"$(VERSION)\" \ - -DINSTALL_PREFIX=\"$(prefix)\" \ - -DSYSTEM_PATH=\"$(SYSTEM_PATH)\" \ - -DDOCUMENT_PATH=\"$(DOCUMENT_PATH)\" \ - -DPIXMAP_PATH=\"$(PIXMAP_PATH)\" - -CXXFLAGS := $(CFLAGS) $(CXXFLAGS) - - -SPACE:=" `tput cuf 20`" - -ifneq ($(CALCULATING),yes) - COMPILING="$(BOLD)$(BLACK)[$(SGR0) $(PACKAGE)$(SPACE)$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"` $(SGR0)$(BOLD)$(BLACK)]$(SGR0) $(BOLD)$(CYAN)$<$(SGR0)" -else - COMPILING="Compiling: $<" -endif - -.C.o: - @ echo $(COMPILING) - @ $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< -o $@ - -%.C : %.fl - @ cd `dirname $<` && $(FLUID) -c `basename $<` - -DONE := $(BOLD)$(GREEN)done$(SGR0) - - -# SRCS:=$(Timeline_SRCS) -# OBJS:=$(Timeline_OBJS) -# CXXFLAGS += $(Timeline_CFLAGS) - -# FIXME: isn't there a better way? -$(OBJS): .config Makefile - -TAGS: $(SRCS) - etags $(SRCS) - -.deps: .config $(SRCS) -ifneq ($(CALCULATING),yes) - @ echo -n Calculating dependencies... - @ makedepend -f- -- $(CXXFLAGS) $(INCLUDES) -- $(SRCS) 2>/dev/null > .deps && echo $(DONE) - @ # gcc -M $(CXXFLAGS) $(INCLUDES) $(SRCS) > .deps && echo $(DONE) -endif - -clean_deps: - @ rm -f .deps - -.PHONEY: clean config depend clean_deps - -dist: - git archive --prefix=${BIN_NAME}-$(VERSION)/ v$(VERSION) | bzip2 > ${BIN_NAME}-$(VERSION).tar.bz2 - -scan-gpl: - @ scripts/scan-gpl $(SRCS) || echo $(BOLD)$(RED)Some source files do not contain proper license information! - --include .deps - -all: .config - diff --git a/scripts/build_id b/scripts/build_id deleted file mode 100755 index 1c0fc71..0000000 --- a/scripts/build_id +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2008 Jonathan Moore Liles # -# # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the # -# Free Software Foundation; either version 2 of the License, or (at your # -# option) any later version. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with This program; see the file COPYING. If not,write to the Free Software # -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # - -if [ "$#" = 0 ] -then - echo "Usage: $0 [output_file.h] [version]" -fi - -if [ -d ../.git ] -then - ID=`git log -1 --format=%h -- .` -# ID="`[ \`git rev-parse HEAD\` = \`git rev-parse v${2}\` ] || git rev-parse --short HEAD`" - if [ -n "$ID" ] - then - ID="git {$ID}" - else - ID="git" - fi -else - ID="dist" -fi - -echo "/* generated file */" > "$1" -echo "const char *BUILD_ID = \"${ID}\";" >> "$1" -echo "const char *VERSION = \"${2}\";" >> "$1" diff --git a/scripts/colors b/scripts/colors deleted file mode 100644 index a167f78..0000000 --- a/scripts/colors +++ /dev/null @@ -1,25 +0,0 @@ - -# Include this file to use terminal colors from shell scripts and -# makefiles. -# john moore liles - 12/30/2002 - -BLACK=`tput setaf 0` -RED=`tput setaf 1` -GREEN=`tput setaf 2` -YELLOW=`tput setaf 3` -BLUE=`tput setaf 4` -MAGENTA=`tput setaf 5` -CYAN=`tput setaf 6` -WHITE=`tput setaf 7` - -BG_BLACK=`tput setab 0` -BG_RED=`tput setab 1` -BG_GREEN=`tput setab 2` -BG_YELLOW=`tput setab 3` -BG_BLUE=`tput setab 4` -BG_MAGENTA=`tput setab 5` -BG_CYAN=`tput setab 6` -BG_WHITE=`tput setab 7` - -BOLD=`tput bold` -SGR0=`tput sgr0` diff --git a/scripts/config-funcs b/scripts/config-funcs deleted file mode 100644 index 92da239..0000000 --- a/scripts/config-funcs +++ /dev/null @@ -1,414 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2008 Jonathan Moore Liles # -# # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the # -# Free Software Foundation; either version 2 of the License, or (at your # -# option) any later version. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with This program; see the file COPYING. If not,write to the Free Software # -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # -# - -. scripts/colors - -##### -## support functions for 'configure' scripts. - -fatal () -{ - echo "$BOLD$RED$*$SGR0" > /dev/stderr - exit 255 -} - -HELP=no -INTERACTIVE=no - -split () -{ - while [ $# -gt 0 ] - do - echo $1 - shift 1 - done -} - -if [ $# -gt 0 ] -then - case "$1" in - --help|-h) - HELP=yes - shift 1 - ;; - --interactive|-i) - INTERACTIVE=yes - shift 1 - ;; - *) -# fatal "This is not an autoconf script. Run it without any options and you will be prompted." - ;; - esac - - if [ $# -gt 0 ] - then - echo "## options" > .config - - split "$@" | sed ' -s/--\(enable\|disable\)-\([^ =]\+\)/--\1-\U\2/g; -s/--enable-\([^ =]\+\)=\(.*\)/USE_\1=\2/g; -s/--enable-\([^ =]\+\)/USE_\1=yes/g; -s/--disable-\([^ =]\+\)/USE_\1=no/g; -s/--\([^ =]\+\)/\1/g; -' | sed -n '/^[^ =]\+=./p' >> .config - INTERACTIVE=no; - fi -fi - -if [ $HELP != yes ] && [ $INTERACTIVE != no ] -then - if ! ( [ -t 0 ] && [ -t 1 ] ) - then - fatal "not a terminal!" - fi -fi - -ask () -{ - local A D O - - D="`eval echo \\$$2`" - D=${D:-$3} - - if [ $HELP = yes ] - then - if [ "$3" = yes ] || [ "$3" = no ] - then - O=`echo -n "$2" | sed s/^USE_/--enable-/ | tr '[[:upper:]]' '[[:lower:]]'` - else - O=`echo -n "--$2" | tr '[[:upper:]]' '[[:lower:]]'` - fi - - printf " ${BOLD}${GREEN}%-15s${SGR0}\t%-40s (currently: ${BOLD}%s${SGR0})\n" "$O" "$1" "$D" - - return - fi - - echo -n "$BLACK$BOLD::$SGR0 ${1}? [$BOLD${D}$SGR0] " - - if [ $INTERACTIVE = no ] - then - A="$D" - echo - else - read A - A=${A:-$D} - fi - - if [ "$3" = yes ] || [ "$3" = no ] - then - case "$A" in - no | n | N) A=no ;; - yes | y | Y) A=yes ;; - * ) fatal "Invalid response. Must be 'yes' or 'no'" ;; - esac - fi - - append "${2}=${A:-$D}" - - eval "${2}='${A:-$D}'" -} - -ok () -{ - echo ' '`tput cuf 30`"$BOLD${GREEN}ok${SGR0} ${*:+${BOLD}${BLACK}($*)${SGR0}}" -} - -failed () -{ - echo ' '`tput cuf 30`"$BOLD${RED}failed!${SGR0}" > /dev/stderr - rm -f .config -} - -missing () -{ - echo ' '`tput cuf 30`"$BOLD${YELLOW}missing!${SGR0}" > /dev/stderr -} - -using () -{ - [ "`eval echo \\$USE_$1`" = yes ] - - return $? -} - -upcase () -{ - echo "$*" | tr '[[:lower:]]' '[[:upper:]]' -} - -extract_options () -{ - local line name value - - if [ -f .config ] - then - { - while read line - do - [ "$line" = "## options" ] && break - done - - while read line - do - if [ "$line" = "## libs" ] - then - break - else - name=${line%=*} - value=${line#*=} - eval "$name='$value'" - fi - done - } < .config - fi -} - -begin () -{ - echo -n "Checking sanity..." - require_command tput tput > /dev/null - require_command pkg_config pkg-config > /dev/null - require_command sed sed > /dev/null - ok -} - -warn () -{ - echo " ${BOLD}${YELLOW}* ${SGR0}${BOLD}$*" -} - -info () -{ - echo "${BOLD}${CYAN}--- ${SGR0}$*" -} - -begin_options () -{ - # get the old values - extract_options - - if [ $HELP = yes ] - then - echo - warn "This is a ${BOLD}non-configure${SGR0} script. Run with ${BOLD}--interactive${SGR0} argument and you will be prompted" - warn "with configuration choices. Alternatively, you may use the following autoconf style" - warn "arguments for non-interactive configuration." - echo - echo " Available options:" - echo - else - echo > .config - append "# This file was automatically generated on `date`. Any changes may be lost!" - append "## options" - - if [ $INTERACTIVE = no ] - then - info "Non-interactively updating configuration" - else - info "Interactive configuration requested" - fi - fi -} - -begin_tests () -{ - if [ $HELP = yes ] - then - echo - exit 0; - fi - - append "## libs" - extract_options -} - -append () -{ - echo "$1" >> .config -} - -end () -{ - info "Configuration complete. You may now run 'make'" - touch .config -} - -require_command () -{ - echo -n "Checking for ${BOLD}$1${SGR0}..." - - local name; - - if [ -x "$2" ] - then - name="$PWD/$2" - ok "$name" - elif [ -x "`which "$2"`" ] - then - name="`which "$2"`" - ok "$name" - else - failed - fatal "Command $1 not found." - fi - - append "$1=$name" - eval "${1}='${name}'" -} - -require_package () -{ - local name - - echo -n "Checking for $BOLD$1$SGR0..." - if ! pkg-config --exists $3 - then - failed - fatal "Required package $1 doesn't appear to be installed." - elif ! pkg-config --atleast-version $2 $3 - then - failed - fatal "The installed version of $1 (`pkg-config --mod-version $3`) is too old." - fi - - name="`upcase \"$1\"`" - append "${name}_LIBS=`pkg-config --libs $3 | sed 's/,\\?--as-needed//g'`" - append "${name}_CFLAGS=-DHAVE_${1} `pkg-config --cflags $3`" - - ok `pkg-config --modversion "$3"` - return 0 -} - -suggest_package () -{ - local name - - echo -n "Checking for $BOLD$1$SGR0..." - if ! pkg-config --exists $3 - then - missing - warn "Suggested package $1 doesn't appear to be installed. Some functionality may be missing from your build." - warn "Continuing without $1...\n" - return 1; - elif ! pkg-config --atleast-version $2 $3 - then - missing - warn "The installed version of suggested package $1 (`pkg-config --mod-version $3`) is too old." - warn "Continuing without $1..." - return 1; - fi - - name="`upcase \"$1\"`" - append "${name}_LIBS=`pkg-config --libs $3 | sed 's/,\\?--as-needed//g'`" - append "${name}_CFLAGS=-DHAVE_${1} `pkg-config --cflags $3`" - - ok `pkg-config --modversion "$3"` - return 0 -} - -_test_version () -{ - if [ $# = 6 ] - then - [ $1 -gt $4 ] && return 0 - [ $1 -eq $4 ] && [ $2 -gt $5 ] && return 0 - [ $1 -eq $4 ] && [ $2 -eq $5 ] && [ $3 -gt $6 ] && return 0 - [ $1 -eq $4 ] && [ $2 -eq $5 ] && [ $3 -eq $6 ] && return 0 - return 1 - elif [ $# = 4 ] - then - [ $1 -gt $3 ] && return 0 - [ $1 -eq $3 ] && [ $2 -eq $4 ] && return 0 - return 1 - fi -} - -# return true if #1 is greater than or equal to $2 -test_version () -{ - local IFS - IFS='.' - - _test_version $1 $2 -} - -version_of () -{ - echo `pkg-config --modversion $1` -} - -hostname_resolvable () -{ - ping -c1 `hostname` >/dev/null 2>/dev/null -} - -require_NTK () -{ - local use - local appendflags - local is_local - - is_local= - - echo -n "Checking for ${BOLD}NTK${SGR0}..." - - if [ -n "`which ntk-config`" ] - then - echo "found system NTK..." - require_command ntk_config ntk-config - else - echo "no system NTK found... checking for bundled version..." - require_command ntk_config lib/ntk/ntk-config - is_local=yes - fi - - FLTK_VERSION=`${ntk_config} --version` - - if ! test_version $FLTK_VERSION $1 - then - failed - fatal "The installed FLTK version ($FLTK_VERSION) is too old." - else - ok $FLTK_VERSION - fi - - if [ "x$is_local" = "xyes" ] - then - require_command FLUID lib/ntk/fluid/ntk-fluid - else - require_command FLUID ntk-fluid - fi - - use= - appendflags= - - while [ $# -gt 1 ] - do - shift 1 - - [ "$1" = 'cairo' ] && appendflags="-DFLTK_HAVE_CAIRO=1 -DUSE_X11=1" - - use="$use --use-$1" - done - - append "FLTK_LIBS=`${ntk_config} $use --libs | sed 's/,\\?--as-needed//g'`" - append "FLTK_LDFLAGS=`${ntk_config} $use --ldflags | sed 's/,\\?--as-needed//g'`" - append "FLTK_CFLAGS=`${ntk_config} $use --cflags` $appendflags" -} diff --git a/scripts/percent-complete b/scripts/percent-complete deleted file mode 100755 index 31b2c6c..0000000 --- a/scripts/percent-complete +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# May 2008 Jonathan Moore Liles -# -# Given the name of a file containing a list of files and a filename -# from that list, return the percentage of the distance from the -# beginning of the list. - -[ $# -ne 2 ] && exit - -MATCH="`grep -nFx \"$2\" \"$1\"`" -MATCH=${MATCH%%:*} -TOTAL="`cat \"$1\" | wc -l`" - -if [ -z "$MATCH" ] -then - echo "0%" -else - printf "%3s%%" $(( $MATCH * 100 / $TOTAL )) -fi \ No newline at end of file diff --git a/scripts/scan-gpl b/scripts/scan-gpl deleted file mode 100755 index 911d712..0000000 --- a/scripts/scan-gpl +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2008 Jonathan Moore Liles # -# # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the # -# Free Software Foundation; either version 2 of the License, or (at your # -# option) any later version. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with This program; see the file COPYING. If not,write to the Free Software # -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # - -##### -## Simple script to scan source files for GPL headers. -## - -R=0 - -for i in "$@" -do - HEAD="`head $i`" - - S= - - if echo "$HEAD" | grep -q Copyright - then - if echo "$HEAD" | grep -q 'GNU General Public License' - then - S="GPL" - - if echo "$HEAD" | grep -q 'version 2' - then - S="${S}v2" - elif echo "$HEAD" | grep -q 'version 3' - then - S="${S}v3" - fi - - if echo "$HEAD" | grep -q 'any later version' - then - S="${S}+" - fi - else - S="Not GPL!" - R=255 - fi - - else - S="No Copyright!" - R=255 - fi - - printf "%-60s %s\n" "${i}:" "$S" -done - - -exit $R \ No newline at end of file diff --git a/sequencer/FL b/sequencer/FL deleted file mode 120000 index d025fc7..0000000 --- a/sequencer/FL +++ /dev/null @@ -1 +0,0 @@ -../FL \ No newline at end of file diff --git a/sequencer/Makefile b/sequencer/Makefile deleted file mode 120000 index c259b75..0000000 --- a/sequencer/Makefile +++ /dev/null @@ -1 +0,0 @@ -scripts/Makefile \ No newline at end of file diff --git a/sequencer/lib b/sequencer/lib deleted file mode 120000 index dc598c5..0000000 --- a/sequencer/lib +++ /dev/null @@ -1 +0,0 @@ -../lib \ No newline at end of file diff --git a/sequencer/makefile.inc b/sequencer/makefile.inc deleted file mode 100644 index fd5e18c..0000000 --- a/sequencer/makefile.inc +++ /dev/null @@ -1,57 +0,0 @@ -# -*- mode: makefile; -*- - -# Makefile for the Non Sequencer. - -# -# Do not edit this file; run `make config` instead. -# - -VERSION := 1.9.4 -PACKAGE := SEQUENCER -BIN_NAME := non-sequencer - -all: Sequencer - -SRCS := $(wildcard src/*.C src/*.fl src/gui/*.C src/gui/*.fl src/NSM/*.C) - -SRCS:=$(SRCS:.fl=.C) -SRCS:=$(sort $(SRCS)) -OBJS:=$(SRCS:.C=.o) - -CFLAGS += $(CFLAGS) $(CXXFLAGS) $(FLTK_CFLAGS) $(SIGCPP_CFLAGS) $(LIBLO_CFLAGS) $(XPM_CFLAGS) - -LIBS += $(FLTK_LDFLAGS) $(JACK_LIBS) $(SIGCPP_LIBS) $(LIBLO_LIBS) $(XPM_LIBS) - -Sequencer: src/sequencer - -clean: - rm -f src/sequencer .deps $(OBJS) - -src/sequencer: $(OBJS) FL/libfl_widgets.a nonlib/libnonlib.a $(FLTK_LIBS) - @ echo -n Linking sequencer... - $(CXX) $(CXXFLAGS) $^ -o $@ $(LIBS) -LFL -lfl_widgets -Lnonlib -lnonlib -ldl && echo $(DONE) - - -ifeq ($(JACK_MIDI_PROTO_API),yes) - CXXFLAGS+=-DJACK_MIDI_PROTO_API -endif - -install: all - @ echo -n "Installing..." - @ install -Dm755 src/sequencer "$(DESTDIR)$(prefix)"/bin/non-sequencer - @ install -d "$(DESTDIR)$(SYSTEM_PATH)/instruments" - @ install -m 644 instruments/* "$(DESTDIR)$(SYSTEM_PATH)/instruments" - @ $(MAKE) -s -C doc install - @ install -d "$(DESTDIR)$(PIXMAP_PATH)" - @ install -m 644 icons/hicolor/256x256/apps/non-sequencer.png "$(DESTDIR)$(PIXMAP_PATH)"/icon-256x256.png - @ install -d "$(DESTDIR)$(ICON_PATH)/hicolor" - @ cp -au icons/hicolor/ "$(DESTDIR)$(ICON_PATH)" - @ install -d "$(DESTDIR)$(DESKTOP_PATH)" - @ sed 's:@BIN_PATH@:$(prefix)/bin:' non-sequencer.desktop.in > "$(DESTDIR)$(DESKTOP_PATH)/non-sequencer.desktop" - @ echo "$(DONE)" -ifneq ($(USE_DEBUG),yes) - @ echo -n "Stripping..." - @ strip "$(DESTDIR)$(prefix)"/bin/non-sequencer - @ echo "$(DONE)" -endif - diff --git a/sequencer/nonlib b/sequencer/nonlib deleted file mode 120000 index bff0245..0000000 --- a/sequencer/nonlib +++ /dev/null @@ -1 +0,0 @@ -../nonlib \ No newline at end of file diff --git a/sequencer/scripts b/sequencer/scripts deleted file mode 120000 index a339954..0000000 --- a/sequencer/scripts +++ /dev/null @@ -1 +0,0 @@ -../scripts \ No newline at end of file diff --git a/sequencer/src/gui/ui.fl b/sequencer/src/gui/ui.fl index bb0f5ea..65244c7 100644 --- a/sequencer/src/gui/ui.fl +++ b/sequencer/src/gui/ui.fl @@ -25,7 +25,7 @@ comment {// decl {\#include } {public local } -decl {\#include "FL/About_Dialog.H"} {private local +decl {\#include } {private local } decl {class Fl_Scalepack;} {public local @@ -34,16 +34,16 @@ decl {class Fl_Scalepack;} {public local decl {class Fl_Sometimes_Input;} {public local } -decl {\#include "FL/Fl_Theme_Chooser.H"} {private local +decl {\#include } {private local } -decl {\#include "FL/Fl_Scalepack.H"} {private local +decl {\#include } {private local } -decl {\#include "FL/Fl_Sometimes_Input.H"} {private local +decl {\#include } {private local } -decl {\#include "FL/Fl_Menu_Settings.H"} {private local +decl {\#include } {private local } decl {\#include } {private local diff --git a/sequencer/wscript b/sequencer/wscript new file mode 100644 index 0000000..8a461c9 --- /dev/null +++ b/sequencer/wscript @@ -0,0 +1,84 @@ +#!/usr/bin/env python +import subprocess +import waflib.Options as Options +import string +import os + +# Version of this package (even if built as a child) +PACKAGE_VERSION = '1.9.5' + +# Variables for 'waf dist' +APPNAME = 'non-sequencer' +VERSION = PACKAGE_VERSION + +# Mandatory variables +top = '.' +out = 'build' + +def options(opt): + opt.load('compiler_c') + opt.load('compiler_cxx') + opt.load('gnu_dirs') + +def configure(conf): + conf.load('compiler_c') + conf.load('compiler_cxx') + conf.load('gnu_dirs') + + conf.check_cfg(package='sigc++-2.0', uselib_store='SIGCPP', + atleast_version='2.0.0', args="--cflags --libs", mandatory=True) + + conf.define('VERSION', PACKAGE_VERSION) + conf.define('SYSTEM_PATH', string.join( [ conf.env.DATADIR, APPNAME ], '/' ) ) + conf.define('DOCUMENT_PATH', string.join( [ conf.env.DATADIR, 'doc' ], '/' ) ) + conf.define('PIXMAP_PATH', string.join( [ conf.env.DATADIR, 'pixmaps' ], '/' ) ) + + conf.write_config_header('config.h', remove=False) + + print('') + +def build(bld): + + libs = '' + + bld.program( source = ''' +src/NSM.C +src/NSM/Client.C +src/canvas.C +src/debug.C +src/event.C +src/event_list.C +src/grid.C +src/gui/draw.C +src/gui/event_edit.fl +src/gui/input.C +src/gui/ui.fl +src/gui/widgets.fl +src/instrument.C +src/jack.C +src/main.C +src/mapping.C +src/midievent.C +src/pattern.C +src/phrase.C +src/scale.C +src/sequence.C +src/smf.C +src/transport.C +''', + target = 'non-sequencer', + includes = ['.', 'src', 'src/gui', '../FL', '../nonlib'], + use = ['nonlib', 'fl_widgets'], + uselib = [ 'JACK', 'SIGCPP', 'LIBLO', 'XPM', 'NTK', 'NTK_IMAGES'], + install_path = '${BINDIR}') + + bld.install_files(string.join( [ '${DATADIR}', APPNAME, 'instruments'], '/' ), bld.path.ant_glob('instruments/*')) + + start_dir = bld.path.find_dir( 'icons/hicolor' ) + + bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'), + cwd=start_dir, relative_trick=True) + + bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png') + + bld.install_files( string.join( [ '${DATADIR}/doc', APPNAME ], '/' ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) ) diff --git a/session-manager/FL b/session-manager/FL deleted file mode 120000 index d025fc7..0000000 --- a/session-manager/FL +++ /dev/null @@ -1 +0,0 @@ -../FL \ No newline at end of file diff --git a/session-manager/Makefile b/session-manager/Makefile deleted file mode 120000 index c259b75..0000000 --- a/session-manager/Makefile +++ /dev/null @@ -1 +0,0 @@ -scripts/Makefile \ No newline at end of file diff --git a/session-manager/configure b/session-manager/configure deleted file mode 100755 index 88f424e..0000000 --- a/session-manager/configure +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2008 Jonathan Moore Liles -# This file is licensed under version 2 of the GPL. - -. scripts/config-funcs - -begin - -begin_options - -ask "Installation prefix" prefix /usr/local -ask "Build for debugging" USE_DEBUG no - -begin_tests - -require_command ar ar -require_command makedepend makedepend -require_NTK 1.3.0 images -suggest_package JACK 0.103.0 jack -require_package liblo 0.23 liblo -suggest_package XPM 2.0.0 xpm - -test_version `version_of liblo` 0.26 || warn "Version $(version_of liblo) of liblo is slow to create servers. Consider upgrading to 0.26 or later" - -end - -if ! hostname_resolvable -then - echo "Your hostname \"$(hostname)\" does not resolve to a valid address." - echo "This is a broken configuration and will cause liblo (the" - echo "OSC library) to fail to function. Add the line:" - echo - echo "127.0.0.1 $(hostname)" - echo - echo "to your /etc/hosts file to fix. And consider switching to a saner distribution." - echo - fail "Invalid hostname!" -fi diff --git a/session-manager/lib b/session-manager/lib deleted file mode 120000 index dc598c5..0000000 --- a/session-manager/lib +++ /dev/null @@ -1 +0,0 @@ -../lib \ No newline at end of file diff --git a/session-manager/makefile.inc b/session-manager/makefile.inc deleted file mode 100644 index 7026f05..0000000 --- a/session-manager/makefile.inc +++ /dev/null @@ -1,72 +0,0 @@ -# -*- mode: makefile; -*- - -VERSION := 1.0.0 -PACKAGE := SESSION_MANAGER -BIN_NAME := non-session-manager - -all: Session - -SRCS := $(wildcard src/*.C src/*.fl) -# SRCS += util/debug.C util/Thread.C util/file.C - -SRCS:=$(SRCS:.fl=.C) -SRCS:=$(sort $(SRCS)) -OBJS:=$(SRCS:.C=.o) - -LIBS += $(LIBLO_LIBS) -CFLAGS += $(LIBLO_CFLAGS) $(XPM_CFLAGS) $(FLTK_CFLAGS) -D_GNU_SOURCE - -src/nsmd: src/nsmd.o nonlib/libnonlib.a - @ echo -n Linking session handler. - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(LIBS) -Lnonlib -lnonlib && echo $(DONE) - -src/session-manager: src/session-manager.o nonlib/libnonlib.a $(FLTK_LIBS) - @ echo -n Linking session handler. - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(FLTK_LDFLAGS) $(XPM_LIBS) $(LIBS) -LFL -lfl_widgets -Lnonlib -lnonlib && echo $(DONE) - -src/nsm-proxy: src/nsm-proxy.o nonlib/libnonlib.a - @ echo -n Linking NSM Proxy. - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(LIBLO_LIBS) -Lnonlib -lnonlib && echo $(DONE) - -# src/NSM_Proxy_UI.o: -# @ cd src && $(FLUID) -c NSM_Proxy_UI.fl - -src/nsm-proxy-gui: src/NSM_Proxy_UI.o src/nsm-proxy-gui.o $(FLTK_LIBS) - @ echo -n Linking NSM Proxy... - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(FLTK_LDFLAGS) $(XPM_LIBS) $(LIBLO_LIBS) $(FLTK_LIBS) -LFL -lfl_widgets && echo $(DONE) - -src/send_osc: src/send_osc.o nonlib/libnonlib.a - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(LIBS) -Lnonlib -lnonlib && echo $(DONE) - -src/jackpatch: src/jackpatch.o - @ $(CXX) $(CXXFLAGS) $^ -o $@ $(JACK_LIBS) $(LIBLO_LIBS) && echo $(DONE) - - -Session: src/send_osc src/nsmd src/session-manager src/jackpatch src/nsm-proxy src/nsm-proxy-gui - -clean: - rm -f $(OBJS) src/nsmd src/session-manager src/jackpatch src/nsm-proxy src/nsm-proxy-gui .deps - -install: all - @ echo -n "Installing..." - @ install -Dm755 src/nsmd "$(DESTDIR)$(prefix)"/bin/nsmd - @ install -Dm755 src/session-manager "$(DESTDIR)$(prefix)"/bin/non-session-manager - @ install -Dm755 src/nsm-proxy "$(DESTDIR)$(prefix)"/bin/nsm-proxy - @ install -Dm755 src/nsm-proxy-gui "$(DESTDIR)$(prefix)"/bin/nsm-proxy-gui - @ install -Dm755 src/jackpatch "$(DESTDIR)$(prefix)"/bin/jackpatch - @ install -d "$(DESTDIR)$(SYSTEM_PATH)"/non-session-manager - @ $(MAKE) -s -C doc install - @ install -d "$(DESTDIR)$(PIXMAP_PATH)/non-session-manager" - @ install -m 644 icons/hicolor/256x256/apps/non-session-manager.png "$(DESTDIR)$(PIXMAP_PATH)"/non-session-manager/icon-256x256.png - @ install -d "$(DESTDIR)$(ICON_PATH)/hicolor" - @ cp -au icons/hicolor/ "$(DESTDIR)$(ICON_PATH)" - @ install -d "$(DESTDIR)$(DESKTOP_PATH)" - @ sed 's:@BIN_PATH@:$(prefix)/bin:' non-session-manager.desktop.in > "$(DESTDIR)$(DESKTOP_PATH)/non-session-manager.desktop" - @ echo "$(DONE)" -ifneq ($(USE_DEBUG),yes) - @ echo -n "Stripping..." - @ strip "$(DESTDIR)$(prefix)"/bin/jackpatch - @ strip "$(DESTDIR)$(prefix)"/bin/nsmd - @ strip "$(DESTDIR)$(prefix)"/bin/non-session-manager - @ echo "$(DONE)" -endif diff --git a/session-manager/nonlib b/session-manager/nonlib deleted file mode 120000 index 1737b4f..0000000 --- a/session-manager/nonlib +++ /dev/null @@ -1 +0,0 @@ -../nonlib/ \ No newline at end of file diff --git a/session-manager/scripts b/session-manager/scripts deleted file mode 120000 index a339954..0000000 --- a/session-manager/scripts +++ /dev/null @@ -1 +0,0 @@ -../scripts \ No newline at end of file diff --git a/session-manager/src/FL b/session-manager/src/FL deleted file mode 120000 index 46ae6eb..0000000 --- a/session-manager/src/FL +++ /dev/null @@ -1 +0,0 @@ -../../FL \ No newline at end of file diff --git a/session-manager/wscript b/session-manager/wscript new file mode 100644 index 0000000..1902251 --- /dev/null +++ b/session-manager/wscript @@ -0,0 +1,103 @@ +#!/usr/bin/env python +import subprocess +import waflib.Options as Options +import string +import os + +# Version of this package (even if built as a child) +PACKAGE_VERSION = '1.2.0' + +# Variables for 'waf dist' +APPNAME = 'non-session-manager' +VERSION = PACKAGE_VERSION + +# Mandatory variables +top = '.' +out = 'build' + +def options(opt): + opt.load('compiler_c') + opt.load('compiler_cxx') + opt.load('gnu_dirs') + +def configure(conf): + conf.load('compiler_c') + conf.load('compiler_cxx') + conf.load('gnu_dirs') + + conf.define('VERSION', PACKAGE_VERSION) + conf.define('SYSTEM_PATH', string.join( [ conf.env.DATADIR, APPNAME ], '/' ) ) + conf.define('DOCUMENT_PATH', string.join( [ conf.env.DATADIR, 'doc' ], '/' ) ) + conf.define('PIXMAP_PATH', string.join( [ conf.env.DATADIR, 'pixmaps' ], '/' ) ) + + conf.write_config_header('config.h', remove=False) + + print('') + +def build(bld): + + libs = '' + + bld.program( source = ''' +src/session-manager.C +''', + target = 'non-session-manager', + includes = ['.', 'src', '../nonlib', '../FL' ], + uselib = [ 'LIBLO', 'XPM', 'NTK', 'NTK_IMAGES' ], + use = [ 'fl_widgets', 'nonlib'], + install_path = '${BINDIR}') + + bld.program( source = ''' +src/nsmd.C +''', + target = 'nsmd', + includes = ['.', 'src', '../nonlib'], + uselib = [ 'LIBLO' ], + use = [ 'nonlib'], + install_path = '${BINDIR}') + + bld.program( source = ''' +src/nsm-proxy.C +''', + target = 'nsm-proxy', + includes = ['.', 'src', '../nonlib', '../FL' ], + uselib = [ 'LIBLO' ], + use = [ 'nonlib'], + install_path = '${BINDIR}') + + bld.program( source = ''' +src/nsm-proxy-gui.C +src/NSM_Proxy_UI.fl +''', + target = 'nsm-proxy-gui', + includes = ['.', 'src'], + uselib = [ 'LIBLO', 'XPM', 'NTK', 'NTK_IMAGES ' ], + install_path = '${BINDIR}') + + bld.program( source = ''' +src/jackpatch.c +''', + target = 'jackpatch', + includes = ['.', 'src'], + uselib = [ 'LIBLO', 'JACK' ], + install_path = '${BINDIR}') + + + bld.program( source = ''' +src/send_osc.C +''', + target = 'send_osc', + includes = ['.', 'src', '../nonlib' ], + uselib = [ 'LIBLO' ], + use = [ 'nonlib'], + install_path = '${BINDIR}') + + + start_dir = bld.path.find_dir( 'icons/hicolor' ) + + bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'), + cwd=start_dir, relative_trick=True) + + bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png') + + bld.install_files( string.join( [ '${DATADIR}/doc', APPNAME ], '/' ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) ) diff --git a/timeline/FL b/timeline/FL deleted file mode 120000 index d025fc7..0000000 --- a/timeline/FL +++ /dev/null @@ -1 +0,0 @@ -../FL \ No newline at end of file diff --git a/timeline/Makefile b/timeline/Makefile deleted file mode 120000 index c259b75..0000000 --- a/timeline/Makefile +++ /dev/null @@ -1 +0,0 @@ -scripts/Makefile \ No newline at end of file diff --git a/timeline/configure b/timeline/configure deleted file mode 100755 index d0bfb27..0000000 --- a/timeline/configure +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2008 Jonathan Moore Liles -# This file is licensed under version 2 of the GPL. - -. scripts/config-funcs - -begin - -begin_options - -ask "Installation prefix" prefix /usr/local -ask "Build for debugging" USE_DEBUG no - -using DEBUG && -{ - ask "Use unoptimized drawing routines" USE_UNOPTIMIZED_DRAWING no - ask "Use widget for timeline" USE_WIDGET_FOR_TIMELINE no - using WIDGET_FOR_TIMELINE || ask "Use singlebuffered timeline" USE_SINGLEBUFFERED_TIMELINE no -} - -begin_tests - -require_command ar ar -require_command makedepend makedepend -require_NTK 1.3.0 images -require_package JACK 0.103.0 jack -require_package sndfile 1.0.17 sndfile -require_package liblo 0.23 liblo -suggest_package XPM 2.0.0 xpm - -if ! hostname_resolvable -then - echo "Your hostname \"$(hostname)\" does not resolve to a valid address." - echo "This is a broken configuration and will cause liblo (the" - echo "OSC library) to fail to function. Add the line:" - echo - echo "127.0.0.1 $(hostname)" - echo - echo "to your /etc/hosts file to fix. And consider switching to a saner distribution." - echo - fail "Invalid hostname!" -fi - -test_version `version_of liblo` 0.26 || warn "Version $(version_of liblo) of liblo is slow to create servers. Consider upgrading to 0.26 or later" - -end diff --git a/timeline/lib b/timeline/lib deleted file mode 120000 index dc598c5..0000000 --- a/timeline/lib +++ /dev/null @@ -1 +0,0 @@ -../lib \ No newline at end of file diff --git a/timeline/makefile.inc b/timeline/makefile.inc deleted file mode 100644 index 132b8fd..0000000 --- a/timeline/makefile.inc +++ /dev/null @@ -1,57 +0,0 @@ -# -*- mode: makefile; -*- - -VERSION := 1.1.0 -PACKAGE := TIMELINE -BIN_NAME := non-daw - -all: Timeline - -SRCS := $(wildcard src/*.C src/*.fl src/Engine/*.C) - -SRCS:=$(SRCS:.fl=.C) -SRCS:=$(sort $(SRCS)) -OBJS:=$(SRCS:.C=.o) - -LIBS += $(FLTK_LDFLAGS) $(JACK_LIBS) $(SNDFILE_LIBS) $(LIBLO_LIBS) $(SIGCPP_LIBS) $(XPM_LIBS) - -CFLAGS += $(SNDFILE_CFLAGS) $(FLTK_CFLAGS) $(JACK_CFLAGS) $(SIGCPP_CFLAGS) $(XPM_CFLAGS) -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 - -ifeq ($(USE_UNOPTIMIZED_DRAWING),yes) - CFLAGS+=-DUSE_UNOPTIMIZED_DRAWING -endif - -ifeq ($(USE_SINGLEBUFFERED_TIMELINE),yes) - CFLAGS+=-DUSE_SINGLEBUFFERED_TIMELINE -endif - -ifeq ($(USE_WIDGET_FOR_TIMELINE),yes) - CFLAGS+=-DUSE_WIDGET_FOR_TIMELINE -endif - - -src/timeline: $(OBJS) FL/libfl_widgets.a nonlib/libnonlib.a $(FLTK_LIBS) - @ echo -n Linking timeline... - $(CXX) $(CXXFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) -LFL -lfl_widgets -Lnonlib -lnonlib && echo $(DONE) - -Timeline: src/timeline - -clean: - rm -f $(OBJS) src/timeline .deps - -install: all - @ echo -n "Installing..." - @ install -Dm755 src/timeline "$(DESTDIR)$(prefix)"/bin/non-daw - @ install -d "$(DESTDIR)$(SYSTEM_PATH)"/non-daw - @ $(MAKE) -s -C doc install - @ install -d "$(DESTDIR)$(PIXMAP_PATH)/non-daw" - @ install -Dm644 icons/hicolor/256x256/apps/non-daw.png "$(DESTDIR)$(PIXMAP_PATH)"/non-daw/icon-256x256.png - @ install -d "$(DESTDIR)$(ICON_PATH)/hicolor" - @ cp -au icons/hicolor/ "$(DESTDIR)$(ICON_PATH)" - @ install -d "$(DESTDIR)$(DESKTOP_PATH)" - @ sed 's:@BIN_PATH@:$(prefix)/bin:' non-daw.desktop.in > "$(DESTDIR)$(DESKTOP_PATH)/non-daw.desktop" - @ echo "$(DONE)" -ifneq ($(USE_DEBUG),yes) - @ echo -n "Stripping..." - @ strip "$(DESTDIR)$(prefix)"/bin/non-daw - @ echo "$(DONE)" -endif diff --git a/timeline/nonlib b/timeline/nonlib deleted file mode 120000 index bff0245..0000000 --- a/timeline/nonlib +++ /dev/null @@ -1 +0,0 @@ -../nonlib \ No newline at end of file diff --git a/timeline/scripts b/timeline/scripts deleted file mode 120000 index adb0a1d..0000000 --- a/timeline/scripts +++ /dev/null @@ -1 +0,0 @@ -../scripts/ \ No newline at end of file diff --git a/timeline/src/Annotation_Region.C b/timeline/src/Annotation_Region.C index 73df324..7e30b5a 100644 --- a/timeline/src/Annotation_Region.C +++ b/timeline/src/Annotation_Region.C @@ -91,8 +91,8 @@ Annotation_Region::draw ( void ) draw_label( _label, (Fl_Align)(FL_ALIGN_LEFT | FL_ALIGN_INSIDE | FL_ALIGN_TOP | FL_ALIGN_CLIP ) ); } -#include "FL/Fl_Text_Edit_Window.H" -#include "FL/test_press.H" +#include +#include int Annotation_Region::handle ( int m ) diff --git a/timeline/src/Cursor_Region.C b/timeline/src/Cursor_Region.C index 3fcbcd1..d4f3177 100644 --- a/timeline/src/Cursor_Region.C +++ b/timeline/src/Cursor_Region.C @@ -119,8 +119,8 @@ Cursor_Region::draw ( void ) draw_label( _label, (Fl_Align)(FL_ALIGN_LEFT | FL_ALIGN_INSIDE | FL_ALIGN_TOP | FL_ALIGN_CLIP ) ); } -#include "FL/Fl_Text_Edit_Window.H" -#include "FL/test_press.H" +#include +#include int Cursor_Region::handle ( int m ) diff --git a/timeline/src/TLE.fl b/timeline/src/TLE.fl index e91ec1d..043fa0f 100644 --- a/timeline/src/TLE.fl +++ b/timeline/src/TLE.fl @@ -31,7 +31,7 @@ decl {class Fl_Flowpack;} {public global decl {\#include } {private local } -decl {\#include "Fl_Menu_Settings.H"} {private local +decl {\#include } {private local } decl {\#include "Timeline.H"} {private local @@ -49,10 +49,10 @@ decl {\#include "Project.H"} {private local decl {\#include "Clock.H"} {public local } -decl {\#include "FL/Fl_Flowpack.H"} {private local +decl {\#include } {private local } -decl {\#include "New_Project_Dialog.H"} {private local +decl {\#include } {private local } decl {\#include "Track.H" // for capture_format} {private local @@ -85,7 +85,7 @@ decl {\#include "Engine/Engine.H"} {private local decl {\#include "Engine/Audio_File.H" // for supported formats} {private local } -decl {\#include "FL/About_Dialog.H"} {private local +decl {\#include } {private local } decl {extern char project_display_name[256];} {private global diff --git a/timeline/wscript b/timeline/wscript new file mode 100644 index 0000000..05b5bf7 --- /dev/null +++ b/timeline/wscript @@ -0,0 +1,105 @@ +#!/usr/bin/env python +import subprocess +import waflib.Options as Options +import string +import os; + +# Version of this package (even if built as a child) +PACKAGE_VERSION = '1.2.0' + +# Variables for 'waf dist' +APPNAME = 'non-daw' +VERSION = PACKAGE_VERSION + +# Mandatory variables +top = '.' +out = 'build' + +def options(opt): + opt.load('compiler_c') + opt.load('compiler_cxx') + opt.load('gnu_dirs') + +def configure(conf): + conf.load('compiler_c') + conf.load('compiler_cxx') + conf.load('gnu_dirs') + + conf.env.append_value('CFLAGS', '-D_LARGEFILE64_SOURCE') + conf.env.append_value('CFLAGS', '-D_FILE_OFFSET_BITS=64') + conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE') + conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64') + + conf.check_cfg(package='sndfile', uselib_store='SNDFILE',args="--cflags --libs", + atleast_version='1.0.17', mandatory=True) + + conf.define('VERSION', PACKAGE_VERSION) + conf.define('SYSTEM_PATH', string.join( [ conf.env.DATADIR, APPNAME ], '/' ) ) + conf.define('DOCUMENT_PATH', string.join( [ conf.env.DATADIR, 'doc' ], '/' ) ) + conf.define('PIXMAP_PATH', string.join( [ conf.env.DATADIR, 'pixmaps' ], '/' ) ) + + conf.write_config_header('config.h', remove=False) + + print('') + +def build(bld): + # libs = 'LILV SUIL JACK SERD SRATOM LV2' + + libs = '' + + obj = bld(features = 'cxx cxxprogram', + source = ''' +src/Annotation_Region.C +src/Audio_Region.C +src/Audio_Sequence.C +src/Control_Point.C +src/Control_Sequence.C +src/Cursor_Point.C +src/Cursor_Region.C +src/Cursor_Sequence.C +src/Engine/Audio_File.C +src/Engine/Audio_File_Dummy.C +src/Engine/Audio_File_SF.C +src/Engine/Audio_Region.C +src/Engine/Audio_Sequence.C +src/Engine/Control_Sequence.C +src/Engine/Disk_Stream.C +src/Engine/Engine.C +src/Engine/Peaks.C +src/Engine/Playback_DS.C +src/Engine/Record_DS.C +src/Engine/Timeline.C +src/Engine/Track.C +src/NSM.C +src/OSC_Thread.C +src/Project.C +src/Sequence.C +src/Sequence_Point.C +src/Sequence_Region.C +src/Sequence_Widget.C +src/TLE.fl +src/Tempo_Point.C +src/Tempo_Sequence.C +src/Time_Point.C +src/Time_Sequence.C +src/Timeline.C +src/Track.C +src/Transport.C +src/Waveform.C +src/main.C +''', + target = 'non-daw', + includes = ['.', 'src', '../FL', '../nonlib'], + uselib = [ 'JACK', 'LIBLO', 'SNDFILE', 'XPM', 'NTK', 'NTK_IMAGES'], + use = [ 'fl_widgets', 'nonlib'], + install_path = '${BINDIR}') + + start_dir = bld.path.find_dir( 'icons/hicolor' ) + + bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'), + cwd=start_dir, relative_trick=True) + + bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png') + + bld.install_files( string.join( [ '${DATADIR}/doc', APPNAME ], '/' ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) ) + diff --git a/waf b/waf new file mode 100755 index 0000000..3b0bf00 Binary files /dev/null and b/waf differ diff --git a/wscript b/wscript new file mode 100644 index 0000000..c9ae448 --- /dev/null +++ b/wscript @@ -0,0 +1,120 @@ +#!/usr/bin/env python +import os +import subprocess +import waflib.Logs as Logs, waflib.Options as Options +import string + +VERSION = 'xxx' +APPNAME = 'non-things' + +top = '.' +out = 'build' + +common = [ 'nonlib', 'FL' ] +projects = [ 'timeline', 'mixer', 'sequencer', 'session-manager' ] + +def options(opt): + # opt.add_option('--use-system-ntk', action='store_true', default=False, + # dest='use_system_ntk', + # help="Link to system-installed shared NTK instead of bundled version") + opt.add_option('--enable-debug', action='store_true', default=False, dest='debug', + help='Build for debugging') + opt.add_option('--project', action='store', default=False, dest='project', + help='Limit build to a single project (' + string.join( projects, ', ' ) + ')') + + for i in projects: + opt.recurse(i) + +def configure(conf): + conf.load('compiler_c') + conf.load('compiler_cxx') + conf.load('gnu_dirs') + conf.load('ntk_fluid') + conf.line_just = 52 + + optimization_flags = [ + "-O3", + "-fomit-frame-pointer", + "-ffast-math", +# "-fstrength-reduce", + "-pipe" + ] + + debug_flags = [ '-g' ] + + if Options.options.debug: + conf.env.append_value('CFLAGS', debug_flags ) + conf.env.append_value('CXXFLAGS', debug_flags ) + else: + conf.env.append_value('CFLAGS', optimization_flags ) + conf.env.append_value('CXXFLAGS', optimization_flags ) + conf.define( 'NDEBUG', 1 ) + + conf.env.append_value('CFLAGS',['-Wall']) +# conf.env.append_value('CXXFLAGS',['-Wall','-fno-exceptions', '-fno-rtti']) + conf.env.append_value('CXXFLAGS',['-Wall','-fno-rtti']) + + + # NTK_EXTRA_FLAGS='' + # if not Options.options.use_system_ntk: + # print 'Using bundled NTK' + # os.environ['PKG_CONFIG_PATH'] = 'lib/ntk/build/:' + os.environ.get('PKG_CONFIG_PATH','') + # NTK_EXTRA_FLAGS='--static' + # PWD = os.environ.get('PWD','') + # os.environ['PATH'] = PWD + '/lib/ntk/build/fluid:' + os.environ.get('PATH','') + + conf.check_cfg(package='ntk', uselib_store='NTK', args='--cflags --libs', + atleast_version='1.3.0', mandatory=True) + conf.check_cfg(package='ntk_images', uselib_store='NTK_IMAGES', args=' --cflags --libs', + atleast_version='1.3.0', mandatory=True) + + conf.find_program('ntk-fluid', var='NTK_FLUID') + + conf.check_cfg(package='jack', uselib_store='JACK', args="--cflags --libs", + atleast_version='0.103.0', mandatory=True) + + conf.check_cfg(package='xpm', uselib_store='XMP',args="--cflags --libs", + atleast_version='2.0.0', mandatory=True) + + conf.check_cfg(package='liblo', uselib_store='LIBLO',args="--cflags --libs", + atleast_version='0.26', mandatory=True) + +### + + for i in common: + conf.recurse(i) + + conf.env.PROJECT = conf.options.project + + if conf.env.PROJECT: + pl = [ conf.env.PROJECT ] + else: + pl = projects; + + for i in pl: + Logs.pprint('YELLOW', 'Configuring %s' % i) + conf.recurse(i); + +def run(ctx): + if not Options.options.cmd: + Logs.error("missing --cmd option for run command") + return + + cmd = Options.options.cmd + Logs.pprint('GREEN', 'Running %s' % cmd) + + subprocess.call(cmd, shell=True, env=source_tree_env()) + +def build(bld): + + for i in common: + bld.recurse(i) + + if bld.env.PROJECT: + pl = [ bld.env.PROJECT ] + else: + pl = projects; + + for i in pl: + bld.recurse(i); +