summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--note_compiler/.gitignore1
-rw-r--r--note_compiler/Makefile33
-rw-r--r--synth/.depend37
-rw-r--r--synth/Makefile8
-rw-r--r--synth/OPTIMIZATIONS7
6 files changed, 64 insertions, 26 deletions
diff --git a/.gitignore b/.gitignore
index 8862c08..33ec174 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
-*.[oa]
+*.o
+*.so
+*.a
diff --git a/note_compiler/.gitignore b/note_compiler/.gitignore
new file mode 100644
index 0000000..86a7c8e
--- /dev/null
+++ b/note_compiler/.gitignore
@@ -0,0 +1 @@
+compiler
diff --git a/note_compiler/Makefile b/note_compiler/Makefile
new file mode 100644
index 0000000..bc51697
--- /dev/null
+++ b/note_compiler/Makefile
@@ -0,0 +1,33 @@
+CXX=g++
+CXXFLAGS=-Wall -g
+LDFLAGS=-lm
+
+OBJ=main.o
+BIN=compiler
+
+DEPENDFILE = .depend
+
+
+SRC = $(OBJ:%.o=%.cpp)
+
+all: $(BIN)
+
+
+$(BIN): $(OBJ)
+ $(CXX) $(CFLAGS) -o $(BIN) $(OBJ) $(LDFLAGS)
+
+
+depend dep: $(SRC)
+ $(CC) -MM $(SRC) > $(DEPENDFILE)
+
+-include $(DEPENDFILE)
+
+
+%.o: %.cpp
+ $(CXX) $(CXXFLAGS) -c $<
+
+.PHONY: clean dep depend
+
+clean:
+ rm -f $(OBJ) $(BIN)
+
diff --git a/synth/.depend b/synth/.depend
index 127f9d9..e3e9f6b 100644
--- a/synth/.depend
+++ b/synth/.depend
@@ -1,28 +1,27 @@
-channel.o: channel.cpp channel.h fixed.h programs.h note.h envelope.h \
- filter.h note_skel.h defines.h util.h globals.h
-cli.o: cli.cpp util.h programs.h fixed.h globals.h channel.h note.h \
- envelope.h filter.h note_skel.h defines.h load.h
+channel.o: channel.cpp channel.h fixed.h programs.h note_skel.h defines.h \
+ util.h globals.h note.h envelope.h filter.h
+cli.o: cli.cpp util.h programs.h fixed.h globals.h channel.h note_skel.h \
+ defines.h load.h
defines.o: defines.cpp defines.h
envelope.o: envelope.cpp envelope.h programs.h fixed.h
filter.o: filter.cpp filter.h fixed.h defines.h globals.h programs.h \
- channel.h note.h envelope.h note_skel.h util.h
-globals.o: globals.cpp globals.h programs.h fixed.h channel.h note.h \
- envelope.h filter.h note_skel.h defines.h util.h
-jack.o: jack.cpp defines.h globals.h programs.h fixed.h channel.h note.h \
- envelope.h filter.h note_skel.h util.h jack.h
-load.o: load.cpp util.h programs.h fixed.h globals.h channel.h note.h \
- envelope.h filter.h note_skel.h defines.h
+ channel.h note_skel.h util.h
+globals.o: globals.cpp globals.h programs.h fixed.h channel.h note_skel.h \
+ defines.h util.h
+jack.o: jack.cpp defines.h globals.h programs.h fixed.h channel.h \
+ note_skel.h util.h jack.h
+load.o: load.cpp util.h programs.h fixed.h globals.h channel.h \
+ note_skel.h defines.h
main.o: main.cpp jack.h load.h cli.h parser.h fixed.h programs.h \
- channel.h note.h envelope.h filter.h note_skel.h defines.h util.h \
- globals.h
+ channel.h note_skel.h defines.h util.h globals.h
note.o: note.cpp note.h programs.h fixed.h envelope.h filter.h \
note_skel.h globals.h channel.h defines.h util.h
note_skel.o: note_skel.cpp note_skel.h programs.h fixed.h globals.h \
- channel.h note.h envelope.h filter.h defines.h util.h
+ channel.h defines.h util.h
parser.o: parser.cpp parser.h fixed.h programs.h defines.h globals.h \
- channel.h note.h envelope.h filter.h note_skel.h util.h readwave.h
-programs.o: programs.cpp programs.h fixed.h globals.h channel.h note.h \
- envelope.h filter.h note_skel.h defines.h util.h
+ channel.h note_skel.h util.h readwave.h
+programs.o: programs.cpp programs.h fixed.h globals.h channel.h \
+ note_skel.h defines.h util.h
readwave.o: readwave.cpp readwave.h programs.h fixed.h util.h
-util.o: util.cpp util.h programs.h fixed.h globals.h channel.h note.h \
- envelope.h filter.h note_skel.h defines.h
+util.o: util.cpp util.h programs.h fixed.h globals.h channel.h \
+ note_skel.h defines.h
diff --git a/synth/Makefile b/synth/Makefile
index 791e62a..7146da2 100644
--- a/synth/Makefile
+++ b/synth/Makefile
@@ -14,19 +14,19 @@ all: $(BIN)
$(BIN): $(OBJ)
- $(CXX) $(CFLAGS) -o synth $(OBJ) $(LDFLAGS)
+ $(CXX) $(CFLAGS) -o $(BIN) $(OBJ) $(LDFLAGS)
-dep: $(SRC)
+depend dep: $(SRC)
$(CC) -MM $(SRC) > $(DEPENDFILE)
-include $(DEPENDFILE)
%.o: %.cpp
- $(CXX) $(CXXFLAGS) -g -c $<
+ $(CXX) $(CXXFLAGS) -c $<
-.PHONY: clean
+.PHONY: clean dep depend
clean:
rm -f $(OBJ) $(BIN)
diff --git a/synth/OPTIMIZATIONS b/synth/OPTIMIZATIONS
index 2dd003f..b8bfe0d 100644
--- a/synth/OPTIMIZATIONS
+++ b/synth/OPTIMIZATIONS
@@ -1,7 +1,7 @@
Sinnlose Optimierungen
o if(foo.fm_strength!=0) ...: kein effekt, höchstens leichter anstieg!
- Mögliche Optimierungen
+Mögliche Optimierungen
o 10% filter ganz auf fixed_t umstellen?
o 5% envelope::get_level nur alle n frames arbeiten lassen, sonst cachen?
o 2% bei LFOs: bei jedem LFO-update die werte für env-max, freqfactor
@@ -11,8 +11,11 @@ Sinnlose Optimierungen
x 0% beim channel::get_sample: pro note immer mehrere samples auf
einmal holen (iterator braucht recht viel leistung)
wird von g++ automatisch wegoptimiert -> ok
+
+Kein negativer Einfluss auf die Performance:
+ o _virtual_ void Note::get_samples (mit time nicht erkennbar)
- Mögliche Bugs und ihre Lösung:
+Mögliche Bugs und ihre Lösung:
o frequenz wird nicht genau eingehalten: phase um
foo*WAVE_RES erhöhen, entsprechend wave[][bar] ändern.
ABER: im testfall um bis zu 15% langsamer