@@ -4,28 +4,6 @@ | |||||
*.[ao] | *.[ao] | ||||
TAGS | TAGS | ||||
.nfs* | .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 |
@@ -1 +0,0 @@ | |||||
scripts/Makefile |
@@ -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: | |||||
@ |
@@ -1 +0,0 @@ | |||||
../scripts |
@@ -18,8 +18,7 @@ | |||||
/*******************************************************************************/ | /*******************************************************************************/ | ||||
#include "FL/themes.H" | #include "FL/themes.H" | ||||
#include "FL/Fl_Theme_Chooser.C" | |||||
#include <FL/Fl_Theme_Chooser.H> | |||||
int | int | ||||
main ( int argc, char **argv ) | main ( int argc, char **argv ) | ||||
@@ -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') |
@@ -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 |
@@ -1,12 +1,39 @@ | |||||
# -*- mode: org -*- | |||||
* Non-things build instructions | |||||
This repository contains all of the non-* software. | 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: | |||||
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: | |||||
make ntk | |||||
./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. |
@@ -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 | 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 | contact me directly or post to one of the Non mailing lists with your | ||||
@@ -23,3 +25,4 @@ Thanks, | |||||
Jonathan Moore Liles <male@tuxfamily.net> | Jonathan Moore Liles <male@tuxfamily.net> | ||||
P.S. Furthermore, please quit listing crazy random stuff as dependencies. | P.S. Furthermore, please quit listing crazy random stuff as dependencies. | ||||
@@ -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 |
@@ -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) |
@@ -1 +1 @@ | |||||
Subproject commit 9fdf8b4fd9d12d1cc88b283fe00079a2324f2055 | |||||
Subproject commit a41e8769a3543ef237470482488c62dba92ded2c |
@@ -1 +0,0 @@ | |||||
../FL |
@@ -1 +0,0 @@ | |||||
scripts/Makefile |
@@ -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 |
@@ -1 +0,0 @@ | |||||
../lib |
@@ -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 |
@@ -1 +0,0 @@ | |||||
../nonlib |
@@ -1 +0,0 @@ | |||||
../scripts/ |
@@ -28,14 +28,15 @@ | |||||
#include <FL/Fl_Menu_Bar.H> | #include <FL/Fl_Menu_Bar.H> | ||||
#include <FL/fl_ask.H> | #include <FL/fl_ask.H> | ||||
#include <FL/Fl.H> | #include <FL/Fl.H> | ||||
#include "New_Project_Dialog.H" | |||||
#include <New_Project_Dialog.H> | |||||
#include "Engine/Engine.H" | #include "Engine/Engine.H" | ||||
#include "FL/Fl_Flowpack.H" | |||||
#include <Fl_Flowpack.H> | |||||
#include "Project.H" | #include "Project.H" | ||||
#include "FL/Fl_Menu_Settings.H" | |||||
#include "About_Dialog.H" | |||||
#include <Fl_Menu_Settings.H> | |||||
#include <About_Dialog.H> | |||||
#include <FL/Fl_File_Chooser.H> | #include <FL/Fl_File_Chooser.H> | ||||
#include "FL/Fl_Theme_Chooser.H" | |||||
#include <FL/Fl_Theme_Chooser.H> | |||||
#include <Fl_Value_SliderX.H> | |||||
#include "file.h" | #include "file.h" | ||||
@@ -44,7 +45,6 @@ | |||||
#include <unistd.h> | #include <unistd.h> | ||||
#include <sys/types.h> | #include <sys/types.h> | ||||
#include "FL/Fl_Value_SliderX.H" | |||||
#include "OSC/Endpoint.H" | #include "OSC/Endpoint.H" | ||||
#include <lo/lo.h> | #include <lo/lo.h> | ||||
@@ -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 ) |
@@ -1 +0,0 @@ | |||||
scripts/Makefile |
@@ -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: | |||||
@ |
@@ -1 +0,0 @@ | |||||
../scripts |
@@ -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') |
@@ -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 | |||||
@@ -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" |
@@ -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` |
@@ -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" | |||||
} |
@@ -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 |
@@ -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 |
@@ -1 +0,0 @@ | |||||
../FL |
@@ -1 +0,0 @@ | |||||
scripts/Makefile |
@@ -1 +0,0 @@ | |||||
../lib |
@@ -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 | |||||
@@ -1 +0,0 @@ | |||||
../nonlib |
@@ -1 +0,0 @@ | |||||
../scripts |
@@ -25,7 +25,7 @@ comment {// | |||||
decl {\#include <FL/Fl_Dial.H>} {public local | decl {\#include <FL/Fl_Dial.H>} {public local | ||||
} | } | ||||
decl {\#include "FL/About_Dialog.H"} {private local | |||||
decl {\#include <About_Dialog.H>} {private local | |||||
} | } | ||||
decl {class Fl_Scalepack;} {public 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 {class Fl_Sometimes_Input;} {public local | ||||
} | } | ||||
decl {\#include "FL/Fl_Theme_Chooser.H"} {private local | |||||
decl {\#include <FL/Fl_Theme_Chooser.H>} {private local | |||||
} | } | ||||
decl {\#include "FL/Fl_Scalepack.H"} {private local | |||||
decl {\#include <Fl_Scalepack.H>} {private local | |||||
} | } | ||||
decl {\#include "FL/Fl_Sometimes_Input.H"} {private local | |||||
decl {\#include <Fl_Sometimes_Input.H>} {private local | |||||
} | } | ||||
decl {\#include "FL/Fl_Menu_Settings.H"} {private local | |||||
decl {\#include <Fl_Menu_Settings.H>} {private local | |||||
} | } | ||||
decl {\#include <FL/Fl_Shared_Image.H>} {private local | decl {\#include <FL/Fl_Shared_Image.H>} {private local | ||||
@@ -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' ) ) |
@@ -1 +0,0 @@ | |||||
../FL |
@@ -1 +0,0 @@ | |||||
scripts/Makefile |
@@ -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 |
@@ -1 +0,0 @@ | |||||
../lib |
@@ -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 |
@@ -1 +0,0 @@ | |||||
../nonlib/ |
@@ -1 +0,0 @@ | |||||
../scripts |
@@ -1 +0,0 @@ | |||||
../../FL |
@@ -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' ) ) |
@@ -1 +0,0 @@ | |||||
../FL |
@@ -1 +0,0 @@ | |||||
scripts/Makefile |
@@ -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 |
@@ -1 +0,0 @@ | |||||
../lib |
@@ -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 |
@@ -1 +0,0 @@ | |||||
../nonlib |
@@ -1 +0,0 @@ | |||||
../scripts/ |
@@ -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 ) ); | 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 <Fl_Text_Edit_Window.H> | |||||
#include <test_press.H> | |||||
int | int | ||||
Annotation_Region::handle ( int m ) | Annotation_Region::handle ( int m ) | ||||
@@ -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 ) ); | 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 <Fl_Text_Edit_Window.H> | |||||
#include <test_press.H> | |||||
int | int | ||||
Cursor_Region::handle ( int m ) | Cursor_Region::handle ( int m ) | ||||
@@ -31,7 +31,7 @@ decl {class Fl_Flowpack;} {public global | |||||
decl {\#include <FL/Fl_Overlay_Window.H>} {private local | decl {\#include <FL/Fl_Overlay_Window.H>} {private local | ||||
} | } | ||||
decl {\#include "Fl_Menu_Settings.H"} {private local | |||||
decl {\#include <Fl_Menu_Settings.H>} {private local | |||||
} | } | ||||
decl {\#include "Timeline.H"} {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 "Clock.H"} {public local | ||||
} | } | ||||
decl {\#include "FL/Fl_Flowpack.H"} {private local | |||||
decl {\#include <Fl_Flowpack.H>} {private local | |||||
} | } | ||||
decl {\#include "New_Project_Dialog.H"} {private local | |||||
decl {\#include <New_Project_Dialog.H>} {private local | |||||
} | } | ||||
decl {\#include "Track.H" // for capture_format} {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 "Engine/Audio_File.H" // for supported formats} {private local | ||||
} | } | ||||
decl {\#include "FL/About_Dialog.H"} {private local | |||||
decl {\#include <About_Dialog.H>} {private local | |||||
} | } | ||||
decl {extern char project_display_name[256];} {private global | decl {extern char project_display_name[256];} {private global | ||||
@@ -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' ) ) | |||||
@@ -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); | |||||