summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delta.cpp
diff options
context:
space:
mode:
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;
}