summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delta.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-11 18:41:31 +0000
committerDavid Robillard <d@drobilla.net>2012-08-11 18:41:31 +0000
commit92600e0011488c66175dea483515daec560cd580 (patch)
tree0df02ad7dd90a59c4abd5c4641fced444a042f09 /src/server/events/Delta.cpp
parent885c186ed6427e7912faadfad7cc91692092efcb (diff)
downloadingen-92600e0011488c66175dea483515daec560cd580.tar.gz
ingen-92600e0011488c66175dea483515daec560cd580.tar.bz2
ingen-92600e0011488c66175dea483515daec560cd580.zip
Considerable DSP performance improvements (mixing overhead, and per-event MIDI overhead with Note/Trigger nodes).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4657 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/Delta.cpp')
-rw-r--r--src/server/events/Delta.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp
index b1408d7a..f5d5239a 100644
--- a/src/server/events/Delta.cpp
+++ b/src/server/events/Delta.cpp
@@ -206,8 +206,13 @@ Delta::pre_process()
}
} else if (key == uris.ingen_polyphony) {
if (value.type() == uris.forge.Int) {
- op = POLYPHONY;
- _patch->prepare_internal_poly(*_engine.buffer_factory(), value.get_int32());
+ if (value.get_int32() < 1 || value.get_int32() > 128) {
+ _status == INVALID_POLY;
+ } else {
+ op = POLYPHONY;
+ _patch->prepare_internal_poly(
+ *_engine.buffer_factory(), value.get_int32());
+ }
} else {
_status = BAD_VALUE_TYPE;
}