diff options
author | David Robillard <d@drobilla.net> | 2008-05-20 05:21:43 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-05-20 05:21:43 +0000 |
commit | 34093b89423e7d195972e68676c73853228d35f6 (patch) | |
tree | efaad4b4a3dd095f52cc90fd2af7db6c0dc33c40 /src/libs/engine/events/SetPortValueEvent.cpp | |
parent | 240f6f0c4e6f5d2770fd166f162df41906e2e230 (diff) | |
download | ingen-34093b89423e7d195972e68676c73853228d35f6.tar.gz ingen-34093b89423e7d195972e68676c73853228d35f6.tar.bz2 ingen-34093b89423e7d195972e68676c73853228d35f6.zip |
Fix direct midi in -> midi out connections in root patch with plugins present.
Fix Jack MIDI output.
Attempted fixes for LV2 UI MIDI event writing, but.. still not working?
git-svn-id: http://svn.drobilla.net/lad/ingen@1223 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/events/SetPortValueEvent.cpp')
-rw-r--r-- | src/libs/engine/events/SetPortValueEvent.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/libs/engine/events/SetPortValueEvent.cpp b/src/libs/engine/events/SetPortValueEvent.cpp index 1abec64b..dd8767d7 100644 --- a/src/libs/engine/events/SetPortValueEvent.cpp +++ b/src/libs/engine/events/SetPortValueEvent.cpp @@ -61,14 +61,14 @@ SetPortValueEvent::SetPortValueEvent(Engine& engine, const string& port_path, uint32_t data_size, const void* data) -: Event(engine, responder, timestamp), - _omni(false), - _voice_num(voice_num), - _port_path(port_path), - _data_size(data_size), - _data(malloc(data_size)), - _port(NULL), - _error(NO_ERROR) + : Event(engine, responder, timestamp) + , _omni(false) + , _voice_num(voice_num) + , _port_path(port_path) + , _data_size(data_size) + , _data(malloc(data_size)) + , _port(NULL) + , _error(NO_ERROR) { memcpy(_data, data, data_size); } @@ -112,7 +112,9 @@ SetPortValueEvent::execute(ProcessContext& context) if (ebuf) { const uint32_t frames = std::max((uint32_t)(_time - context.start()), ebuf->latest_frames()); // FIXME: type + ebuf->prepare_write(context.nframes()); ebuf->append(frames, 0, 0, _data_size, (const unsigned char*)_data); + _port->raise_set_by_user_flag(); return; } } |