summaryrefslogtreecommitdiffstats
path: root/src/engine/PortImpl.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-02-09 20:49:36 +0000
committerDavid Robillard <d@drobilla.net>2010-02-09 20:49:36 +0000
commit9ec88674048c4d4d82383623b38c31927340143d (patch)
treef879bdad4e5d23ded70c3c4e679cc6001a962d28 /src/engine/PortImpl.cpp
parentadc6671c0a4c747c4bb30a13c51054e8a319a145 (diff)
downloadingen-9ec88674048c4d4d82383623b38c31927340143d.tar.gz
ingen-9ec88674048c4d4d82383623b38c31927340143d.tar.bz2
ingen-9ec88674048c4d4d82383623b38c31927340143d.zip
Fix port value broadcasting to work with all types.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2438 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/PortImpl.cpp')
-rw-r--r--src/engine/PortImpl.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/engine/PortImpl.cpp b/src/engine/PortImpl.cpp
index 5766e80f..6ee4c0e1 100644
--- a/src/engine/PortImpl.cpp
+++ b/src/engine/PortImpl.cpp
@@ -57,7 +57,7 @@ PortImpl::PortImpl(BufferFactory& bufs,
, _value(value)
, _broadcast(false)
, _set_by_user(false)
- , _last_broadcasted_value(_value.type() == Atom::FLOAT ? _value.get_float() : 0.0f) // default?
+ , _last_broadcasted_value(value)
, _context(Context::AUDIO)
, _buffers(new Array<BufferFactory::Ref>(poly))
, _prepared_buffers(NULL)
@@ -197,7 +197,7 @@ PortImpl::broadcast_value(Context& context, bool force)
break;
}
- if (val.type() == Atom::FLOAT && (force || val != _last_broadcasted_value)) {
+ if (val.is_valid() && (force || val != _last_broadcasted_value)) {
_last_broadcasted_value = val;
const Events::SendPortValue ev(context.engine(), context.start(), this, true, 0, val);
context.event_sink().write(sizeof(ev), &ev);