merge 12791:13034 from 3.0

git-svn-id: svn://localhost/ardour2/branches/3.0-SG@13105 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-08-02 00:04:51 +00:00
parent 576f73e032
commit 3bb7d368a8
57 changed files with 1595 additions and 280 deletions

View file

@ -24,6 +24,7 @@
#include <glibmm/fileutils.h>
#include <glibmm/miscutils.h>
#include <glibmm/thread.h>
#include "pbd/controllable_descriptor.h"
#include "pbd/error.h"
@ -284,6 +285,12 @@ GenericMidiControlProtocol::_send_feedback ()
in a single jack_midi_event_write then some bridges will only pass the
first on to ALSA.
*/
Glib::Mutex::Lock lm (controllables_lock, Glib::TRY_LOCK);
if (!lm.locked ()) {
return;
}
for (MIDIControllables::iterator r = controllables.begin(); r != controllables.end(); ++r) {
MIDI::byte* end = (*r)->write_feedback (buf, bsize);
if (end != buf) {
@ -778,10 +785,7 @@ GenericMidiControlProtocol::reset_controllables ()
* binding" (or "lazy binding") if/when any data arrives.
*/
boost::shared_ptr<Controllable> c = session->controllable_by_descriptor (desc);
if (c) {
existingBinding->set_controllable (c.get());
}
existingBinding->lookup_controllable ();
}
iter = next;